暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

对dirsearch的一些小改造

安全小工坊 2021-11-24
1071

dirsearch的问题

在一些存在默认页面的网站,dirsearch会扫出来大量无效地址,会导致输出的结果非常大,如果批量扫描大量网站时,不但会占用大量磁盘空间,而且在查看结果时也会造成大量干扰。

dirsearch扫描部分结果如下:

改造

根据上面结果可以发现,扫描出来的页面长度是都是一样的,所以可以将这个作为判断条件进行自动过滤。

在dirsearch扫描到该路径时,标记当前页面的页面长度并计数,当该长度超过一定阈值时,再次扫描出来该长度的路径时直接忽略。

分析代码,保存结果的主要就是controller.py
中的match_callback
函数,修改后代码如下:

    # Callback for found paths
def match_callback(self, path):
self.index += 1


for status in self.arguments.skip_on_status:
if path.status == status:
self.status_skip = status
return


if not self.valid(path):
del path
return


fuzz_length = int(path.length / 10 * 10) # 允许页面长度误差在10以内
if fuzz_length not in self.length_counter:
self.length_counter[fuzz_length] = 1
else:
self.length_counter[fuzz_length] += 1
if self.length_counter[fuzz_length] > 10: #当统计数量大于10时 跳过该结果
return


added_to_queue = False


if (
any([self.arguments.recursive, self.deep_recursive, self.force_recursive])
) and (
not self.recursion_status_codes or path.status in self.recursion_status_codes
):
if path.redirect:
added_to_queue = self.add_redirect_directory(path)
else:
added_to_queue = self.add_directory(path.path)


self.output.status_report(
path.path, path.response, self.arguments.full_url, added_to_queue
)


if self.arguments.replay_proxy:
self.requester.request(path.path, proxy=self.arguments.replay_proxy)


new_path = self.current_directory + path.path


self.report.add_result(new_path, path.status, path.response)
self.report_manager.update_report(self.report)


del path





改造后的扫描结果如下:

工具获取

关注公众号,回复dirsearch
获取下载链接。

扫描下方二维码

关注我们!


文章转载自安全小工坊,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论