dirsearch扫描速度慢的bug修复

First Post:

Last Update:

Word Count:
583

Read Time:
2 min

dirsearch扫描速度慢的bug修复

dirsearch这个目录扫描工具基本上渗透测试中必备的工具之一了,不过前些天在新装的虚拟机里面直接git clone了整个代码仓库,在进行测试的时候发现扫描速度不能说稍有逊色吧,也可以说是聊胜于无,但是当时以为是可歌可泣的校园网的锅,就没有想太多,直到今天在本机上下载了最新版,还是运行的极其缓慢,而且不是网络的问题

爆破速度大概是 3/s 基本上没超过 10

下载最新的releas版4.3.0,(已经是去年10月5号的老代码力),测试的时候反而速度极其须臾(200/s左右)

再测试很久很久之前下载的4.2.2版本,也是须臾

这是什么情况?

稍微在网上搜了搜也没见到有人问相关的问题,去GitHub上看了看issue,在这里发现有人遇到了类似的问题,在其中一个issue里提到,在某个版本更新中,项目合作者删除了一行代码,导致了速率下降和CPU占用高,在这个issue里有人说恢复被删除的代码就好了,而开发者并没有进行回应

去看了看issue里提到的那个commit,确实删除了那一行代码,去掉了一个sleep函数

所以我们只需要改回去应该就好了

在下载下来的项目文件中:/lib/controller/controller.py在550行左右的代码更改一下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
def process(self):
while True:
try:
while not self.fuzzer.is_finished():
if self.is_timed_out():
raise SkipTargetInterrupt(
"Runtime exceeded the maximum set by the user"
)
time.sleep(REFRESH_RATE) #在这里增加一行代码,其中REFRESH_RATE的值是0.75
#REFRESH_RATE的值是在/lib/core/settings.py中定义的

break

except KeyboardInterrupt:
self.handle_pause()

之后进行测试,即使是clone下来的最新代码,也能跑到最大速度,看了看任务管理器,CPU占用也少了不少

本来想比较一下文件看看问题究竟出在了哪里,结果一对比发现了十万甚至九万个diff,懒得找了,不知道开放人员为何要这样更改,希望之后的稳定版能修复这个bug吧