这是我去年2021年写的文章,如今这款开源安全测试工具已经更新了很多新功能,但漏洞扫描这块基本上还可以参考我这篇文章:
漏洞扫描工具,核心就是扫描器,而扫描器的设计思想是:灵活,易扩展,易修改,灵活的意思就是可单独执行专项漏洞的扫描,也可以批量执行集成的所有漏洞探测模块;易扩展的意思就是,新的漏洞检测模块可清晰简单地集成进扫描器;易修改,对各个漏洞扫描模块可根据特殊情况修改探测逻辑 。以下我们以网上一款开源的扫描工具来讲解,当然部署过程和使用中可能会处处是坑,只要一一解决就是:
扫描器的源码开源工具源码地址:
https://gitee.com/samllpig/SafeTool-51testing
工具的详细安装教程:
http://quan.51testing.com/pcQuan/lecture/117
文章插图
软件架构图
安装部署
- 安装 Python/ target=_blank class=infotextkey>Python 3.6 以上环境(如果怕麻烦,就安装3.6,因为安装3.8等高版本还需要调整一点代码兼容性问题,但问题不多)
- 安装 redis
- 安装 wxPython==4.0.7
pip install wxPython==4.0.7
#如果安装失败,多执行几编,主要是因为网络超时导致安装失败#也可以直接去下载相关模块包,如下载
wxPython-4.0.7-cp36-cp36m-win_amd64.whl,到官网下载,一定要下载和python版本匹配的包
#通过安装包来安装指定模块
pip install wxPython-4.0.7-cp36-cp36m-win_amd64.whl
#安装过程如果提示缺什么包,就继续去下载什么包也可以安装更高版本的,比如wxPython==4.1.1
- 安装openssl
在本地安装后,还需要将库文件拷贝到python目录下,这样才能识别,如:
1、将openssl安装目录下的:C:Program FilesOpenSSL-Win64lib 拷贝到 D:Pythonlibs
2、将openssl安装目录下的:C:Program FilesOpenSSL-Win64include 拷贝到 d:Pythoninclude
- 检查requirements.txt
- pip安装模块包
pip install -r requirements.txt# 如果安装失败,多执行几编,主要是因为网络超时导致安装失败,也可以到官网找模块包下载后来安装# 如果安装提示版本问题,就需要替换版本,一般Python3.8会遇到
- 按以下顺序启动服务
启动服务端 myproxy.bat
启动客户端 python consoleMain.py
异常修改安装部署完后,我们可能还会遇到一些问题,这和代码当初的开发环境不一致有关 。
1、关于Python3.8和3.6的兼容
Python3.8已经移出了time.clock()方法,但这份源码里还是用到了,所以如果遇到相关报错,需要自己手动修改,比如获取系统时间,可以改为使用time.perf_counter()
2、路径带空格的问题
这份代码这方面没考虑周全,如果部署的路径带空格,就会报路径错误,比如“D:Program Files”路径,我们要么就不要部署在带空格的路径下,要么直接改他的代码,比如:
setUp = "python " + path#可以将path路径用引号全圈起来setUp = "python '" + path + "'"
3、启动时报wt.exe找不到错误我也不知道wt.exe的由来,这个错识有时候不影响启动,因为启动文件consoleMain.py做了相关判断处理,但为了彻底不调用wt.exe,我们也可把consoleMain.py当中的相关代码直接改了:
# wtSetUp = "wt.exe python " + path# 把以上调用改为直接调PowerShell.exewtSetUp = "start cmd /k PowerShell.exe python '" + path + "'"
这么改后,还有个好处,就是遇到代码异常,不会立即关闭cmd窗口,这样就能看到以下具体的报错,对于调试和分析代码错误是有帮助的 。4、中文报utf-8编码错误
【如何自己开发漏洞扫描工具】比如在web扫描时执行exec audit,报错:
文章插图
通过报错,我们可以看到utf-8编码错误,而且报错的是request.py的resp.read().decode方法,我们把编码改为如下(具体改成什么编码,自己可以试试):
self.content = resp.read().decode('gbk')
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 小孩喜欢数学 成绩好 如何培养?数学是特长吗
- PHP开发框架CakePHP 4.4.5 发布
- 职场pua|职场PUA,是如何套路你的?
- |想要实现时间自由吗?那就先让自己成为一架“全天候战斗机”吧
- 刮目相看|如何让领导对你刮目相看?
- |职场上,面子不是所谓的客气,而是让自己有了自信,让自己成功
- 月食是如何产生的? 月食形成的原因
- 军棋的规则和走法 军棋的下法
- xd股票如何交易 xd股票是什么意思
- |职场上,这三件事千万别做,否则一定要给自己带来麻烦