姓名:楊其鵬 學(xué)號(hào):16019110048
轉(zhuǎn)載自:http://mp.weixin.qq.com/s/wKLbZ37FaU1lwWFkYKTqlQ
嵌牛導(dǎo)讀:本文將會(huì)分享一下在網(wǎng)絡(luò)安全方面的學(xué)習(xí)的心得
嵌牛鼻子:知識(shí)、實(shí)戰(zhàn)、經(jīng)驗(yàn)、
嵌牛提問:怎么做可以精通網(wǎng)絡(luò)安全知識(shí)?哪些好的工具可以利用?
嵌牛正文:
是知識(shí)!知識(shí)!知識(shí)!
知識(shí)面不夠、深度不深,就想著挖洞,這是非常不合理的,不想多解釋。
正所謂:
當(dāng)我們窮到連知識(shí)都不想積累的時(shí)候,我們挖的不是洞,挖的是浮躁。
2
多去實(shí)戰(zhàn)
小學(xué)乃至高中,老師講完課會(huì)留練習(xí)題給大家做的,這是小孩子都懂得道理。那么,我們?cè)趯W(xué)習(xí)了一些安全知識(shí)、攻擊技巧、工具使用之后,我們就完事大吉了?這樣不僅無法深入理解這些知識(shí),更容易隨著時(shí)間推移快速忘卻,安全之路原地踏步。
最好的狀態(tài)是,學(xué)習(xí)任何一個(gè)知識(shí)、或者比如在i春秋看到一篇比較好的技術(shù)文章,都能快速的構(gòu)建自己的實(shí)戰(zhàn)場(chǎng)景,實(shí)戰(zhàn)要做到“快”。之前加過一個(gè)好友,最開始學(xué)的是sql注入,打算用sqlmap,結(jié)果搞了兩天,sqlmap沒有裝上。學(xué)習(xí)受阻,會(huì)極大降低結(jié)果產(chǎn)出,甚至不了了之。
當(dāng)我們實(shí)戰(zhàn)還無法快的時(shí)候,需要反思問題在哪,快速構(gòu)建好一個(gè)實(shí)戰(zhàn)場(chǎng)景,是提升能力的關(guān)鍵。不過,不要為了快感而不停的去實(shí)戰(zhàn)。某個(gè)漏洞已經(jīng)掌握了,卻還在用這個(gè)漏洞不停地刷,這就不對(duì)了,去做其他更有意義的事情、學(xué)習(xí)更多的知識(shí)去。
有些人會(huì)了幾個(gè)漏洞,天天靠著這點(diǎn)經(jīng)驗(yàn)去各種小網(wǎng)站挖,他們挖的不是洞,是寂寞。
3
積累經(jīng)驗(yàn)
多積累自己的經(jīng)驗(yàn),整理自己的心得,這樣才能對(duì)得起自己,不是么?以前烏云在的時(shí)候經(jīng)常有人說,多去烏云看看人家怎么攻擊的,學(xué)學(xué)人家思路。別人的經(jīng)驗(yàn),是用來學(xué)習(xí)的;自己的經(jīng)驗(yàn),是用來沉淀的。自己多總結(jié),比如多寫blog,寫多了視野也就寬了,會(huì)發(fā)現(xiàn)又學(xué)會(huì)了很多更深入的知識(shí),或者理解的更透徹、更充實(shí)。
當(dāng)你不愿積累,只想一路狂奔,你挖的不是洞,是空虛。
我喜歡把事情梳理成環(huán)狀,不喜歡做非持久的事情。就像上圖,是我自己總結(jié)的,圖也是自己畫的,我的想法是:
安全知識(shí)掌握的越多,我們才有能力去實(shí)戰(zhàn)更多,實(shí)戰(zhàn)越多,經(jīng)驗(yàn)就會(huì)越豐富,而豐富的經(jīng)驗(yàn)有助于我們?nèi)ソ邮芨?、更深入的知識(shí),最終形成良性閉環(huán)。
好了,不吹牛逼了,接下來說點(diǎn)務(wù)實(shí)的例子。以下內(nèi)容均為主觀想法,若有異議,歡迎噴,也歡迎討論。
哪些知識(shí)重要?
linux操作系統(tǒng)、網(wǎng)絡(luò)原理、數(shù)據(jù)庫,沒了。
我就想研究web安全,不需要上面知識(shí)吧?其實(shí)不然,很多XSS的檢測(cè)程序都是linux上運(yùn)行的,你要是想寫一個(gè)xss自動(dòng)檢測(cè)腳本,可能也會(huì)在linux平臺(tái)運(yùn)行。有些xss,為了快速試水進(jìn)行測(cè)試,可能需要抓包、改包,對(duì)網(wǎng)絡(luò)不了解,總歸有時(shí)候會(huì)不順暢。還有這種案例,通過sql注入篡改頁面,最終xss劫持所有用戶。
我覺得,linux是安全測(cè)試的較好平臺(tái);我們的任何攻擊,離不開網(wǎng)絡(luò);企業(yè)的存儲(chǔ),離不開數(shù)據(jù)庫。
linux:鳥哥的linux私房菜——基礎(chǔ)學(xué)習(xí)篇
網(wǎng)絡(luò):HTTP權(quán)威指南
數(shù)據(jù)庫:sqlmap源碼通讀,集成了所有sql攻擊精髓
工具的使用
工具很重要,工具可以讓我們快速、容易地嘗試攻擊,并通過攻擊,來學(xué)習(xí)原理。一個(gè)好的安全測(cè)試人員,手頭會(huì)有大量的工具。
常見工具都有哪些?i春秋的實(shí)驗(yàn)室,里面涵蓋了大量的工具,對(duì)于新人有很好的參考價(jià)值,如圖。
但是,我不建議搞太多工具,有些工具就不要再花時(shí)間和經(jīng)歷深入研究了,做個(gè)簡(jiǎn)單了解就好了。
就拿sql注入來說,有明小子、啊D注入等等,我建議不要再研究這些有時(shí)代回憶的工具了,這些工具不是不好,而是有些過時(shí)了。我覺得更應(yīng)該花時(shí)間研究sqlmap,深入sqlmap,甚至針對(duì)特定場(chǎng)景給sqlmap寫插件,以及嘗試用brupsuit和sqlmap進(jìn)行組合使用,這樣才有意義。和同類其它工具相比sqlmap更具有:
功能強(qiáng)大,基本覆蓋了啊D注入等工具的功能
社區(qū)支持,定期更新
擴(kuò)展性強(qiáng),支持開發(fā)者自行編寫插件
平臺(tái)移植,多平臺(tái)通用,適用群體廣
好的工具,不一定要具備上面的特點(diǎn),但是我們要學(xué)會(huì)區(qū)分,盡量選擇專業(yè)的工具,做專業(yè)的安全測(cè)試。
當(dāng)然,有些經(jīng)典,不會(huì)被時(shí)間的潮水所沖退,永遠(yuǎn)值得致敬:中國菜刀
工具重要么
我很矛盾,剛說了工具很重要,又來問工具重要么。。。
工具重要,因?yàn)楣ぞ呤抢?。但也不是那么重要,因?yàn)樵趺词褂霉ぞ?、組合工具、自己針對(duì)特定場(chǎng)景開發(fā)滿足需要的工具,更重要。可以參考這篇問題網(wǎng)站漏洞,能通過手工注入滲透嗎?,我的回答:
說下我的個(gè)人理解,我覺得所有自動(dòng)安全檢測(cè)、黑客工具,這些都只能算作工具。
工具是“工作時(shí)所需要的器具”,而使用工具的人才是重點(diǎn),不能只停留在工具層面,大部分成熟網(wǎng)站都不會(huì)直接被工具掃描到漏洞的。不然,大公司的安全部門,豈不是打醬油了?
我在安全方面一點(diǎn)都不厲害,甚至比較菜,不過我知道提升安全最重要的是經(jīng)驗(yàn)。工具的教程到處都有,多學(xué)學(xué)多練練,“學(xué)精”只是時(shí)間問題。而重點(diǎn),其實(shí)是提升經(jīng)驗(yàn),經(jīng)驗(yàn)多的人,才會(huì)知道如何運(yùn)用工具,在關(guān)鍵突破點(diǎn)上運(yùn)用它。
當(dāng)我們還處于被動(dòng)使用工具檢測(cè)時(shí),說明我們經(jīng)驗(yàn)太少,要學(xué)會(huì)主動(dòng)使用工具。
舉幾個(gè)例子
1
對(duì)一個(gè)網(wǎng)站進(jìn)行安全測(cè)試,直接上wvs跑,沒問題,就真的沒問題了么?
不見得,注冊(cè)、找回密碼、驗(yàn)證碼突破,這些流程肯定都掃不到,這些是需要半人工半自動(dòng)才能檢測(cè)出來漏洞的。
在對(duì)大網(wǎng)站進(jìn)行檢測(cè)時(shí),我每次都會(huì)花至少半個(gè)小時(shí),詳細(xì)的整理目標(biāo)網(wǎng)站完整的賬號(hào)流程,每一次數(shù)據(jù)傳遞、頁面或流程的跳轉(zhuǎn),都要畫到流程圖中,然后看圖,尋找每一個(gè)節(jié)點(diǎn)是否可能存在漏洞??赡艿?,就花時(shí)間深入分析,分析的時(shí)候就會(huì)用到各種工具,比如brupsuit、sqlmap、社工庫等等。
這方面經(jīng)驗(yàn),也有很多可以參考,比如以前烏云庫整理的密碼找回漏洞挖掘流程:
除了這個(gè),可能短信驗(yàn)證碼也存在問題,也可以花時(shí)間測(cè)試:
短信平臺(tái)相關(guān)常見問題整理
2
sql注入
我遇到過一些sql注入的點(diǎn),都不是直接復(fù)制url地址傳給sqlmap -u參數(shù)就能跑的。而普通工具,一般只能檢測(cè)最簡(jiǎn)單的get和post。
對(duì)于一些數(shù)據(jù)進(jìn)行處理過的,特別是js進(jìn)行數(shù)據(jù)封裝后才傳給服務(wù)器的,直接跑注入腳本,網(wǎng)站接口肯定報(bào)錯(cuò),格式不正確。
這里就需要有一定的接口調(diào)用經(jīng)驗(yàn)、js經(jīng)驗(yàn),摸索出來網(wǎng)站數(shù)據(jù)傳輸做了什么特殊處理、是否有加密等等。
比如有的網(wǎng)站,檢測(cè)提交文章注入點(diǎn),post參數(shù)中是傳了unixtime時(shí)間戳過去的,而時(shí)間戳太久,接口會(huì)報(bào)錯(cuò)。那么就需要每次提交的時(shí)候,更新時(shí)間這個(gè)參數(shù)。
再比如,有的網(wǎng)站登陸,密碼是md5加密過才傳輸?shù)模?wù)器對(duì)密碼長(zhǎng)度后臺(tái)做了32位判斷,我們進(jìn)行注入檢測(cè)時(shí)候,就需要每次sql注入都把參數(shù)變成32位,不足的用注釋方式補(bǔ)全,超過32位的構(gòu)造語句就要放棄。這個(gè)就完全不能直接用sqlmap來跑了。
3
目標(biāo)網(wǎng)站目錄掃描
對(duì)于有waf的網(wǎng)站來說,你直接用御劍掃描,可能剛掃了10個(gè)url地址他就給你封了。
等御劍掃描完畢,肯定會(huì)顯示沒有敏感目錄泄露,沒有經(jīng)驗(yàn)的就會(huì)放棄了。
實(shí)際上,很可能有敏感目錄泄露,而我們沒發(fā)現(xiàn)。所以,每次掃描不到,我都會(huì)手動(dòng)去目標(biāo)網(wǎng)站進(jìn)行嘗試,發(fā)現(xiàn)網(wǎng)站都不能訪問了,肯定說明ip被防火墻封了。
一般這類waf機(jī)制,都是異步延遲封鎖,也就是你掃描了一定數(shù)量請(qǐng)求,才對(duì)此ip封鎖。
那么解決辦法就是,ip代理。
最簡(jiǎn)單的思路,直接把御劍的字典拿來用,然后用python寫個(gè)腳本調(diào)用url庫,每發(fā)幾個(gè)請(qǐng)求就換一個(gè)代理,網(wǎng)上免費(fèi)代理也很多。最終,還是可以成功的。
這個(gè)過程,工具沒有用么?當(dāng)然有用啊,御劍的字典起到了關(guān)鍵作用,但是御劍本身就不能直接用。
漏洞場(chǎng)景的制作
我們學(xué)會(huì)了一個(gè)漏洞原理、或者了解到了一個(gè)最新的漏洞被公開,這個(gè)時(shí)候,大家最迫切的就是想測(cè)試。
但是,很多新人會(huì)有測(cè)試瓶頸,因?yàn)闊o法快速構(gòu)建一個(gè)測(cè)試環(huán)境。比如,某天曝了一個(gè)wordpress 某某版本存在sql注入,如果我們的電腦環(huán)境沒有php,那么還要自己創(chuàng)建環(huán)境。就算有php環(huán)境,部署特定版本wordpress也可能會(huì)遇到各種困難。
試想這個(gè)場(chǎng)景:
手握最新漏洞,怎奈測(cè)試環(huán)境不會(huì)弄,無處使用?
怎么辦呢:
待到水復(fù)山重,將我辦法記心中!
有兩個(gè)網(wǎng)站,非常不錯(cuò)。一個(gè)是shodan,一個(gè)是zoomeye,類似產(chǎn)品有很多,但我只推這兩款。這是什么工具呢?你可以把他們理解成搜索引擎,但是收錄的不是常規(guī)網(wǎng)頁,而是收錄的服務(wù)器信息,端口信息,網(wǎng)站信息等等。
我覺得,這兩個(gè)平臺(tái),是滲透測(cè)試人員非常好的打靶場(chǎng)!
這里主要介紹下zoomeye,誰叫我喜歡余弦呢,最初的zoomeye就是他主導(dǎo)負(fù)責(zé)建立的。
網(wǎng)址:https://www.zoomeye.org/
直接切入主題,高級(jí)搜索:
這里面,可以選擇非常多的選項(xiàng),幫助我們篩選網(wǎng)絡(luò)空間中滿足需求的服務(wù)器。
以下測(cè)試均為真實(shí)操作,不承擔(dān)法律責(zé)任,請(qǐng)大家謹(jǐn)慎使用。
比如discuz的一個(gè)古老的漏洞,discuz X1.5版本,存在sql注入,可以利用sql注入上傳文件,最終拿下服務(wù)器。
我們以這個(gè)漏洞為例子,并選擇國家為日本(國內(nèi)服務(wù)器、政府、機(jī)構(gòu)盡量別惹):
搜索后,我們得到了大量服務(wù)器,注意:
這些服務(wù)器中,很大一部分都會(huì)存在漏洞?。。∶靼琢税?,靶場(chǎng)怎么找!
挑一個(gè)200 ok的網(wǎng)址,然后拿著poc代碼跑一下,利用漏洞將“馬兒”上傳到服務(wù)器。
當(dāng)然,高雅一點(diǎn)的攻擊者,會(huì)選擇一些萌妹子的網(wǎng)站,比如這個(gè)(打了馬賽克了):
利用sql注入上傳文件,再用菜刀連上,以后萌妹子天天看:
另外,對(duì)于搜索一些漏洞,shodan做的很強(qiáng)大:
https://exploits.shodan.io/
這里給個(gè)建議: