用了好多年御剑了,越来越感觉御剑的乏力; 在渗透过程中,本机电脑对目标进行手工检测,但总因为御剑触发防火墙被拉IP,虽然有代理IP,但是总感觉不爽,另外即使没有防火墙,因为字典的日积月累导致御剑扫描速度真的越来越差劲,很少会跑完过,基本都是跑出来几条信息就关掉了,而且我电脑配置也低,用御剑老是卡死,总而言之言而总之,御剑的不更新已经被时代淘汰了。。。 很久前就想把御剑换掉,但是一直没遇到合适的,恰巧昨天看文章让我看到个目录扫描脚本还不错,测试了下,感觉很棒,于是有了本文。

下载地址
git clone https://github.com/maurosoria/dirsearch推荐理由
- 速度快,不会出现什么卡死跑不完字典的情况。
- 该有的功能基本都有,不过如果能加上一个中断继续的功能就更完美了。
- 不用放本地,不会再影响自己电脑的卡顿,直接放阿里云的机子上面跑。(听说阿里云机子扫阿里云不会被墙!)
- 其他的不多说了,自己测试才知道是否适合自己,反正我感觉很 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.另外不知道你们发现没有,反正我有遇到过,或许是保存时候没注意吧,中文报错编码出问题导致字典中有许多乱码,比如:

#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()