網(wǎng)絡(luò)安全入門的初思考

姓名:楊其鵬 學(xué)號:16019110048

轉(zhuǎn)載自:http://mp.weixin.qq.com/s/wKLbZ37FaU1lwWFkYKTqlQ

嵌牛導(dǎo)讀:本文將會分享一下在網(wǎng)絡(luò)安全方面的學(xué)習(xí)的心得

嵌牛鼻子:知識、實戰(zhàn)、經(jīng)驗、

嵌牛提問:怎么做可以精通網(wǎng)絡(luò)安全知識?哪些好的工具可以利用?

嵌牛正文:

是知識!知識!知識!


知識面不夠、深度不深,就想著挖洞,這是非常不合理的,不想多解釋。
正所謂:
當(dāng)我們窮到連知識都不想積累的時候,我們挖的不是洞,挖的是浮躁。

2

多去實戰(zhàn)

小學(xué)乃至高中,老師講完課會留練習(xí)題給大家做的,這是小孩子都懂得道理。那么,我們在學(xué)習(xí)了一些安全知識、攻擊技巧、工具使用之后,我們就完事大吉了?這樣不僅無法深入理解這些知識,更容易隨著時間推移快速忘卻,安全之路原地踏步。


最好的狀態(tài)是,學(xué)習(xí)任何一個知識、或者比如在i春秋看到一篇比較好的技術(shù)文章,都能快速的構(gòu)建自己的實戰(zhàn)場景,實戰(zhàn)要做到“快”。之前加過一個好友,最開始學(xué)的是sql注入,打算用sqlmap,結(jié)果搞了兩天,sqlmap沒有裝上。學(xué)習(xí)受阻,會極大降低結(jié)果產(chǎn)出,甚至不了了之。


當(dāng)我們實戰(zhàn)還無法快的時候,需要反思問題在哪,快速構(gòu)建好一個實戰(zhàn)場景,是提升能力的關(guān)鍵。不過,不要為了快感而不停的去實戰(zhàn)。某個漏洞已經(jīng)掌握了,卻還在用這個漏洞不停地刷,這就不對了,去做其他更有意義的事情、學(xué)習(xí)更多的知識去。


有些人會了幾個漏洞,天天靠著這點經(jīng)驗去各種小網(wǎng)站挖,他們挖的不是洞,是寂寞。

3

積累經(jīng)驗

多積累自己的經(jīng)驗,整理自己的心得,這樣才能對得起自己,不是么?以前烏云在的時候經(jīng)常有人說,多去烏云看看人家怎么攻擊的,學(xué)學(xué)人家思路。別人的經(jīng)驗,是用來學(xué)習(xí)的;自己的經(jīng)驗,是用來沉淀的。自己多總結(jié),比如多寫blog,寫多了視野也就寬了,會發(fā)現(xiàn)又學(xué)會了很多更深入的知識,或者理解的更透徹、更充實。
當(dāng)你不愿積累,只想一路狂奔,你挖的不是洞,是空虛。


我喜歡把事情梳理成環(huán)狀,不喜歡做非持久的事情。就像上圖,是我自己總結(jié)的,圖也是自己畫的,我的想法是:
安全知識掌握的越多,我們才有能力去實戰(zhàn)更多,實戰(zhàn)越多,經(jīng)驗就會越豐富,而豐富的經(jīng)驗有助于我們?nèi)ソ邮芨?、更深入的知識,最終形成良性閉環(huán)。

好了,不吹牛逼了,接下來說點務(wù)實的例子。以下內(nèi)容均為主觀想法,若有異議,歡迎噴,也歡迎討論。

哪些知識重要?


linux操作系統(tǒng)、網(wǎng)絡(luò)原理、數(shù)據(jù)庫,沒了。

我就想研究web安全,不需要上面知識吧?其實不然,很多XSS的檢測程序都是linux上運行的,你要是想寫一個xss自動檢測腳本,可能也會在linux平臺運行。有些xss,為了快速試水進行測試,可能需要抓包、改包,對網(wǎng)絡(luò)不了解,總歸有時候會不順暢。還有這種案例,通過sql注入篡改頁面,最終xss劫持所有用戶。

我覺得,linux是安全測試的較好平臺;我們的任何攻擊,離不開網(wǎng)絡(luò);企業(yè)的存儲,離不開數(shù)據(jù)庫。
linux:鳥哥的linux私房菜——基礎(chǔ)學(xué)習(xí)篇
網(wǎng)絡(luò):HTTP權(quán)威指南
數(shù)據(jù)庫:sqlmap源碼通讀,集成了所有sql攻擊精髓

工具的使用


工具很重要,工具可以讓我們快速、容易地嘗試攻擊,并通過攻擊,來學(xué)習(xí)原理。一個好的安全測試人員,手頭會有大量的工具。
常見工具都有哪些?i春秋的實驗室,里面涵蓋了大量的工具,對于新人有很好的參考價值,如圖。



