• 下载地址
  • 推荐理由
  • 建议
  • 首页
  • 渗透
  • 折腾
  • 转载
  • 关于Me
  • 榜上有名
  • 文章存档
  • 友情链接

不妨看看这里

会员面板

Base64 Image

目录扫描探测脚本之 dirsearch

  • Mr.Wu
  • 2019-08-19
  • 0
用了好多年御剑了,越来越感觉御剑的乏力; 在渗透过程中,本机电脑对目标进行手工检测,但总因为御剑触发防火墙被拉IP,虽然有代理IP,但是总感觉不爽,另外即使没有防火墙,因为字典的日积月累导致御剑扫描速度真的越来越差劲,很少会跑完过,基本都是跑出来几条信息就关掉了,而且我电脑配置也低,用御剑老是卡死,总而言之言而总之,御剑的不更新已经被时代淘汰了。。。 很久前就想把御剑换掉,但是一直没遇到合适的,恰巧昨天看文章让我看到个目录扫描脚本还不错,测试了下,感觉很棒,于是有了本文。
参数列表: -h, --help 查看帮助 -u URL, --url=URL 设置url -L URLLIST, --url-list=URLLIST 设置url列表 -e EXTENSIONS, --extensions=EXTENSIONS 网站脚本类型 -w WORDLIST, --wordlist=WORDLIST 设置字典 -l, --lowercase 小写 -f, --force-extensions 强制扩展字典里的每个词条 -s DELAY, --delay=DELAY 设置请求之间的延时 -r, --recursive Bruteforce recursively 递归地扫描 --scan-subdir=SCANSUBDIRS, --scan-subdirs=SCANSUBDIRS 扫描给定的url的子目录(用逗号隔开) --exclude-subdir=EXCLUDESUBDIRS, --exclude-subdirs=EXCLUDESUBDIRS 在递归过程中排除指定的子目录扫描(用逗号隔开) -t THREADSCOUNT, --threads=THREADSCOUNT 设置扫描线程 -x EXCLUDESTATUSCODES, --exclude-status=EXCLUDESTATUSCODES 排除指定的网站状态码(用逗号隔开) -c COOKIE, --cookie=COOKIE 设置cookie --ua=USERAGENT, --user-agent=USERAGENT 设置用户代理 -F, --follow-redirects 跟随地址重定向扫描 -H HEADERS, --header=HEADERS 设置请求头 --random-agents, --random-user-agents 设置随机代理 --timeout=TIMEOUT 设置超时时间 --ip=IP 设置代理IP地址 --proxy=HTTPPROXY, --http-proxy=HTTPPROXY 设置http代理。例如127.0.0.1:8080 --max-retries=MAXRETRIES 设置最大的重试次数 -b, --request-by-hostname 通过主机名请求速度,默认通过IP --simple-report=SIMPLEOUTPUTFILE 保存结果,发现的路径 --plain-text-report=PLAINTEXTOUTPUTFILE 保存结果,发现的路径和状态码 --json-report=JSONOUTPUTFILE 以json格式保存结果

下载地址

git clone https://github.com/maurosoria/dirsearch

推荐理由

  1. 速度快,不会出现什么卡死跑不完字典的情况。
  2. 该有的功能基本都有,不过如果能加上一个中断继续的功能就更完美了。
  3. 不用放本地,不会再影响自己电脑的卡顿,直接放阿里云的机子上面跑。(听说阿里云机子扫阿里云不会被墙!)
  4. 其他的不多说了,自己测试才知道是否适合自己,反正我感觉很 good。

建议

/db/dicc.txt 文件是工具自带的字典,虽然工具可以指定自定义字典,但是多个字典,每个字典指定一次扫一次不累么?所以我将所有的字典,比如御剑以脚本语言区分的字典,我全部合并为一个,然后去掉重复,在替换掉 /db/dicc.txt 文件,就能免除每次指定自己字典的尴尬麻烦。 虽然全部合并一个会大大的影响扫描速度,比如 PHP 的站点,却非要去扫一堆 aspx\asp\jsp 的字典有些尴尬,但是不可否认,速度真的很快,反正比我之前用御剑好太多了,所以可以忽略掉这点时间。 这里附上 2 条字典 Linux 下整理字典命令:
type *.txt > /root/1.txt     //合并当前目录下的所有 txt 文件内容到 1.txt

cat 1.txt|sort|uniq > 2.txt    //去掉 1.txt 的重复内容并写入到 2.txt
另外,不要在意我图片中的 scan 命令,那是因为我嫌麻烦,改了个短的超链接 还有就是,这个工具需要 python 3.x 版本才行,如果你正好装了 sqlmap 那么 python 版本或许会起冲突。 sqlmap 明明说支持 3.x 但是我用不了,所以不得不装了2个版本的 python 最后在补充附赠个小脚本: 1.发现有些字典开头并没有 "/" 这也就导致如果出现2行一样的内容,一行有 "/" 开头,一行没有,那么去重复命令将不会去掉这样的。 2.另外不知道你们发现没有,反正我有遇到过,或许是保存时候没注意吧,中文报错编码出问题导致字典中有许多乱码,比如: 遇到上面2个问题,就需要下面这个小脚本了(可能需要安装 chardet 包):
#coding=utf-8
import chardet
def luanma(word):
	f_charInfo = chardet.detect(word)
	if(f_charInfo['encoding'] == 'utf-8'):
		return True
	return False

f=open('1.txt')
lines=f.readlines()
list=[]
for rs in lines:
	if(rs.startswith('/')):
		newWorld = rs
	else:
		newWorld = '/' + rs
	if(not (luanma(newWorld))):
		list.append(newWorld)
f.close()
output=open('output.txt','a')
for word in list:
	output.write(word)
output.close()
© 2025 MrWu
Theme by Wing-child
  • {{ item.name }}
  • {{ item.name }}