对dirsearch的小改造

在这里插入图片描述

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获取下载链接
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值