Sqli-labs-Less-13
#手工注入
post传参了
根据题目看,像一个登录页面,尝试使用布尔型盲注测试能否登录网站
1. Username输入a' 测试是否会有报错,burp抓包
报错:syntax to use near ''a'') and password=('') LIMIT 0,1' at line 1
分析可知,username和password 的条件判断在一个where语句中;整条语句使用单引号加小括号 ") 闭合。
所以,payload分析输入一个username值然后使用单引号加小括号 ') 闭合前面的语句,然后为了使where语句条件成立,加上一个or 1=1 ,-- 注释语句使后面的语句直接注释password不用判断。只需填写username。
即payload:
a') or 1=1 --
成功登录!!!
根据返回值发现,如果登录成功将显示一个成功的图片。
所以联合查询尝试漏洞利用,使用order by 测试列数 当值=1时正常回显当值为3时报错显示,所以列数为2,但是没有显示位,所以尝试报错注入
报错注入payload为:
a') and updatexml(1,concat(1,(select user())),3)--
爆出当前用户名!!!
成功利用漏洞!!!
#自动化注入-SQLmap工具注入
SQLmap用户手册:用法 - sqlmap 用户手册
由于这题是post请求,所以先使用burp进行抓包,然后将数据包存入txt文件中打包 用-r 选择目标txt文件
python sqlmap.py -r data.txt -current-db
爆出当前数据库名称