<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    利用Xray+BurpSuite自動挖掘帶sign簽名的漏洞

    VSole2022-06-26 06:45:57

    一、起因:

    Xray是一個非常好的自動化漏洞挖掘工具。我們通常在進行漏洞挖掘的時候,都會通過BurpSuite+Xray進行自動化的漏洞挖掘,官方也給了配置和使用方法,鏈接放到參考文獻中,感興趣的朋友也可以自己搜索一下。

    工具雖然好用,但這次遇到的是一個有簽名算法的目標,在這種情況下,上面的這套組合就顯得有氣無力了

    嘗試掃了一下,雖然發送了很多payload,但沒有發現任何漏洞。

    由于從事于漏洞挖掘工作,總有一種感覺(感覺很重要,大家都懂得),這個東西有漏洞。

    最后通過自己努力和改造,終于挖到了XSS漏洞。這篇文章主要給大家說說我是怎么挖到這個漏洞的

    XSS是web安全中最為常見的漏洞,XSS全稱是Cross Site Script。XSS攻擊通常指黑客通過“HTML注入”篡改了網頁,插入了惡意腳本,從而控制用戶瀏覽的一種攻擊。這里的跨站訪問,可以是從正常的網站跨到黑客的服務器,也可以是黑客的服務器跨到正常的網站。XSS漏洞經常出現在需要用戶輸入的地方,這些地方一旦對輸入不進行處理,黑客就可以進行HTML注入,進而篡改網頁。

    先放一張成功后的圖片。

    二、必備工具:

    操作系統: WIN10_X64

    1. BurpSuite(Community)

    滲透神器,如果你還不知道這個,那么只能說明你不是圈內人,趕快去百度一下吧。(或者掃碼領取burp相關的教程)

    https://portswigger.net/burp/communitydownload

    2. xray(免費社區版):

    是從長亭洞鑒核心引擎中提取出的社區版漏洞掃描神器,支持主動、被動多種掃描方式,自備盲打平臺、可以靈活定義 POC,功能豐富,調用簡單,支持 Windows / macOS / Linux 多種操作系統,可以滿足廣大安全從業者的自動化 Web 漏洞探測需求。

    https://github.com/chaitin/xray/releases

    3. jadx:

    jadx是個人比較喜歡的一款反編譯利器,同時支持命令行和圖形界面,能以最簡便的方式完成apk的反編譯操作。

    https://github.com/skylot/jadx

    4. Jython:

    Jython本質上是一個Java應用程序,它允許編碼人員使用Java編碼調用Python庫反之,也可以使用Python調用Java的庫。

    https://www.jython.org

    5. Python:

    我使用的是Python3.7

    三、原理:

    1、首先看看我們常用的工具組合:

    分析一下原因,通過服務器端都是url的請求,應該是這樣的處理方法(python偽代碼):

    #接收到客戶端請求
    def Get_Request(param):
    		if param.sign != get_sign(param.url):
    			 return 0
    #開始對參數進行邏輯操作
    

    通過上面的圖我們可以看出瀏覽器發出的鏈接都是直接發送到xray的,所以如果加入了簽名算法,那么就直接返回了,根本到不了核心的邏輯。

    2、改造現有的工具組合:

    從上面的圖可以看到,先把url發到xray,由xray轉發到BurpSuite,在Burp中加入了ptyhon插件對url計算sign,替換了原有的url,這樣就可以跳過簽名的檢測了。

    知道了原理。我們就可以行動了。

    四、最佳實踐:

    1. 找到需要測試的目標。

    這里是的目標是apk文件,打開BurpSuite進行抓包,找到需要滲透測試的請求,發現請求中有sign的字段,應該是有簽名校驗的。形式如下:

    https://www.xxxx.com/data?id=12346&imei=aabbcc&sign=88a5e407a1c85d2ef063b8e2007278e9
    

    2. 找到sign簽名的算法。

    關于怎么找算法,不是這篇文章的重點,這里簡單介紹一下,無論是apk還是web都是一樣的,apk的加密算法通常都放到so文件或者直接在java代碼中;web的簽名算法,通常都會寫到js腳本中,作為一名合格的滲透人員,相信這個應該都不是難事。

    本文的目標算法比較簡單,作者把算法直接寫到了apk中,使用jadx,搜索sign的字段,很容易就找到了算法:

    3. 既然找到算法,下一步,就是開始編寫BurpSuite的插件,插件的功能,就是根據url計算出sign的值,替換成新的url進行請求。

    我們不造輪子,直接用官方的插件來修改。

    從Github上下載官方python插件,地址:

    https://github.com/portswigger/python-scripter

    官方有詳細的API介紹文檔,大家可以參考:

    https://portswigger.net/burp/extender/api/index.html

    貼上我修改后的源碼的關鍵部分:

    def gen_sign(_uri):
     uri = _uri
     secret_key = "AABBBCCDDEEFFGG"
     parsed_tuple = urlparse.urlparse(uri)
     _param_json = urlparse.parse_qs(parsed_tuple.query)
     aList=[];
     for _json_key,_json_vaule in _param_json.iteritems():
             aList.append(_json_key)
     aList.sort()
     
     for _json_key1 in aList:
             sign +=_json_key1
             sign +=_param_json[_json_key1][0]
     sign +=secret_key
     m = hashlib.md5()
     m.update(sign)
     a_md5 = m.hexdigest()
     
     return a_md5
    

    4. 加載寫好的插件加入到BurpSuite中,并且開啟插件(Extender--

    >Extensions--->Burp Extensions ---->add)。

    5. 按照上面的原理進行修改后,開始運行,出去吃個飯,回來后,發現XSS漏洞一枚。

    五、總結

    通過本文的介紹,相信大家以后遇到有sign校驗的目標時,又多了一種處理的方式。

    當然也可以利用其他的組合,比如:xray+mitmproxy,burpsuite+scan等,總之方法有很多,適合自己就行,在這里只是拋磚引玉一下。只要是能達到目的就可以。

    做為一個滲透測試人員,相信大家手上有很多優秀的滲透測試工具,這些工具的組合,就類似于我們手中的魔方,可以任意組合使用,使用的好,就可以事半功倍。

    六、參考文獻:

    [1]. Xray:https://docs.xray.cool/#/scenario/burp
    [2]. burpSuite:https://portswigger.net/burp
    [3]. jadx:https://github.com/skylot/jadx
    [4]. jython: https://www.jython.org
    漏洞挖掘sign
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    嘗試掃了一下,雖然發送了很多payload,但沒有發現任何漏洞。最后通過自己努力和改造,終于挖到了XSS漏洞。XSS是web安全中最為常見的漏洞,XSS全稱是Cross Site Script。XSS攻擊通常指黑客通過“HTML注入”篡改了網頁,插入了惡意腳本,
    業務漏洞挖掘筆記
    2022-04-03 21:16:10
    業務漏洞挖掘筆記多年的實戰業務漏洞挖掘經驗,為了讓今后的業務漏洞挖掘工作更清晰,以及盡可能的把重復性的工作自
    Activity漏洞挖掘詳解
    2021-10-18 16:22:12
    2Activity漏洞初步介紹1.Activity基本介紹在學習Activity的漏洞挖掘之前,我們先對Activity的基本運行原理有一個初步的認識。
    支付漏洞-金額溢出Int型最大值2147483647,超過該值后,從0開始技術,即1=2147483649利用方式:1.直接修改金額2.通過修改數量,比如用1300元買3300元的6w多件商品支付漏洞-小數點買1.49個商品和1.5個商品的區別,或2.0.019=2這樣支付漏洞-重復購買限購商品簽約漏洞(如多手機掃碼進入支付頁面,然后依次支付,解除自動續費,那么會以優惠價開通多次,比如首次簽約會很
    一步一步教你漏洞挖掘之從挖掘思維來看Weblogic CVE-2021-2109
    主要的環境準備參見上一篇文章,這里介紹本篇文章中會用的的模擬工具以及另一個靜態分析工具。
    【經典回顧系列】 Windows SMB Ghost CVE-2020-0796漏洞分析與利用(三)
    前 言 歡迎各位大佬們給該項目點一個star https://github.com/flipped-aurora/gin-vue-admin/
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类