以購物流程挖掘商城漏洞

說在前面

本文針對人群

:很多朋友們接觸安全都是通過書籍;網上流傳的PDF;亦或是通過論壇裡的文章,但可能經過了這樣一段時間的學習,瞭解了一些常見漏洞的原理之後,對於漏洞挖掘還不是很清楚,甚至不明白如何下手...

可能你通過 sql-labs 初步掌握了sql注入,亦或是你通過 upload-labs 初步掌握了文件上傳,或者你通過 DVWA 的學習初步掌握了其他一些常見漏洞。但是他們都有一個弊端是:你已經知道這個地方有漏洞,甚至你知道是什麼類型的漏洞,你只要想辦法利用這個漏洞就可以了但是在進行漏洞挖掘的時候:你往往不知道哪個地方有漏洞,或者說你不知道這個地方可能存在什麼漏洞

這個時候你可能需要看一下 烏雲鏡像站(大家可自行百度,谷歌)...通過一些前輩們的漏洞挖掘報告來了解一下:你所掌握的漏洞的常見觸發點在哪,或者說一個網站哪些地方具有漏洞

因為挖掘 SRC 不僅需要收集全面的資產,而且很多網站都有各式各樣的 waf ,對於剛接觸漏洞挖掘的朋友們來說就不是那麼友好,所以對於剛接觸漏洞挖掘的朋友們來說,在挖掘 SRC 之前,很多人都是從 補天; 漏洞盒子; 先知 慢慢走過來的。

問:為什麼要選擇商城型網站的挖掘?答:商城在日常的使用中比較普及(應該沒有人沒有用過淘寶吧...),功能點相對來說比較多,而且我們比較熟悉網站的功能點,一是不用去很麻煩的尋找網站的功能點,畢竟大家平常都要購物。二是商城的功能點相比於一些靜態網站要多很多,因此可能產生的漏洞會相對較多,故而挖掘到漏洞的幾率也會提升。

問:這樣的網站從哪裡找到呢?答:站長之家,谷歌高級語法搜索等

以購物流程挖掘商城漏洞

由於很多大佬往往在進行漏洞挖掘的過程中,都是憑藉自己寫的小工具,或者是直接憑藉累積的經驗對功能點進行定向的漏洞挖掘。這樣的高效率漏洞挖掘顯然不適合一些剛接觸漏洞挖掘的朋友們,那麼本文中我們就先拋開這些大佬們的工具。通過正常的購物流程來對商城進行漏洞挖掘,以大家日常的生活方式挖出漏洞。

因為一些特殊原因,本文就拿 淘寶 做例子來演示以購物流程來進行漏洞挖掘。本文涉及到的漏洞在淘寶中均不存在,但大家可以自行根據文章內容舉一反三

登錄過程

註冊賬號

囉嗦幾句

在註冊賬號的時候,如果你不想因為你隨手發出去的表單,而導致你的電話被打爆,可以使用一些在線接收短信的平臺進行手機註冊...(血和淚的教訓

以購物流程挖掘商城漏洞

因此在這裡提供以下幾個常用的短信接碼平臺

免費接收短信Z-SMSGetFreeSMSNumberFree Online Phone10分鐘郵箱臨時郵箱、臨時電子郵箱、24小時郵箱

短信轟炸

在進行用戶註冊時存在發送短信的界面。發現發送短信時不需要輸入驗證碼才能發送,且不限制發送的驗證碼的次數,或發送驗證碼時存在繞過

以購物流程挖掘商城漏洞

繞過姿勢:挖洞技巧:繞過短信&郵箱轟炸限制以及後續

可根據現有情景自行使用繞過姿勢

任意用戶註冊

  • 打開方式一

偶遇過一個上古網站,註冊賬戶時,並沒有對註冊的賬戶的手機號或者郵箱做出限制。

以購物流程挖掘商城漏洞

  • 打開方式二

在進行用戶註冊的時候發送短信,抓包,發現包裡直接有驗證碼

以購物流程挖掘商城漏洞

但是通常可能驗證碼會經過base64等編碼手段進行編碼,解碼後也可直接獲得驗證碼

以購物流程挖掘商城漏洞

  • 打開方式三

發現發送了一個驗證碼之後,後端沒有限制輸入錯誤的次數或者沒有限制輸入的時間

那麼我們可以直接使用burpsuite裡面的爆破模塊進行爆破,可以直接爆破成功

以購物流程挖掘商城漏洞

以購物流程挖掘商城漏洞

可根據現有情景自行使用繞過姿勢

URL跳轉

發現淘寶登陸界面的URL為https://login.taobao.com/member/login.jhtml?redirectURL=https%3A%2F%2Fwww.taobao.com

以購物流程挖掘商城漏洞

更改redirectURL參數後的值為你想惡意跳轉到的URL,如: https://www.baidu.com/

以購物流程挖掘商城漏洞

繞過姿勢:分享幾個繞過URL跳轉限制的思路

可根據現有情景自行使用繞過姿勢

忘記密碼

短信轟炸

參考註冊賬號時的短信轟炸

以購物流程挖掘商城漏洞

任意密碼重置

參考任意用戶註冊進行驗證碼的Bypass

此外:還可以參考 任意用戶密碼重置的10種姿勢

登錄界面

暴力破解

經過對網站的測試,發現對登錄次數失敗沒有限制,也沒有驗證碼的限制,因此可以直接burpsuite跑大型字典,從而暴力破解賬號密碼

以購物流程挖掘商城漏洞

提供以下幾個生成字典方式

  • Github上有很多收集好的字典https://github.com/rootphantomer/Blasting_dictionary更多的可以在Github上自行尋找
  • 可能你需要生成一些特殊定製的在線生成地址一在線生成地址二
  • 下面的py腳本你也可以嘗試使用pydictor 下載地址 使用指南
  • somd5 提供的字典:https://www.somd5.com/download/dict/

越權

越權是個比較抽象的東西,在這裡因為篇幅的原因就不展開論述了

具體可以參考:我的越權之道- 小川【技術分享】聊聊越權那些事兒

進入商城

反射型XSS

進入商城之後當然是挑選物品,因此在搜索框可能存在反射型xss

以購物流程挖掘商城漏洞

繞過姿勢推薦:五道口殺氣 ——》 Bypass xss過濾的測試方法心傷的瘦子 ——》心傷的瘦子系列教程

此外:測試 XSS 就不要放過每一個搜索框,有一些商城中經常被遺漏過濾的一些地方

以購物流程挖掘商城漏洞

比如曾經我挖到某站點這類相對隱蔽的搜索框

以購物流程挖掘商城漏洞

可根據現有情景自行使用繞過姿勢

存儲型 XSS

在個人資料處可能存在存儲型 XSS

以購物流程挖掘商城漏洞

特別是在個人地址欄,因為可能手機信息要求必須是數字,郵箱格式必須是數字+字母,但是個人地址欄往往沒有做出太多的過濾

以購物流程挖掘商城漏洞

比如我曾在補天挖到關於個人地址欄的存儲型XSS,都是幾乎沒有過濾的

以購物流程挖掘商城漏洞

CSRF

與XSS對應的,在商城內部同樣可能存在 CSRF

但由於現在大多數網站都具備了 CSRF token ,且驗證了 referer

CSRF的分析和利用在 DVWA 靶場已經從 Low,Mediun, High, Impossible 幾種難度闡述了 CSRF 的分析和利用,已經很詳細了,而且紅日安全團隊出的文章已經很詳細了 ——[紅日安全]Web安全Day3 - CSRF實戰攻防

還有一些繞過姿勢,如 Bypassing CSRF Protection ——》先知有了翻譯文章 繞過CSRF防禦

具體還是參考烏雲吧 ——》 烏雲漏洞庫之CSRF

上傳頭像獲得shell

這裡沒辦法進行雲演示了...

上傳漏洞的小結可以參考我的博客 ——》 通過 Upload-labs 掌握文件上傳漏洞

同時推薦大家一個Google的插件——》Wappalyzer

Wappalyzer 是一款可以用來識別 WEB 網站所使用的建站程序以及使用了哪些相關技術的工具的谷歌瀏覽器擴展插件。看到好的網站可以通過 Wappalyzer 識別網站所用的所有技術,可以對網站搭建起到不錯的參考作用。

利用上傳漏洞時,根據相應的中間件漏洞組合,也可能能實現巧妙的繞過效果 ——》 Web中間件常見漏洞總結

可能你的webshell會被殺掉?這裡推薦 Github上的一個項目 ——》免殺webshell無限生成工具(利用隨機異或無限免殺D盾)

購買物品

修改價格

表示自己曾經也能買得起麵包機

以購物流程挖掘商城漏洞

具體有幾方面:第一是在購買產品過程中修改產品數量、價格;第二是在支付時修改總價格或者優惠價格;第三是直接修改充值價格

直接修改充值價格的極其罕見,這裡給出烏雲的一個案例 ——》 順豐寶業務邏輯漏洞

由於這個漏洞比較罕見,所以這裡補充一些烏雲案例供大家參考 ——》 烏雲案例-支付邏輯漏洞

存儲型 XSS

問:不是之前已經寫過個人資料處的存儲型 XSS 嗎,為什麼這裡還要在寫一遍?答:可能有的網站注意過這個問題,在個人資料那個入口已經做出了過濾,但是在購買物品時添加的地址確沒有做出過濾

比如曾經在對某網站測試的時候,發現個人信息的地址欄對輸入的payload做出了過濾,但是在購買物品重新添加地址的時候,代碼沒有對其做出過濾,因此導致了存儲型 XSS

以購物流程挖掘商城漏洞

SQL注入

之所以把sql注入給單獨列出來,是因為sql注入的觸發點真的太多了, 增 刪 改 查,一切與數據庫交互的地方都有可能進行sql注入。從註冊賬號,到購買物品的完成。每一個GET,POST的參數都可能存在sql注入,所以大家測試的時候需要足夠的耐心和細心。我曾經就有隻單獨對我認為在網頁上有回顯的參數進行測試的壞習慣,因此遺漏了挺多測試的點,所以希望大家不要toulan的忽略掉一些參數。

關於sql注入的篇幅也是巨大的,針對不同數據庫的特性繞過方式也是千奇百怪,這裡也不詳細展開論述了

博客裡寫了一些sql注入的payload和一些常見繞過 ——》 SQL注入一把梭

寫在最後

問:商城就只有這些漏洞嗎?答:當然不是的,可能的還有很多很多,本文僅購物流程一個思路進行漏洞挖掘,只給那些練習完靶場,但是不知道如何對一個網站下手的朋友們提供一個小思路。可以進行延伸的方面也還有很多。

問:為什麼你的漏洞都沒有繞過?答:繞過需要看當時的過濾以及當時的條件,環境等,所以由於篇幅的原因沒有展開論述,本文意在提供思路進行挖掘,但在每個漏洞下面都提供了一些bypass不錯的思路的文章鏈接

本文只以購買物品整個流程一個思路來進行漏洞的挖掘,只是片面的,可以進行漏洞挖掘的面還很廣,挖掘思路也很多。只是根據人們日常生活操作來挖掘漏洞比較的通俗易懂,也好入手,很適合漏洞挖掘的新手挖洞。在進行購物流程中,文中有沒有提到的歡迎各位師傅補充,有好的思路也請師傅們不吝賜教,有不足之處也望批評指正


分享到:


相關文章: