Sqli-labs-Less-12
#手工注入
post传参了
根据题目看,像一个登录页面,尝试使用布尔型盲注测试能否登录网站
1. Username输入a' 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
根据列数使用union联合查询测试显示位:
输入:-admin") union select 1,2--
发现有两个显示为,进行利用,爆出当前数据库名称及当前用户名
成功利用漏洞!!!
#自动化注入-SQLmap工具注入
SQLmap用户手册:用法 - sqlmap 用户手册
由于这题是post请求,所以先使用burp进行抓包,然后将数据包存入txt文件中打包 用-r 选择目标txt文件
Python sqlmap.py -r data.txt --current-db --current-user
爆出当前用户名及当前数据库名称