日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Dirmap:一款高級(jí)Web目錄文件掃描工具

 西北望msm66g9f 2019-05-10

來自FreeBuf.COM,作者:H4ckForJob

https://www./sectool/200890.html

前言

本人是一名立志安全開發(fā)的大學(xué)生,有一年安全測(cè)試經(jīng)驗(yàn),有時(shí)在刷src的時(shí)候,需要檢查所有target的web業(yè)務(wù)系統(tǒng)是否泄露敏感目錄、文件,工作量十分龐大,于是Dirmap誕生了~

知名的web目錄文件掃描工具有很多,如:御劍1.5、DirBuster、Dirsearch、cansina。

其他開源的各種輪子,更是數(shù)不勝數(shù)。

這次我們不造輪子,我們需要造的是一輛車!open source的那種XD

需求分析

何為一個(gè)優(yōu)秀的web目錄掃描工具?

經(jīng)過大量調(diào)研,總結(jié)一個(gè)優(yōu)秀的web目錄掃描工具至少具備以下功能:

并發(fā)引擎

能使用字典

能純爆破

能爬取頁面動(dòng)態(tài)生成字典

能fuzz掃描

自定義請(qǐng)求

自定義響應(yīng)結(jié)果處理...

功能特點(diǎn)

你愛的樣子,我都有,小鴿鴿了解下我吧:

支持n個(gè)target*n個(gè)payload并發(fā)

支持遞歸掃描

支持自定義需要遞歸掃描的狀態(tài)碼

支持(單|多)字典掃描

支持自定義字符集爆破

支持爬蟲動(dòng)態(tài)字典掃描

支持自定義標(biāo)簽fuzz目標(biāo)url

自定義請(qǐng)求User-Agent

自定義請(qǐng)求隨機(jī)延時(shí)

自定義請(qǐng)求超時(shí)時(shí)間

自定義請(qǐng)求代理

自定義正則表達(dá)式匹配假性404頁面

自定義要處理的響應(yīng)狀態(tài)碼

自定義跳過大小為x的頁面

自定義顯示content-type

自定義顯示頁面大小

按域名去重復(fù)保存結(jié)果

掃描效果

遞歸掃描

字典模式

爆破模式

爬蟲模式

fuzz模式

Q:這么棒棒呀!那Dirmap該怎么使用呢?

A:啊哈,你往下滑。

使用方法

環(huán)境準(zhǔn)備

git clone https://github.com/H4ckForJob/dirmap.git && cd dirmap && python3 -m pip install -r requirement.txt

單個(gè)目標(biāo)

python3 dirmap.py -iU https:// -lcf

多個(gè)目標(biāo)

python3 dirmap.py -iF urls.txt -lcf

Q:哎呀,掃描結(jié)束了,我的結(jié)果呢qwq?

A:莫慌自動(dòng)保存的呀。

結(jié)果保存

結(jié)果將自動(dòng)保存在項(xiàng)目根目錄下的output文件夾中,每一個(gè)目標(biāo)生成一個(gè)txt,命名格式為目標(biāo)域名.txt。結(jié)果自動(dòng)去重復(fù),不用擔(dān)心產(chǎn)生大量冗余。

Q:矮油,不錯(cuò)呦,但是我還想學(xué)習(xí)下高級(jí)用法呢。

A:好嘞,這就來,屏住呼吸,往下看。

高級(jí)使用

自定義dirmap配置,開始探索dirmap高級(jí)功能,暫時(shí)采用加載配置文件的方式進(jìn)行詳細(xì)配置,不支持使用命令行參數(shù)進(jìn)行詳細(xì)配置!

編輯項(xiàng)目根目錄下的dirmap.conf,進(jìn)行配置。

dirmap.conf配置詳解:

#遞歸掃描處理配置
[RecursiveScan]
#是否開啟遞歸掃描:關(guān)閉:0;開啟:1
conf.recursive_scan = 0
#遇到這些狀態(tài)碼,開啟遞歸掃描。默認(rèn)配置[301,403]
conf.recursive_status_code = [301,403]
#設(shè)置排除掃描的目錄。默認(rèn)配置空。其他配置:e.g:['/test1','/test2']
#conf.exclude_subdirs = ['/test1','/test2']
conf.exclude_subdirs = ''

#掃描模式處理配置(4個(gè)模式,1次只能選擇1個(gè))
[ScanModeHandler]
#字典模式:關(guān)閉:0;單字典:1;多字典:2
conf.dict_mode = 1
#單字典模式的路徑
conf.dict_mode_load_single_dict = 'dict_mode_dict.txt'
#多字典模式的路徑,默認(rèn)配置dictmult
conf.dict_mode_load_mult_dict = 'dictmult'
#爆破模式:關(guān)閉:0;開啟:1
conf.blast_mode = 0
#生成字典最小長(zhǎng)度。默認(rèn)配置3
conf.blast_mode_min = 3
#生成字典最大長(zhǎng)度。默認(rèn)配置3
conf.blast_mode_max = 3
#默認(rèn)字符集:a-z。暫未使用。
conf.blast_mode_az = 'abcdefghijklmnopqrstuvwxyz'
#默認(rèn)字符集:0-9。暫未使用。
conf.blast_mode_num = '0123456789'
#自定義字符集。默認(rèn)配置'abc'。使用abc構(gòu)造字典
conf.blast_mode_custom_charset = 'abc'
#自定義繼續(xù)字符集。默認(rèn)配置空。
conf.blast_mode_resume_charset = ''
#爬蟲模式:關(guān)閉:0;開啟:1
conf.crawl_mode = 0
#解析robots.txt文件。暫未實(shí)現(xiàn)。
conf.crawl_mode_parse_robots = 0
#解析html頁面的xpath表達(dá)式
conf.crawl_mode_parse_html = '//*/@href | //*/@src | //form/@action'
#是否進(jìn)行動(dòng)態(tài)爬蟲字典生成:關(guān)閉:0;開啟:1
conf.crawl_mode_dynamic_fuzz = 0
#Fuzz模式:關(guān)閉:0;單字典:1;多字典:2
conf.fuzz_mode = 0
#單字典模式的路徑。
conf.fuzz_mode_load_single_dict = 'fuzz_mode_dir.txt'
#多字典模式的路徑。默認(rèn)配置:fuzzmult
conf.fuzz_mode_load_mult_dict = 'fuzzmult'
#設(shè)置fuzz標(biāo)簽。默認(rèn)配置{dir}。使用{dir}標(biāo)簽當(dāng)成字典插入點(diǎn),將http:///{dir}.php替換成http:///字典中的每一行.php。其他配置:e.g:{dir};{ext}
#conf.fuzz_mode_label = '{ext}'
conf.fuzz_mode_label = '{dir}'

#處理payload配置。暫未實(shí)現(xiàn)。
[PayloadHandler]

#處理請(qǐng)求配置
[RequestHandler]
#自定義請(qǐng)求頭。默認(rèn)配置空。其他配置:e.g:test1=test1,test2=test2
#conf.request_headers = 'test1=test1,test2=test2'
conf.request_headers = ''
#自定義請(qǐng)求User-Agent。默認(rèn)配置chrome的ua。
conf.request_header_ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'
#自定義請(qǐng)求cookie。默認(rèn)配置空,不設(shè)置cookie。其他配置e.g:cookie1=cookie1; cookie2=cookie2;
#conf.request_header_cookie = 'cookie1=cookie1; cookie2=cookie2'
conf.request_header_cookie = ''
#自定義401認(rèn)證。暫未實(shí)現(xiàn)。因?yàn)樽远x請(qǐng)求頭功能可滿足該需求(懶XD)
conf.request_header_401_auth = ''
#自定義請(qǐng)求方法。默認(rèn)配置get方法。其他配置:e.g:get;head
#conf.request_method = 'head'
conf.request_method = 'get'
#自定義每個(gè)請(qǐng)求超時(shí)時(shí)間。默認(rèn)配置3秒。
conf.request_timeout = 3
#隨機(jī)延遲(0-x)秒發(fā)送請(qǐng)求。參數(shù)必須是整數(shù)。默認(rèn)配置0秒,無延遲。
conf.request_delay = 0
#自定義單個(gè)目標(biāo),請(qǐng)求協(xié)程線程數(shù)。默認(rèn)配置30線程
conf.request_limit = 30
#自定義最大重試次數(shù)。暫未實(shí)現(xiàn)。
conf.request_max_retries = 1
#設(shè)置持久連接。是否使用session()。暫未實(shí)現(xiàn)。
conf.request_persistent_connect = 0
#302重定向。默認(rèn)False,不重定向。其他配置:e.g:True;False
conf.redirection_302 = False
#payload后添加后綴。默認(rèn)空,掃描時(shí),不添加后綴。其他配置:e.g:txt;php;asp;jsp
#conf.file_extension = 'txt'
conf.file_extension = ''

#處理響應(yīng)配置
[ResponseHandler]
#設(shè)置要記錄的響應(yīng)狀態(tài)。默認(rèn)配置[200],記錄200狀態(tài)碼。其他配置:e.g:[200,403,301]
#conf.response_status_code = [200,403,301]
conf.response_status_code = [200]
#是否記錄content-type響應(yīng)頭。默認(rèn)配置1記錄
#conf.response_header_content_type = 0
conf.response_header_content_type = 1
#是否記錄頁面大小。默認(rèn)配置1記錄
#conf.response_size = 0
conf.response_size = 1
#自定義匹配404頁面正則
#conf.custom_404_page = 'fake 404'
conf.custom_404_page = ''
#自定義匹配503頁面正則。暫未實(shí)現(xiàn)。感覺用不著,可能要廢棄。
#conf.custom_503_page = 'page 503'
conf.custom_503_page = ''
#自定義正則表達(dá)式,匹配頁面內(nèi)容
#conf.custom_response_page = '([0-9]){3}([a-z]){3}test'
conf.custom_response_page = ''
#跳過顯示頁面大小為x的頁面,若不設(shè)置,請(qǐng)配置成'None',默認(rèn)配置“None”。其他大小配置參考e.g:None;0b;1k;1m
#conf.skip_size = '0b'
conf.skip_size = 'None'

#代理選項(xiàng)
[ProxyHandler]
#代理配置。默認(rèn)設(shè)置“None”,不開啟代理。其他配置e.g:{'http':'http://127.0.0.1:8080','https':'https://127.0.0.1:8080'}
#conf.proxy_server = {'http':'http://127.0.0.1:8080','https':'https://127.0.0.1:8080'}
conf.proxy_server = None

#Debug選項(xiàng)
[DebugMode]
#打印payloads并退出
conf.debug = 0

#update選項(xiàng)
[CheckUpdate]
#github獲取更新。暫未實(shí)現(xiàn)。
conf.update = 0

Q:我倒,配置文件這么多,終于看完了,可是我還想了解下默認(rèn)的字典,還有怎么添加自己的字典?

A:哦呼,這里有默認(rèn)字典文件介紹。還有添加自定義字典,需要將你的字典放入data文件夾,并修改dirmap.conf就可以使用了。

默認(rèn)字典文件

字典文件存放在項(xiàng)目根目錄中的data文件夾中:

dictmodedict.txt “字典模式”字典,使用dirsearch默認(rèn)字典;

crawlmodesuffix.txt “爬蟲模式”字典,使用FileSensor默認(rèn)字典;

fuzzmodedir.txt “fuzz模式”字典,使用DirBuster默認(rèn)字典;

fuzzmodeext.txt “fuzz模式”字典,使用常見后綴制作的字典;

dictmult該目錄為“字典模式”默認(rèn)多字典文件夾,包含:BAK.min.txt(備份文件小字典),BAK.txt(備份文件大字典),LEAKS.txt(信息泄露文件字典);

fuzzmult該目錄為“fuzz模式”默認(rèn)多字典文件夾,包含:fuzzmodedir.txt(默認(rèn)目錄字典),fuzzmodeext.txt(默認(rèn)后綴字典)。

Q:哇哦~

A:hhh,怎么啦?還有其他問題嗎?

Q:嘻嘻,Dirmap看來是有點(diǎn)像小車車?yán)?,話說完成這個(gè)項(xiàng)目,你參考了多少個(gè)輪子呀?

A:有很多很多,大多數(shù)都是gayhub上找到的項(xiàng)目,這里對(duì)這些項(xiàng)目貢獻(xiàn)者表示感謝~!

致謝聲明

dirmap在編寫過程中,借鑒了大量的優(yōu)秀開源項(xiàng)目的模式與思想,特此說明并表示感謝。

Sqlmap(架構(gòu)參考)

POC-T(架構(gòu)參考)

Saucerframe(架構(gòu)參考)

gwhatweb(并發(fā)參考)

dirsearch(遞歸掃描實(shí)現(xiàn)參考)

cansina(解析header參考)

weakfilescan(爬蟲動(dòng)態(tài)字典模式參考)

FileSensor(爬蟲動(dòng)態(tài)字典模式參考)

BBscan(并發(fā)參考)

werdy(純爆破模式參考)

還有很多開源的小腳本(字典模式參考)

還有很多的互聯(lián)網(wǎng)文獻(xiàn)資料(debug參考)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多