sqlmappost是一款专业强大的渗透测试工具,可以用于检测和利用SQL注入漏洞,是SQLmap的一个二次开发版本,其中包括了一些额外的功能。sqlmappost的作用类似于SQLmap,可以在渗透测试中发现可利用的SQL漏洞,同时它还可以在突破防御系统时提供更多的功能,比如提升用户权限。
一、介绍sqlmappost
sqlmappost是一个较为全面的工具,其扩展了SQLmap的功能。相比较于SQLmap,sqlmappost更加灵活和方便。sqlmappost利用其强大的所谓“姿势”可以轻松地通过后端数据库发起攻击和执行诸如命令执行、文件上传、覆盖文件等类型的操作。
sqlmappost为SQLmap提供扩展的插件,这些插件可以作为expmap.py的形式来运行。sqlmappost主要的特点包括了如下几点:
1. 命令执行:这个功能的使用需要一个pre或者tamper,需要先通过用户帐户获得与web服务器或其他目标服务器的交互权限。
2. 解压文件:可以直接将压缩文件上传到指定的目录并解压缩。
3. 监控文件:通过使用inotifywait,可以在操作系统中监视文件/文件夹的变化并在变化时执行指定的命令,更加方便、快捷。
二、sqlmappost的使用
sqlmappost的使用十分简单,只需要运行expmap.py文件并带上完整完整的SQLmap参数即可。以下展示了一些示例代码:
python ./expmap.py \ --dbms "MySQL" \ --batch \ --tamper "space2comment" \ --tamper "base64encode" \ --post "http://example.com/index.php?id=1" \ --data "name=foobar&status=test"
以上代码展示了通过sqlmappost进行简单的注入攻击。其中:
--dbms 参数指定要攻击的DBMS类型, MySQL、Oracle等。
--batch 参数指定以静默模式执行操作,只输出需要的结果。
--tamper 参数指定要使用的tamper脚本。
--post/--get 参数指定使用的提交方式。
--data 参数指定要提交的数据,需要使用--post参数。
三、sqlmappost的优点
1. 支持各种交互式后台: sqlmappost既可以与命令行交互,也可以用作库来构建交互式应用程序。
2. 事后小清新:可以自定义一个后文信息脚本,当一个漏洞被发现并利用时,sqlmappost会自动运行相关脚本来清理信息。这样做可以提高攻击所需的隐秘性。
3. 扩展性强:sqlmappost为插件设置的API可以处理任何SQLmap的请求和响应。此外,SQLmap的一些python模块可以被复用,因此可以作为sqlmappost的前端。
4. 开发者社区活跃:sqlmappost的一些代码库在github和gitlab上都有自己的版本库,并且有者一群来自全球的开发者为其贡献。
四、小结
sqlmappost作为SQLmap的二次开发版本,提供了更多的攻击方式和插件扩展。它是一款非常优秀的渗透测试工具,可以帮助安全攻防人员更加全面深入地进行渗透测试,提高安全性防范的效果。