![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=1739282999-ym5B55WxydK02GhJnyUrMJO0yRNWJowX-0-eddf3539df66879c11c0a0863a91d1ef)
图1-11 Sqlmap运行界面
Sqlmap提供了强大的命令行功能,而且在Burp中也存在Sqlmap的插件。下面就来介绍一些基本的参数及其作用(见表1-5)。
表1-5 Sqlmap的常用参数
![](https://epubservercos.yuewen.com/44B12E/17517094306694506/epubprivate/OEBPS/Images/b1-5.jpg?sign=1739282999-tKF3ZcCKWK1ja4VWk9ejYnHCRzbSsTZ1-0-e92f2c122128d90feb6c8be997a66a5a)
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=1739282999-YvWtkkbFbtUkSyzdL42Bz1bFRYJKds6X-0-98fb8c280b4ccb65039f8c0be7f196da)
此外,Sqlmap还存在sqlmapapi.py,可以方便地通过API进行调度。更多的Sqlmap指令可在官方文档中找到,文档地址为:https://github.com/sqlmapproject/sqlmap/wiki。