Web目录文件扫描程序(python)

news/2025/1/9 12:35:30/

使用方法

首先找个网站,我们可以看到URL中有php后缀名,说明该网站为php网站
在这里插入图片描述
输入参数:URL,文件类型,线程数,即可扫出目录文件
在这里插入图片描述
验证一下,访问成功
在这里插入图片描述

代码

环境
pycharm,python3.9
文件结构
在这里插入图片描述

dics文件夹下为各个后缀名的字典,网上可以下载,第二个参数即为选择要使用的字典
user_agent_list.py是随机生成user-agent的文件,用来绕过cc流量拦截,常见的user-agent也可在网上找

user_agent_list.py

# coding:utf-8import randomdef get_user_agent():user_agent_list=[{'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/18.17763'},{'User-Agent':'Mozilla / 5.0(WindowsNT6.1;WOW64) AppleWebKit / 535.1(KHTML, likeGecko) Chrome / 14.0.835.163Safari / 535.1'},{'User-Agent':'Mozilla / 5.0(WindowsNT10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 73.0.3683.103Safari / 537.36'},{'User-Agent':'Mozilla / 5.0(Macintosh;IntelMacOSX10_7_0) AppleWebKit / 535.11(KHTML, likeGecko) Chrome / 17.0.963.56Safari / 535.11'},{'User-Agent':'Mozilla / 5.0(WindowsNT6.1;WOW64;rv: 6.0) Gecko / 20100101Firefox / 6.0'},{'User-Agent':'Mozilla / 5.0(Macintosh;IntelMacOSX10.6;rv: 2.0.1) Gecko / 20100101'},{'User-Agent':'Mozilla / 5.0(Macintosh;U;IntelMacOSX10_6_8;en - us) AppleWebKit / 534.50(KHTML, likeGecko) Version / 5.1Safari / 534.50'},{'User-Agent':'Mozilla / 5.0(Windows;U;WindowsNT6.1;en - us) AppleWebKit / 534.50(KHTML, likeGecko) Version / 5.1Safari / 534.50'}]return random.choice(user_agent_list)

main.py

# coding:utf-8import requests
import queue
import sys
import threading
import user_agent_listclass DirScan(threading.Thread):def __init__(self, queue):threading.Thread.__init__(self)self._queue = queuedef run(self):while not self._queue.empty():url = self._queue.get()try:r = requests.get(url=url, headers=user_agent_list.get_user_agent(), timeout=8,)         #请求url并随机生成user-agent绕过ccif r.status_code == 200:                                                                #状态码为200时,请求成功,说明存在请求的目录文件,输出urlprint('[*]'+url)except Exception as e:passdef start(url, ext, count):q = queue.Queue()f = open('./dics/%s.txt'%ext, 'r')              #根据ext参数选择对应字典for i in f:q.put(url+i.rstrip('\n'))                   #拼接输入的url与字典中的测试路径组成要请求的目录文件threads = []thread_count = int(count)for i in range(thread_count):threads.append(DirScan(q))for t in threads:t.start()for t in threads:t.join()if __name__ == '__main__':if len(sys.argv) != 4:sys.exit(-1)else:start(sys.argv[1], sys.argv[2], sys.argv[3],)

后续将进行美化,敬请期待!


http://www.ppmy.cn/news/274209.html

相关文章

会计行业被计算机取代马云,会计从业取消 财务机器人上线 再不考下中级会计职称真的要被淘汰了...

自从会计从业资格考试暂停之后,政策频频变动,会计行业可谓风起云涌。紧接着,事务所推出财务机器人,马云无人超市开始运行,也是让财会人感到危机起伏。 这不,近日财会界又有两个大事件。一是会计从业考试取消…

sqli-lab代码审计

导入Seay并自动审计,一个一个进行查看 第一个: 这是一个文件写入的代码段,意思是将接收到的GET请求参数id的值拼接起来写入result.txt文件中,就是一个id的历史记录文件。因为没有对id参数进行过滤,所以认为有文件写入…

WAF原理及绕过(成功绕过某狗)

绕过截图 测试网站sqli-labs/Less-11,hackbar被拦截,burp成功绕过报错 原理解析 参考链接: https://blog.csdn.net/qq_36119192/article/details/90113167 https://www.freebuf.com/news/193659.html WAF绕过大致可分为三类:…

探寻宝藏-双进程DP(优化版)

题目 传说HMH大沙漠中有一个M*N迷宫,里面藏有许多宝物。某天,Dr.Kong找到了迷宫的地图,他发现迷宫内处处有宝物,最珍贵的宝物就藏在右下角,迷宫的进出口在左上角。当然,迷宫中的通路不是平坦的&#xff0c…

Linux服务器手动搭建(ubuntu)操作简单

1.安装apache sudo apt-get install apache2安装好之后测试一下,如果你在本地安装的apache那么直接在浏览器上访问:localhost或者127.0.0.1即可。如果是在服务器上安装的,输入服务器的ip地址。然后浏览器出现以下画面则apache2正常工作了&am…

正则表达式常用符号及python示例

代码说明.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束\字符转义*重复零次或更多次重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次[]范围…

同源策略介绍

同源策略 同源策略限制了不同源之间如何进行资源交互,是用于隔离潜在恶意文件的重要安全机制。 是否同源由URL决定,URL由协议、域名、端口和路径组成,如果两个URL的协议、域名和端口相同,则表示他们同源。 1.file域的同源策略 …

Apache解析漏洞

Apache解析漏洞主要是因为Apache默认一个文件可以有多个用.分割得后缀,当最右边的后缀无法识别(mime.types文件中的为合法后缀)则继续向左看,直到碰到合法后缀才进行解析(以最后一个合法后缀为准) 1. 如图…