<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>

    web漏洞挖掘指南-前端跨域漏洞

    VSole2021-10-29 08:14:39

    一.何為跨域

    1.設想一種場景,一個惡意網站上嵌入了一個iframe標簽去加載銀行的登陸頁面,高度和寬度的設置和真實的銀行官網一樣,當用戶訪問惡意網站并登錄時,攻擊者就可以利用惡意腳本通過XMLHttpRequest之類的dom操作竊取用戶的銀行卡數據,為了防止防御此類攻擊,同源策略誕生了!

    2.同源策略規定不同域的客戶端腳本如果沒有明確授權允許執行,不能讀寫另一方的資源。同協議,同端口,同主機名的兩個URL才能被認為同源。

    3.隨著web應用前后端分離模式的流行,后端開發寫完業務功能的代碼后需要提供接口給前端用,而前后端域名往往是不一致的,這時請求就會被同源策略限制,為了更方便地共享這些的跨域資源,開發者們又設計出了CORS、jsonp等方式來完成跨域請求。

    二、跨域請求發生的場景

    1.其實除了前后端分離的場景需要實現跨域請求,也會有其他常見的場景要用到跨域請求:

    2.某集團的非主營業務需要調用主站用戶的賬號信息,并將其數據顯示出來

    3.某寶、某東需要從第三方物流公司調用運單詳情

    4.本地開發程序時,本地文件夾不是在域名下面,要測試接口功能時可能需要發送ajax請求,這時也需要用到跨域請求

    5.加載第三方網站上的圖片,css樣式,js等資源,有三個標簽可以直接跨域訪問這類資源:

    <img>、<link>、<script>
    

    三、CORS跨域漏洞

    1.CORS,跨域資源共享(Cross-origin resource sharing),這種機制通過添加HTTP字段的方式規定服務器資源允許被哪些域訪問(Access-Control-Allow-Origin)、請求中是否允許發送cookie(Access-Control-Allow-Credentials)、哪些請求類型是被允許的(Access-Control-Request-Method)等等。

    2.其中最為重要的是Access-Control-Allow-Origin標頭,當這一字段設置為 時表示服務器資源允許被任何域訪問,當然如果需要請求用戶信息這類的資源,cookie也是必須帶上的,所以Access-Control-Allow-Credentials字段值要設置成true。但是當如果配置成Access-Control-Allow-Origin: Access-Control-Allow-Credentials: true ,這種會被瀏覽器默認禁止導致無法利用,最好利用的配置可以參考如下請求:

    3.如果將Origin請求頭改為evil.cn,響應頭中有Access-Control-Allow-Origin頭,并允許evil.cn讀取cookie訪問服務器資源,這類配置往往是存在跨域配置錯誤且最好利用的。

    4.綜上所述,不難發現CORS跨域漏洞出現的請求包特征,burp中可以自動添加Origin頭去尋找CORS配置錯誤,勾選如下默認配置→history中篩選帶有cors配置錯誤的特征即可:

    5.當然,網上也有師傅寫了自動搜集CORS請求的burp插件,可以對history中的請求先做一個過濾,后續再做利用:

    https://github.com/p1g3/JSONP-Hunter
    

    使用方法可參考Tips:

    https://zone.huoxian.cn/d/318-burpjsonpcors
    

    xray也可以掃描這類漏洞,但是很少用xray去掃,因為很多cors請求讀取的并不是敏感信息,這類漏洞交到SRC大概率是要被忽略的,我們需要人工判斷響應數據中的數據是否足夠敏感,xray默認配置即可掃描CORS:

    6.發現存在錯誤配置的CORS請求后,還需考慮請求是否有refer校驗,因為跨域漏洞的觸發和csrf是類似的,需要通過交互讓受害者訪問我們的惡意腳本,如果因為refer校驗不通過還需要進一步bypass。這也是大多數SRC讓提供有效poc的原因。js代碼編寫經驗較少的師傅可以用工具生成poc:

    https://github.com/0verSp4ce/PoCBox
    

    本地搭建好后在圖示處填入相關數據后即可生成poc code,可以選擇online test,也可以將poc code保存為html后本地訪問,驗證是否可以讀取響應數據:

    四、jsonp跨域漏洞

    1.相較CORS跨域而言,jsonp跨域算老方法了,瀏覽器兼容性比較好,他發送的不是ajax請求,而是利用了

    2.從jsonp跨域的實現方式來看,其請求過程就不難理解了。服務器先封裝好一個回調函數,客戶端通過類似調用腳本的方式傳遞一個callback參數給服務端,來調用跨域服務器上動態生成的json后綴文件,服務端返回數據時會將這個callback參數作為函數名來包裹住json數據,這樣客戶端就可以通過函數名來獲取對應的數據了。

    3.綜上所述,不難發現,jsonp跨域請求過程中,回調函數起著至關重要的作用,我們可以通過回調函數名的特征去尋找jsonp請求,如:callback,cb,jsonpCallback,jsonpcb等等。網上也有寫好的burp插件來完成jsonp請求收集的步驟:

    https://github.com/p1g3/JSONP-Hunter/blob/master/Jsonp_Hunter.py
    

    使用參考Tips:

    https://zone.huoxian.cn/d/318-burpjsonpcors
    

    圖示處可自定義回調函數名等特征:

    4.jsonp請求如果沒有用refer進行限制,是可以被用來劫持的,同樣可以用PoCBox生成POC進行漏洞驗證和利用,以下為利用jsonp讀取用戶信息實例:接口地址:

    http://xxx/user/getUserInfo?callback=jQuery224001622079386685593_1628667945545&uid=xxx
    

    5.online test:

    五、前端跨域漏洞與CSRF的區別

    1.剛開始學跨域漏洞時,我也會有同樣的疑問,網上對于同源策略限制的解釋眾說紛紜,有的說SOP是用來防XSS和CSRF的,當然更多的是說限制跨域請求的,基于安全考慮,當前域不能訪問其他域的資源。那么同源策略到底能不能防止CSRF呢?

    2.說說我的個人看法:說到底,同源策略只是一種限制策略,并不是禁止請求,如果有惡意腳本請求了跨域資源,那么同源策略會攔截掉響應數據,讓其無法對數據進行讀取。然而,csrf漏洞的本質其實是偽裝成受害者去完成請求,能不能讀取返回數據并不重要。如果這樣說很難理解,也可以結合漏洞場景來看:

    3.常見跨域漏洞的請求:讀取用戶信息、調用第三方平臺數據。

    4.常見CSRF漏洞的請求:密碼重置、修改用戶信息、銀行轉賬。


    漏洞挖掘cors
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    1.設想一種場景,一個惡意網站上嵌入了一個iframe標簽去加載銀行的登陸頁面,高度和寬度的設置和真實的銀行官網一樣,當用戶訪問惡意網站并登錄時,攻擊者就可以利用惡意腳本通過XMLHttpRequest之類的dom操作竊取用戶的銀行卡數據,為了防止防御此類攻擊,同源策略誕生了!
    1.設想一種場景,一個惡意網站上嵌入了一個iframe標簽去加載銀行的登陸頁面,高度和寬度的設置和真實的銀行官網一樣,當用戶訪問惡意網站并登錄時,攻擊者就可以利用惡意腳本通過XMLHttpRequest之類的dom操作竊取用戶的銀行卡數據,為了防止防御此類攻擊,同源策略誕生了!
    泄露PII的漏洞挖掘經歷什么是PII個人可識別信息這是有關一個人的數據,這些數據能幫助識別這個人,如姓名、指紋、電子郵件地址、電話號碼等。我使用提供的憑據進行測試,提交了我的用戶名和密碼并收到以下請求:POST?然后該用戶的 PII 被泄露,并且顯示了私人信息。這是我收到的返回包:有時,您需要嘗試輸入字段并處理一些意外行為。這就是為什么執行手動測試很重要,而不僅僅是依賴模糊測試,這可能會對網站造成損害。
    你也可以直接用burp+windows版微信,進行抓包,如果出現網絡錯誤,直接用Fiddler抓包然后發給burp進行測試。選擇最右側的操作按鈕,選擇將根證書導出到桌面。
    前言測試的這個資產納管到4A了,進入這個系統就是遠程堡壘機的瀏覽器,不能用其他工具測試,純手搓。一直想著是不是構造參數有問題,或者系統內部設置了不能跨域?chatgtp都問哭了,沒找到答案...又看了一會,哎這個8095端口是啥,我登陸的是29999端口當前登錄是29999端口,但是他的資源是在8095端口。。。一定要細心,然后訪問8095端口再來一發200正常了查看回顯
    前 言 歡迎各位大佬們給該項目點一個star https://github.com/flipped-aurora/gin-vue-admin/
    攻擊者可在無需認證的情況下,通過構造特殊的請求,觸發反序列化,從而執行任意代碼,接管運行ForgeRock AM的服務器。本文從漏洞挖掘的角度分析其中的技術細節,也將公開一些其他的反序列化點。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类