大家好,在本文中,我们将为大家介绍如何为SQLMAP设置Web-GUI界面。这里的Web-GUI,是指借助于浏览器,通过HTTP/HTTPS服务为我们的工具提供的图形用户界面。
在对含有MySQL安全漏洞的网站进行渗透测试的时候,我们经常会用到SQLMAP工具。实际上,只要涉及SQL注入测试,无论是基于错误消息的SQL注入,还是SQL盲注,sqlmap都是最强有力的工具之一。对于一点,是人尽皆知的;但是,很少有人知道,SQLMap还提供了一个用Python编写的API,供大家利用该API来搭建一个图形用户界面的前端,来实现所有命令行界面下的功能。
实际上,Hood3Drob1n(https://github.com/hood3Drob1n/sqlmap-web-gui)已经为sqlmap创建了一个基于PHP的前端,所以,我们只需在Kali Linux中进行相应的设置就可以了,而不用重复发明轮子。并且,该前端可以与所有的Linux发行版相兼容。
我们开始吧。
克隆github存储库
首先,我们需要克隆Hood3Drob1n的存储库。为此,可以使用git clone命令,并将名为sqlmap的文件夹放到“/var/www/html”目录中。
git clone https://github.com/Hood3dRob1n/SQLMAP-Web-GUI
cd SQLMAP-Web-GUI
mv sqlmap ..
cd ..
chmod 777 sqlmap
定位并托管API
下一步是启动Apache服务器。如果还没有安装Apache的话,可以使用apt-get install apache2 命令进行安装。
启动Apache服务器之后,还需要运行sqlmapapi。
由于默认文件夹会因Linux的发行版而异,因此,我们需要使用locate命令来定位名为“sqlmapi.py”的文件。
我们需要使用以下命令来运行该API:
python usr/share/sqlmapapi.py -s
启动前端
完成上述操作之后,请打开localhost/sqlmap,这时将看到:
瞧!说明配置成功了,接下来,我们就可以注入SQL查询了。
渗透测试
这里有6个选项卡,分别是:BASIC:该选项卡用来设置一个URL,以对其进行SQL注入渗透测试。当然,我们也可以设置HTTP方法。这里还提供了其他选项,如POST、PUT、HEAD等。
REQUEST:在这里,我们可以使用可选参数来修改请求,这些参数包括如时间延迟、请求之间的超时、重试连接次数、用户代理等。
INJECTION & TECHNIQUE:用于选择注入类型和技术,如基于布尔值的注入方法、基于错误消息的注入方法等;此外,该选项卡还提供了许多其他选项,如使用DBMS十六进制函数进行数据检索、数据库类型(MySQL或MSSQL)等。
DETECTION:将自定义字符串设为匹配项。
ENUMERATION:指出要检索哪些数据,如转储当前用户和当前数据库中的数据。当然,如果您愿意的话,也可以转储所有用户的数据。
ACCESS:访问参数。如果对这些参数的作用不是很清楚的话,最好保留其默认值。
我们将一步一步地设置这些参数。为了防止造成实际的破坏,这里将使用另一台IP地址为192.168.1.105的PC作为SQL注入测试的模拟对象,称为SQL-Dhakkan。关于该实验室的具体配置方法,请参阅这里!
当我们成功搭建好实验室之后,将看到:
现在,我们要完成的第1课的实验任务,这里的id = 1,要测试的是一个基于错误消息的SQLi漏洞。因此,让我们将该URL复制到具有web-gui的sqlmap中。
在这里,我们强烈建议读者先熟悉一下HTTP方法相关知识,并参阅讲解如何手动攻击SQLi的文章,因为这样有助于理解这里的相关选项。但是如果你想继续学习本教程,也未尝不可。
转到Enumeration选项卡,并选择要测试的方法。
之后,设置要进行的SQLi的类型。
然后,开始扫描!
为简单起见,这里仅进行了一个非常基本的扫描,扫描结果给出了当前的数据库和主机名,当然大家可以进行其他测试。
小结
如果为sqlmap搭建基于Web的GUI的话,就能极大提高该软件的易用性——再也不用记住各种冗长的命令了,相反,只要进行执行相关的点选操作就能搞定了!
另外,基于Web的GUI对您来说只是一个Web应用程序:一个运行SQLMap的Web应用程序,难道您不觉得很酷吗?
希望读者喜欢这个小教程。
本文由白帽汇整理并翻译,不代表白帽汇任何观点和立场
白帽汇从事信息安全,专注于安全大数据、企业威胁情报。
公司产品:FOFA-网络空间安全搜索引擎、FOEYE-网络空间检索系统、NOSEC-安全讯息平台。
为您提供:网络空间测绘、企业资产收集、企业威胁情报、应急响应服务。