刷src從放棄到入門
一、瞎扯部分
『現在安全技術崗招人拿到的簡歷,除了工作比較久的,大部分的應屆畢業生啥的,10個裡能有近9個寫有滲透測試能力,然後9個裡,8個的滲透測試其實是黑盒漏洞測試,提權、域滲透等後滲透部分基本是0,8個裡問到怎麼發現的漏洞,能有7個說不清楚…還有個共同的點是簡歷里一般會有各種CTF比賽獲獎記錄,SRC挖洞記錄,SRC挖洞就不說了,現在CTF比賽那麼容易獲獎嗎?很多比賽還都沒聽過…還有個感受,兩極分化嚴重,好的確實不錯,踏實;實際沒啥東西的一般自我感覺良好』
…………………………………………引言自安全圈某大佬……………………………………
回顧起三個月前的自己,就是大佬所吐槽的那一類人。『8個的滲透滲透測試其實是黑盒漏洞測試』emm...畢竟白盒代碼審計不會嘛 『提權、與滲透等後滲透部分基本是0』爆破出一個弱口令就高興壞了趕緊去提交了,生怕被人重複了,提權?後滲透?什麼鬼,能吃嗎? 『8個裡問到怎麼發現的漏洞,能有7個說不清楚』要是都能說清楚還怎麼繼續做菜逼啊!CTF部分不解讀,自己不玩CTF。玩笑歸玩笑,大佬說的這幾點都是直擊要害的,對很多剛入門想要從事安全,吃這口飯的人,反思過後補足自己的不足才是正道。
那麼我是如何從放棄到入門,最後順利找到一份安全工作的,以下,大佬可以撤退了,萌新或者有一點基礎卻不知道如何入門的小菜,可以看看。
為了避免空口說瞎話的嫌疑,這裡貼上我個人在菜鳥src的排名,目前還有若干漏洞的積分沒加上來,暫時排16位。
二、刷src需要做哪些準備
1.首先你得準備好一個自己搭建的烏雲漏洞庫(也可以直擊用網上的景象,但不建議,以前偷懶就直接用在線的,但是好多個開一會兒就關了或者就沒了,老老實實自己搭一個吧)
這裡推薦GitHub上的一個虛擬機項目:https://github.com/hanc00l/wooyun_public 下這個↓
下載好之後直接拖到虛擬機里運行,打開後,ifconfig 能看到搭建的虛擬機伺服器佔用的區域網網點,在本機瀏覽器打開便可以開始看了。!漏洞庫一定要刷,這個是最直接的讓自己了解安全全貌的方式。也是成長最快的路徑!
(Tips:這個漏洞庫好在可以查詢關鍵字,但是關鍵字查詢如果多頁,但是沒法翻頁,這裡可以通過在url後拼接 &page=2 來實現翻頁 例如: http://192.168.190.129/searchbug.php?detail=on&q=aspcms&page=2)
2. 你需要準備一些常規的滲透工具,並且知道常規的一些用法,例如kali(集成了sqlmap,nmap,python運行環境)、burpsuite、layer的域名爆破或者 lijiejie在GitHub上的項目 subdomain.py 。另外推薦一個指紋識別的網站http://www.yunsee.cn。
Tips:layer子域爆破用的是字典,比較暴力,但是會佔用cpu,subdomain比較靈活,可以搭配著來,另外,Googlehacking語法也是一個很重要的搜索子域名,後台,敏感文件的方式,這裡不再贅述。
在用yunsee做指紋是別的時候,有時候可以找到一些通用型系統,比如用友,金蝶,或者一些開源cms,這種時候就可以在烏雲漏洞庫里搜索相關漏洞,對新手來說,這是一個邊實踐邊學習的過程,複測過一次,下次就知道了。另外烏雲漏洞庫做搜索的時候,可以搜索一些存在漏洞的目錄,比如用友系統的 /uapws/ 。自己實際碰到的可以舉一反三。
3. 找一個穩定流暢的vpn,這個不光光是一個滲透的習慣,wooyun 16年關站,所以漏洞庫的漏洞也定格在了那裡,有時候就需要上https://www.exploit-db.com/去搜索一些最新漏洞的exp,這個網站用的google的驗證碼,沒vpn是沒法搜索的。實際滲透中,之前有挖到一個zabbix的注入,這個就是在exploit-db上找到的exp。
Tips:https://www.exploit-db.com/ 上的exp並不全,最全的是 http://cve.mitre.org/ 在上面可以搜索年份或者組件信息,搜索出cve編號,找不到cve相關的exp可以去GitHub上直接搜cve編號。
4. 對可能存在的漏洞類型,大概要有點b數,這裡給一個流出的綠盟的加固手冊。https://wenku.baidu.com/view/d5be9763a22d7375a417866fb84ae45c3b35c2a5.html對照這個手冊看一下,裡面有些漏洞雖然老,比如heartbleed,但是還是存在的。
5. 在微博或者Twitter多關注一些大牛,一手漏洞都是從這上面流出來的,比如前不久的weblogic的RCE。
三、怎麼刷
1.每個src大佬,都有一套屬於自己的滲透測試流程,該怎麼刷其實得根據自己實際情況來,但是有一些常識,能夠讓你少走一些彎路。『前台相對安全,大多數漏洞都在後台』,這句話嚴格來說,不完全對,因為前台同樣會存在很多危害嚴重的邏輯漏洞,csrf,xss,釣魚之類漏洞,只是相比較來說,前端框架下,很多時候只是給用戶呈現html頁面,或者用的一些流行框架,很多功能點都在後台。後台有身份認證的一道關卡,開發人員在開發的時候會忽略一些對參數的過濾,以及黑名單白名單的限制,只是相對而言。至於『滲透70%要看信息搜集』這句也是對上面一句的衍生,很多時候通過一個弱口令進入後台,找出一堆sql注入,xss,甚至上傳getshell,甚至一個vpn弱口令進入內網,都是常規操作。
2.滲透講究一個耐心,仔細。域名搜集得怎麼樣了,每個ip有沒有用nmap去掃過埠,自己實戰中就碰到過nmap掃埠結果出來一個列目錄漏洞,有很多敏感信息,直接就是嚴重級別的漏洞。還有在測試邏輯漏洞的時候,參數每個都看過了嗎?一整套流程的包都抓過了嗎,有沒有另外備一台手機,或者手機小號來接受簡訊?發現參數改負過濾了,那麼有沒有嘗試訂單合併來繞過呢?很多時候我們不能像審計牛那樣直接把源碼審一遍,然後提一個rce,技術有限的前提下,我們能做到的就是耐心,仔細。
四、一路走來的感悟
我相信很多新手,會困惑一個問題,為什麼要學習一門編程語言。這個問題在我提交了一些高危漏洞之後,以及實際工作之後漸漸明白其中的意義。簡單的說,網上的exp,你看不懂payload沒有問題,但是python腳本你得會用吧?簡單的修改得會吧?實際工作中,上手的一個app項目,數據包是用加密傳輸的,用了aes的加密。可能很多時候碰到這樣的,換做是我,還沒在工作的時候,就放棄了,去測別的吧,但是現在這是工作了,你該怎麼辦?
App首先要脫殼,不會,現學。脫殼完了之後反編譯,不會,現學。反編譯之後去源碼里找key,偏移值,去溯源加密方式,Java代碼看不懂怎麼辦?這些問題,事後都順利解決了,但是最重要的是讓我明白懂代碼的含義。
安全,不只是web安全。通過web入門應該說是比較容易的,也讓我這個大學學的文科的人順利找到了一份安全工作。但是這遠遠不夠,如果只會這些皮毛,腳本小子都算不上,只有不斷學習,前面的路才一片廣闊。
推薦閱讀: