Nu1L戰(zhàn)隊(duì)官網(wǎng):https://nu1l.com
“空指針”高質(zhì)量挑戰(zhàn)賽:https://www.npointer.cn
N1BOOK:https://book.nu1l.com
信息收集
敏感目錄泄露
git泄露
常規(guī)泄露 https://github.com/denny0223/scrabble
git回滾
(flag在老的提交版本中)
先利用scrabble工具獲取源碼,再通過git reset--hard HEAD^命令跳到上一版本,除了使用git reset,更簡(jiǎn)單的方式是通過git log-stat命令查看每個(gè)commit修改了哪些文件,再用git diff HEAD commit-id比較在當(dāng)前版本與想查看的commit之間的變化。
git分支
https://github.com/WangYihang/GitHacker
python GitHacker.py http://127.0.0.1:8000/.git/,本地看到生成的文件夾,進(jìn)入后執(zhí)行git log--all或git branch-v命令,只能看到master分支的信息。如果執(zhí)行git reflog命令,就可以看到一些checkout的記錄,除了master還有一個(gè)secret分支,但自動(dòng)化工具只還原了master分支的信息,因此需要手動(dòng)下載secret分支的head信息,保存到.git/refs/heads/secret中。
執(zhí)行命令wget http://127.0.0.1:8000/.git/refs/heads/secret
修改GitHacker
if __name__ == '__main__':
baseurl = complete_url('')
temppath = replace_bad_chars(get_prefix(baseurl))
fixmissing(baseurl,temppath)
git泄露的其他利用
除了查看源碼的常見利用方式,泄露的git中也可能有其他有用的信息,如.git/config文件夾中可能含有access_token信息,從而可以訪問這個(gè)用戶的其他倉庫。
SVN泄露
https://github.com/kost/dvcs-ripper
Seay-svn
SVN(subversion)是源代碼版本管理軟件,造成SVN源代碼漏洞的主要原因是管理員操作不規(guī)范將SVN隱藏文件夾暴露于外網(wǎng)環(huán)境,可以利用.svn/entries或wc.db文件獲取服務(wù)器源碼等信息。
HG泄露
在初始化項(xiàng)目時(shí),HG會(huì)在當(dāng)前文件夾下創(chuàng)建一個(gè).hg隱藏文件夾,其中包含代碼和分支修改記錄等信息。
https://github.com/kost/dvcs-ripper
總結(jié)經(jīng)驗(yàn)
不論是.git這些隱藏文件,還是實(shí)戰(zhàn)中的admin之類的敏感后臺(tái)文件夾,其關(guān)鍵在于字典的強(qiáng)大,讀者可以在某些工具的基礎(chǔ)上進(jìn)行二次開發(fā),以滿足自己需要。
https://github.com/maurosoria/dirsearch
CTF線上比賽往往會(huì)有重定向一類問題。例如,只要訪問.git,便會(huì)返回403,此時(shí)試探著訪問.git/config,如果有文件內(nèi)容返回,就說明存在git泄露,反之,一般不存在。而在SVN泄露中,一般是在entries中爬取源代碼,但有時(shí)會(huì)出現(xiàn)entries為空的情況,這時(shí)注意wc.db文件存在與否,便可通過其中的checksum在pristine文件夾中獲取源代碼。
敏感備份文件
gedit備份文件
在Linux下,用gedit編輯器保存后,當(dāng)前目錄下會(huì)生成一個(gè)后綴為“~”的文件,其文件內(nèi)容就是剛編輯的內(nèi)容。通過瀏覽器訪問這個(gè)帶有“~”的文件,便可以得到源代碼。
vim備份文件
當(dāng)用戶在編輯文件但意外退出時(shí),會(huì)在當(dāng)前目錄下生成一個(gè)備份文件,文件名格式為:.文件名.swp,該文件用來備份緩沖區(qū)中的內(nèi)容即退出時(shí)的文件內(nèi)容。
針對(duì)SWP備份文件,我們可以用vim -r命令恢復(fù)文件的內(nèi)容。
vim在第一次意外退出時(shí)生成的備份文件為.swp,第二次意外退出時(shí)的為.swo,第三次退出時(shí)的為*.swn,以此類推。
常規(guī)文件
常規(guī)文件所依靠的無非就是字典的飽和性,不論是CTF比賽中還是現(xiàn)實(shí)世界中,我們都會(huì)碰到一些經(jīng)典的有辨識(shí)的文件,從而讓我們更好地了解網(wǎng)站。
? robots.txt:記錄一些目錄和CMS版本信息。
? readme.md:記錄CMS版本信息,有的甚至有Github地址。
? www.zip/rar/tar.gz:往往是網(wǎng)站的源碼備份。
Banner識(shí)別
1.Github上成型掃描器對(duì)網(wǎng)站進(jìn)行識(shí)別
2.Wappalyzer