使用 Pyinstaller 打包 sqlmap

admin 2022年1月25日00:55:39评论468 views字数 2464阅读8分12秒阅读模式
使用 Pyinstaller 打包 sqlmap

△△△点击上方“蓝字”关注我们了解更多精彩




0x00 Preface 


最近总遇到在客户电脑上做测试的需要,感觉需要Sqlmap来辅助自动化的注入测试,但是sqlmap是依赖于python环境运行的,需要打包成独立可运行的exe文件,才能在客户机上快速运行。

搜索发现最近打包版本是CSDN上的2018年的版本sqlmap1.2,这不是我一个强迫症所能接受的。

只能趁着下班时间进行研究,为了让有需要的朋友学习到,在此分享一下研究成果。

只能说不是很复杂,但是需要细心发现和处理。



0x01 Sqlmap介绍与下载
sqlmap 是用来自动化的检测、利用SQL注入漏洞,获取数据库服务器的权限的开源sql注入测试工具。针对不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件,甚至可以通过带外数据连接的方式执行操作系统命令。

sqlmap可以运行在 Python 2.6-3.x版本的任何平台上,本文使用python3运行及打包。

项目地址:
https://github.com/sqlmapproject/sqlmap
#测试版本 sqlmap 1.5.6
git克隆:
git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev




0x02 PyInstaller介绍与安装
PyInstaller 可以py脚本打包成可执行文件的工具,使用其可以将Python程序生成可直接运行的程序,这个程序就可以在Windows或MacOS平台上直接运行。

PyInstaller安装:

pip install pyinstaller #使用pip3安装#安装成功之后,会在Scripts目录下会增加pyinstaller.exe程序#PyInstaller是跨平台的,在不同的平台上使用方法是一样的pyinstaller --version #测试版本 pyinstaller 4.2
参考: Python PyInstaller安装和使用教程(详解版)
http://c.biancheng.net/view/2690.html
安装完成后,可以尝试打包一个hellword程序进行测试。
如果存在问题可自行百度修复。
hello.pyprint('HELLO WORLD!')

Pytinstaller 打包需求参数:
-F,-onefile  产生单个的可执行文件-D,--onedir  产生一个包含多个文件的目录作为可执行程序-w,--windowed,--noconsolc  指定程序运行时不显示命令行窗口(仅对 Windows 有效)-p DIR,--path=DIR  设置 Python 导入模块的路径(和设置 PYTHONPATH 环境变量的作用相似)--hidden-import 导入没有被加载的模块




0x03 SQLMAP打包记录
当能正常打包Python脚本时,可进行尝试sqlmap的打包制作。

直接进行打包:
pyinstaller -F sqlmap.py
no such fileTemp_MEI106802thirdpartyidentywafdata.json
解决办法:
解决参考:新建hook-thirdparty.py文件,写入内容如下:from PyInstaller.utils.hooks import collect_data_filesdatas = collect_data_files("thirdparty")保存后将此py文件放入Pyinstaller下的hook的文件夹中
pyinstaller问题解决:no such fileTemp_MEI106802xxxxxyyyyhttps://blog.csdn.net/u012254599/article/details/108981706

报错记录:
[!] wrong installation detected (missing modules). Visit 'https://github.com/sqlmapproject/sqlmap/#installation' for further details
解决办法:
pyinstaller -F -p data/;lib/;extra/;plugins/;tamper/;thirdparty/; sqlmap.py --hidden-import lib.utils.versioncheck   #成功,但会会提示[WinError 3] 系统找不到指定的路径。
报错记录:
找不到路径:'sqlmap\dist\lib\core\settings.py''sqlmap\dist\data\txt\common-columns.txt'
解决办法:
将sqlmap下的lib目录与data目录移动至distsqlmap.exe下同级目录下。
由于不知道到底有多少依赖,建议将sqlmap下所有目录都移动到sqlmap.exe下。(不包括 pycache、build、dist目录)

其他打包方式:

解决好以上bug之后,还可以使用-D参数进行打包,大小基本没有区别。

pyinstaller -D sqlmap.py  #21Mpyinstaller -F sqlmap.py  #21M



0x04 测试记录
使用 Pyinstaller 打包 sqlmap

使用 Pyinstaller 打包 sqlmap





0x05 Summary 总结
本次只进行了简单的运行测试。如果您发现其他问题,可以联系我一起解决。

NOVASEC公众号后台回复【共享】,获取最新版本sqlmap在Win10x86下打包的可执行文件,适用于多种windows系统运行。

END



如您有任何投稿、问题、建议、需求、合作、后台留言NOVASEC公众号!

使用 Pyinstaller 打包 sqlmap

或添加NOVASEC-MOYU 以便于及时回复。

使用 Pyinstaller 打包 sqlmap


感谢大哥们的对NOVASEC的支持点赞和关注

加入我们与萌新一起成长吧!


本团队任何技术及文件仅用于学习分享,请勿用于任何违法活动,感谢大家的支持!

本文始发于微信公众号(NOVASEC):使用 Pyinstaller 打包 sqlmap

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年1月25日00:55:39
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   使用 Pyinstaller 打包 sqlmaphttp://cn-sec.com/archives/494244.html

发表评论

匿名网友 填写信息