一、特点:
1.1、特征:
登陆数据包中的特殊字符
1.2、情景:
登陆时候POST下面提交的数据包
对应的界面
1.3、考虑:
1、分析每个参数的含义(可能有意象不到的收获)
2、测试是都有注入点
二、分析
2.1、分析参数
syslogin这个参数一看就不寻常sys加上了login(就可能是一个登陆的类型)
将值改为1后
登陆框变成了超级管理员登陆
(常见的都是通过后台登陆来分离开的,这个就是用参数来区分用户)
这里就该跑弱口令了
2.2、寻找注入点
更改syslogin后面的值的时候
属于是无回显的,首先想到的就是延时注入
看见了'4'
肯定首先想到闭合+注释
但是怎么可能像靶场一样简单
500,服务器报错,也就是服务器检测出了错误,导致数据未被带入到数据库,在服务器就被拦截了
现在判断一下是哪些字符引起的服务器报错
发现是'引起的报错
且+会被过滤掉
把一些关键词都带进去,进行测试排除过滤
三:测试
3.1、SQLmap
老演员要登场了
将文件放到sqlmap目录下,然后跑sqlmap
(使用的自带的单引号绕过的脚本apostrophemask.py)
python sqlmap.py -r 1.txt --tamper apostrophemask.py -level 5 -risk 2 -random-agent -p "syslogin"
属于是服务器过不去了
后面我又使用了很多很多符合情景的sqlmap自带的脚本一起跑
……