![CTF特训营:技术详解、解题方法与竞赛技巧](https://wfqqreader-1252317822.image.myqcloud.com/cover/154/32436154/b_32436154.jpg)
1.2 Sqlmap
Sqlmap是一款开源的渗透测试工具,其可以自动检测并利用SQL注入漏洞。Sqlmap配备了强大的检测引擎,在CTF的Web类型的题目中经常会遇到注入类型的题目(见2.2节)。如果题目比较简单,甚至可以直接用Sqlmap得到flag。
但是,一般的题目还是需要进行绕过操作的,比如绕过空格或关键字检测等,这时候则可以调用Sqlmap的一些Tamper,或者自行编写Tamper来进行绕过,从而得到flag。
Sqlmap使用Python开发,常见的Linux发行版本都自带了Python环境,但若想要在Windows系统下使用Sqlmap,则需要自行安装Python环境。在GitHub中下载源码包(https://github.com/sqlmapproject/sqlmap),解压后便可以使用了,正确安装环境并部署源码包之后,在命令行下输入python sqlmap.py后会显示类似图1-11所示的界面。
![](https://epubservercos.yuewen.com/44B12E/17517094306694506/epubprivate/OEBPS/Images/t1-11.jpg?sign=1738970686-4SocVo0bBpcaIsGH6Y0Vkg9w19wrmara-0-e05cbfb7efc9a87f7d09319b9a035be7)
图1-11 Sqlmap运行界面
Sqlmap提供了强大的命令行功能,而且在Burp中也存在Sqlmap的插件。下面就来介绍一些基本的参数及其作用(见表1-5)。
表1-5 Sqlmap的常用参数
![](https://epubservercos.yuewen.com/44B12E/17517094306694506/epubprivate/OEBPS/Images/b1-5.jpg?sign=1738970686-8X1oKiPN0IfRSB1FTECX9pCs8pY4HaAD-0-b30b080a431f293e5b4885d0b365c131)
Tamper通常用来绕过一些过滤或者WAF,此处将为大家列举一些常见Tamper的功能(见表1-6)。这些Tamper脚本存放在Sqlmap目录下的tamper目录中,大家可以通过这些Tamper的代码学习一些绕过技巧(后面的章节也会介绍一些常见的绕过方法),或者是自己尝试编写有针对性的Tamper。
表1-6 常用Tamper及作用
![](https://epubservercos.yuewen.com/44B12E/17517094306694506/epubprivate/OEBPS/Images/b1-6.jpg?sign=1738970686-vVeOzmxZzVg8YCavxy1iAitoF3h5HXGj-0-5df9270c3769552341b15d94ea80e960)
此外,Sqlmap还存在sqlmapapi.py,可以方便地通过API进行调度。更多的Sqlmap指令可在官方文档中找到,文档地址为:https://github.com/sqlmapproject/sqlmap/wiki。