SRC漏洞挖掘小見解
原文鏈接:SRC漏洞挖掘小見解-MottoIN
---------------------------------------------------------------------------------------------------------------------------
0x01 本文由來
前段時間一直忙著工作也沒有好好的總結一下,今天趁著周末來總結一下前段時間關於漏洞挖掘的一些心得。
0x02 說在前面的話(扯淡)
漏洞挖掘我並不是什麼大牛,還只是一個在慢慢摸索前行的學習者,也歡迎大家一起來交流漏洞挖掘技術。我的qq:2776369267。
其次本文針對的人群並不是大牛,所以也請不要噴,如果你覺得我寫的不好,可以加我指導一下我,大家一起碰撞一下思路。
最後本文可能基本都是文字看起來是比較疲倦的,希望大家見諒,因為我不可能把挖的漏洞截圖給大家,這個希望大家理解一下,但是來討論沒問題的。
0x03 漏洞挖掘的前期–信息收集
雖然是前期,但是卻是我認為最重要的一部分;
很多人挖洞的時候說不知道如何入手,其實挖洞就是信息收集+常規owasp top 10+邏輯漏洞(重要的可能就是思路猥瑣一點),這些漏洞的測試方法本身不是特別複雜,一般混跡在安全圈子的人都能復現漏洞。接下來我就著重說一下我在信息收集方面的心得。
1、域名信息收集
src一般都只收對應的漏洞,很多src的公告裡面就會明確範圍;然後我們就需要根據這些範圍來確定域名。
如果src上面沒有給出範圍,那麼需要我們去搜集,你需要知道哪些domain是該公司的,主要通過手工來查看:
如:
- 網站的關於頁面/網站地圖
- whois反查
- 一些網站裡面的跳轉請求(也可以關注一下app)
- 還有就是百度,有些會在title 和 copyright信息裡面出現該公司的信息
- 網站html源碼:主要就是一些圖片、js、css等,也會出現一些域名
- apk反編譯源碼裡面
…………還需要你們來補充
2、子域名信息收集
工具:
- subdomain lijiejie的子域名收集工具(個人覺得挺好用的);
- layer:這個工具也不錯;
其他的還有很多,比如kali下的等等,不寫那麼多免得看著蛋疼;
但是只要是工具就會有誤報,建議大家對獲取的子域名寫個腳本處理一下;判斷哪些是可以訪問的,哪些是不可以訪問的,哪些訪問是測試頁面的。可以節約不少時間。
手工:其實也是可以工具化(爬蟲思維,不過爬蟲不是很準確)
利用google hacking 搜索,大家一定不要只用google 搜索,這樣是不全面的,還有 bing(不用翻牆)、百度、360等等,因為很多國內的網站利用google去搜索是搜不到的。這裡就不說語法了,貼幾條常用的就行了。
搜集域名和mail地址:
搜集敏感文件:site:http://xxx.com filetype:doc
搜集管理後台:site:http://xxx.com 管理/site:http://xxx.com admin/site:http://xxx.com login
搜集mail:site:http://xxx.com intext:@http://xxx.com/intext:@http://xxx.com
搜集敏感web路徑:site:http://xxx.com intitle:登錄/site:http://xxx.com inurl:sql.php
3、敏感信息收集
這一塊是比較大的一塊,我這裡舉一些:
- github源代碼:網上有工具(repoog/GitPrey)
- svn信息泄漏:這個只能用掃描器了
- 敏感文件:比如資料庫配置文件啦(有案例的)、網站源碼啊、資料庫備份文件等等
- 敏感目錄:網站後台目錄/一些登錄地址/一些介面目錄
- email:郵箱命名規則、公司是否具有郵箱默認密碼(這個可以採取社工,畢竟我司默認密碼就很弱雞)。
- 員工號:很多oa、um、sso系統都是採用員工號登錄的,所以知道員工號的規則很多時候能幫助我們進行撞庫。
- 商家信息:如果是一些具有商家系統的,能收集到一些商家賬戶(自己搞去,可以註冊,註冊資料請百度)就可以進入很多系統來測試了。
4、小結一下
其實很多時候,我們通過信息收集能得到不少的漏洞了,我這裡舉幾個簡單的案例:
- 通過搜索引擎獲取系統管理頁面,直接越權訪問;(說好的沒有詳細)
- 通過github直接找到管理後台賬號密碼;
- 通過目錄/文件掃描直接得到系統信息(ip、管理員賬號密碼)連入伺服器;
- 當然也有很多通過信息收集得到一些東西結合其他手段;
0x04 漏洞挖掘的中期–信息處理
1、信息整理
對於第三節提到的那些信息收集技術,我們不能收集完了就完了,一定好好整理,會對後期滲透有很大的幫助。這裡說一下具體怎麼整理。
利用word或excel或txt 都行,我建議word 和excel 因為txt畢竟太簡單了。
分類:
- 哪些網站功能類似;
- 哪些網站可能使用的同一模版;
- 哪些網站有waf(這個一般在url中標明就好);
- 哪些網站能登錄(註冊的賬號也一定要記住,最好可以準備兩個手機號,兩個郵箱方便註冊);
- 哪些網站暴露過哪些類型的漏洞(這個只能去烏雲上面找);
- 網站目前有哪些功能(這個稍微關注一下網站公告,看最近是否會有業務更迭);
2、漏洞整理
我們辛苦的挖洞一定要對我們挖掘出來對漏洞有一個記錄,記錄的可以稍微詳細一些,一是可以方便自己以後回顧,還有就是以後說不定有些地方出現了跟以前一樣的功能,這樣就方便我們更快的找到漏洞。這裡建議doc文檔,圖片可以貼的詳細一些。
第二個就是通過漏洞得到的一些數據:
- 訂單信息;遍歷、注入
- 用戶信息:這個可以通過撞庫獲取、任意密碼重置獲取、注入
- 資料庫用戶名密碼:注入、配置泄漏
為什麼我們要整理這些數據,因為我們要根據這些數據來設計我們的字典。爆破完好了,一樣的6。
0x05 漏洞挖掘的後期–漏洞挖掘
有了前兩步,這裡我會寫的少一點,畢竟漏洞的類型就那麼些,像前文說過就是owasp top 10、邏輯,對於挖掘這些漏洞,我覺得沒什麼特別好的辦法,就是抓包分析邏輯(這裡說的不包括對軟體客戶端的挖掘、app的挖掘);
首先我們需要對一個網站/app有一個了解要知道它的功能點有哪些(後期我會更新一個checklist介紹一下哪些功能會對應什麼樣的漏洞)。
其次我們要分析這個網站/app裡面的請求哪些是我們可以控制的參數,這些地方就是漏洞經常出沒的點。
最後就是分析邏輯,這一類別的漏洞主要還是涉及一套流程,這裡舉個例子:
例:」我們買東西」
- 首先我們要選擇:
- 篩選涉及查詢(是否可以SQL注入)
- 加入購物車:商品數量是否可以為負
- 詢問商家:
- 跳轉客服系統,跳轉url中是否含有用戶參數
- xss打客服cookie
- 釣魚+社工
- 下單:
- 填地址,涉及插入(注入)、xss
- 修改單價
- 修改總額(這裡說明一下修改總額:情況1,就是我們可能會遇到可以使用優惠卷的情況,比如我們買了100的東西只能使用5塊的優惠價,但是我有一張50的優惠卷是否可以使用;情況2,打折我們是否可以修改打折的折扣;情況3,我們是否可以修改運費,將運費改為負數;情況n)
- 備註:xss,sql注入
- 電子票據:
- 會寫抬頭
- 支付:
- 傳輸過程中是否可以修改,如果是掃描二維碼支付,我們可以分析一下二維碼中的請求url看是否可以修改以後重新生成二維碼(這裡不討論具體的支付了,因為微信和支付寶都很安全)
- 訂單完成:
- 是否可以遍歷訂單
- 評價:
- 注入、上傳圖片、xss
- 退貨…………
附邏輯漏洞安全腦圖:
大家可以無限延伸,這裡只是拋磚引玉。
0x06 說在最後的幾句話
其實這方面的文章很少,幾個原因:
- 大家會覺得就是經驗,玩多了就自然會了,教不了什麼;
- 這種分享經驗特別不好寫,到現在也不知道我寫了什麼,其實都是一個思路點;
- 懶,不願意……肯定都有一定的原因;
最後就是一點建議了:
src慢慢的挖多了系統更新不快,業務不多自然就很難挖了,所以一定要有堅持精神,深入挖掘意識,因為挖洞沒有想像中的那麼簡單;不要想一步登天,多去看看烏雲的案例分析一下別人的挖掘思路,然後跟著學。
最後謝謝大家看了這麼多廢話!下節繼續…
*本文作者MottoIN Team成員:Blood_Zer0,未經允許禁止轉載
推薦閱讀:
※反引號->命令執行
※「你的深度學習框架包含15個漏洞」,360說 | 附論文
※漏洞挖掘高級方法
※Linux PIE/stack 內存破壞漏洞(CVE–2017–1000253)預警