但是,我不建議搞太多工具,有些工具就不要再花時間和經(jīng)歷深入研究了,做個簡單了解就好了。

就拿sql注入來說,有明小子、啊D注入等等,我建議不要再研究這些有時代回憶的工具了,這些工具不是不好,而是有些過時了。我覺得更應(yīng)該花時間研究sqlmap,深入sqlmap,甚至針對特定場景給sqlmap寫插件,以及嘗試用brupsuit和sqlmap進行組合使用,這樣才有意義。和同類其它工具相比sqlmap更具有:
功能強大,基本覆蓋了啊D注入等工具的功能
社區(qū)支持,定期更新
擴展性強,支持開發(fā)者自行編寫插件
平臺移植,多平臺通用,適用群體廣

好的工具,不一定要具備上面的特點,但是我們要學(xué)會區(qū)分,盡量選擇專業(yè)的工具,做專業(yè)的安全測試。

當(dāng)然,有些經(jīng)典,不會被時間的潮水所沖退,永遠(yuǎn)值得致敬:中國菜刀

工具重要么


我很矛盾,剛說了工具很重要,又來問工具重要么。。。

工具重要,因為工具是利器。但也不是那么重要,因為怎么使用工具、組合工具、自己針對特定場景開發(fā)滿足需要的工具,更重要??梢詤⒖歼@篇問題網(wǎng)站漏洞,能通過手工注入滲透嗎?,我的回答:

說下我的個人理解,我覺得所有自動安全檢測、黑客工具,這些都只能算作工具。
工具是“工作時所需要的器具”,而使用工具的人才是重點,不能只停留在工具層面,大部分成熟網(wǎng)站都不會直接被工具掃描到漏洞的。不然,大公司的安全部門,豈不是打醬油了?


我在安全方面一點都不厲害,甚至比較菜,不過我知道提升安全最重要的是經(jīng)驗。工具的教程到處都有,多學(xué)學(xué)多練練,“學(xué)精”只是時間問題。而重點,其實是提升經(jīng)驗,經(jīng)驗多的人,才會知道如何運用工具,在關(guān)鍵突破點上運用它。
當(dāng)我們還處于被動使用工具檢測時,說明我們經(jīng)驗太少,要學(xué)會主動使用工具。

舉幾個例子


1

對一個網(wǎng)站進行安全測試,直接上wvs跑,沒問題,就真的沒問題了么?

不見得,注冊、找回密碼、驗證碼突破,這些流程肯定都掃不到,這些是需要半人工半自動才能檢測出來漏洞的。


在對大網(wǎng)站進行檢測時,我每次都會花至少半個小時,詳細(xì)的整理目標(biāo)網(wǎng)站完整的賬號流程,每一次數(shù)據(jù)傳遞、頁面或流程的跳轉(zhuǎn),都要畫到流程圖中,然后看圖,尋找每一個節(jié)點是否可能存在漏洞??赡艿模突〞r間深入分析,分析的時候就會用到各種工具,比如brupsuit、sqlmap、社工庫等等。
這方面經(jīng)驗,也有很多可以參考,比如以前烏云庫整理的密碼找回漏洞挖掘流程:



除了這個,可能短信驗證碼也存在問題,也可以花時間測試:
短信平臺相關(guān)常見問題整理

2

sql注入

我遇到過一些sql注入的點,都不是直接復(fù)制url地址傳給sqlmap -u參數(shù)就能跑的。而普通工具,一般只能檢測最簡單的get和post。

對于一些數(shù)據(jù)進行處理過的,特別是js進行數(shù)據(jù)封裝后才傳給服務(wù)器的,直接跑注入腳本,網(wǎng)站接口肯定報錯,格式不正確。
這里就需要有一定的接口調(diào)用經(jīng)驗、js經(jīng)驗,摸索出來網(wǎng)站數(shù)據(jù)傳輸做了什么特殊處理、是否有加密等等。

比如有的網(wǎng)站,檢測提交文章注入點,post參數(shù)中是傳了unixtime時間戳過去的,而時間戳太久,接口會報錯。那么就需要每次提交的時候,更新時間這個參數(shù)。

再比如,有的網(wǎng)站登陸,密碼是md5加密過才傳輸?shù)模?wù)器對密碼長度后臺做了32位判斷,我們進行注入檢測時候,就需要每次sql注入都把參數(shù)變成32位,不足的用注釋方式補全,超過32位的構(gòu)造語句就要放棄。這個就完全不能直接用sqlmap來跑了。

3

目標(biāo)網(wǎng)站目錄掃描

對于有waf的網(wǎng)站來說,你直接用御劍掃描,可能剛掃了10個url地址他就給你封了。
等御劍掃描完畢,肯定會顯示沒有敏感目錄泄露,沒有經(jīng)驗的就會放棄了。
實際上,很可能有敏感目錄泄露,而我們沒發(fā)現(xiàn)。所以,每次掃描不到,我都會手動去目標(biāo)網(wǎng)站進行嘗試,發(fā)現(xiàn)網(wǎng)站都不能訪問了,肯定說明ip被防火墻封了。


一般這類waf機制,都是異步延遲封鎖,也就是你掃描了一定數(shù)量請求,才對此ip封鎖。
那么解決辦法就是,ip代理。
最簡單的思路,直接把御劍的字典拿來用,然后用python寫個腳本調(diào)用url庫,每發(fā)幾個請求就換一個代理,網(wǎng)上免費代理也很多。最終,還是可以成功的。


這個過程,工具沒有用么?當(dāng)然有用啊,御劍的字典起到了關(guān)鍵作用,但是御劍本身就不能直接用。

漏洞場景的制作


我們學(xué)會了一個漏洞原理、或者了解到了一個最新的漏洞被公開,這個時候,大家最迫切的就是想測試。


但是,很多新人會有測試瓶頸,因為無法快速構(gòu)建一個測試環(huán)境。比如,某天曝了一個wordpress 某某版本存在sql注入,如果我們的電腦環(huán)境沒有php,那么還要自己創(chuàng)建環(huán)境。就算有php環(huán)境,部署特定版本wordpress也可能會遇到各種困難。

試想這個場景:
手握最新漏洞,怎奈測試環(huán)境不會弄,無處使用?

怎么辦呢:
待到水復(fù)山重,將我辦法記心中!

有兩個網(wǎng)站,非常不錯。一個是shodan,一個是zoomeye,類似產(chǎn)品有很多,但我只推這兩款。這是什么工具呢?你可以把他們理解成搜索引擎,但是收錄的不是常規(guī)網(wǎng)頁,而是收錄的服務(wù)器信息,端口信息,網(wǎng)站信息等等。

我覺得,這兩個平臺,是滲透測試人員非常好的打靶場!

這里主要介紹下zoomeye,誰叫我喜歡余弦呢,最初的zoomeye就是他主導(dǎo)負(fù)責(zé)建立的。

網(wǎng)址:https://www.zoomeye.org/
直接切入主題,高級搜索:



這里面,可以選擇非常多的選項,幫助我們篩選網(wǎng)絡(luò)空間中滿足需求的服務(wù)器。

以下測試均為真實操作,不承擔(dān)法律責(zé)任,請大家謹(jǐn)慎使用。

比如discuz的一個古老的漏洞,discuz X1.5版本,存在sql注入,可以利用sql注入上傳文件,最終拿下服務(wù)器。
我們以這個漏洞為例子,并選擇國家為日本(國內(nèi)服務(wù)器、政府、機構(gòu)盡量別惹):


搜索后,我們得到了大量服務(wù)器,注意:
這些服務(wù)器中,很大一部分都會存在漏洞?。?!明白了吧,靶場怎么找!


挑一個200 ok的網(wǎng)址,然后拿著poc代碼跑一下,利用漏洞將“馬兒”上傳到服務(wù)器。

當(dāng)然,高雅一點的攻擊者,會選擇一些萌妹子的網(wǎng)站,比如這個(打了馬賽克了):


利用sql注入上傳文件,再用菜刀連上,以后萌妹子天天看:


另外,對于搜索一些漏洞,shodan做的很強大:
https://exploits.shodan.io/



這里給個建議:

shodan和zoomeye都非常好用,在搜索常見框架版本漏洞時zoomeye更擅長,shodan在漏洞查找等其他方面,感覺做的更好一些,建議兩者都用,有時候也可以結(jié)合著使用,這樣獲得的數(shù)據(jù)更全面。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,848評論 25 709
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 當(dāng)給sq...
    xuningbo閱讀 10,559評論 2 22
  • sqlmap用戶手冊 說明:本文為轉(zhuǎn)載,對原文中一些明顯的拼寫錯誤進行修正,并標(biāo)注對自己有用的信息。 ======...
    wind_飄閱讀 2,205評論 0 5
  • 今天是我生平第三次滑雪,也是第二次去北大壺滑雪,同上兩次滑雪不同,我又有了新的體驗和教訓(xùn) 今天是星期日,滑雪場人滿...
    我是仙兒閱讀 762評論 5 2
  • 第一次接觸到這個詞匯不過是初中時候,老師在臺上講白駒過隙是指時間像小白馬在細(xì)小的縫隙前跑過一樣,多形容時間過得極快...
    冷颼颼閱讀 1,208評論 0 0

友情鏈接更多精彩內(nèi)容