聽說大家都在要星標,我也要一個吧,可以把我的公眾號打上小星星嗎?~
又雙叕周一了,還是老樣子,來篇技術向的給大家提提神吧~
如果你對漏洞挖掘或技術向不感興趣,那么到這就可以了,不用再繼續往下滑了~
0x00
上次發的[SRC實戰:改個返回包就嚴重了?]中最核心的一個操作就是修改返回包,有一些小伙伴有一些疑問,只有這種情況可以修改返回包嗎?還有什么其它的場景比較適合呢?um,這次就分享一下,我一般在什么場景下會去修改返回包。
繞過前端登錄
這種場景和前文一樣,直接就卡在登錄頁面進不去了,js逆向難度又高,這時候怎么辦?修改返回包咯,將登錄失敗的返回包替換為登錄成功的返回包,騙一下前端。
具體怎么去找成功返回包的結構,有興趣可以去翻前文, 進去之后就可以看看有沒有未授權接口咯~
越權測試
在驗證水平越權或垂直時,我有時候會直接將自己的個人信息返回包給改了,比如返回的用戶詳情中,將ID改為另一個用戶的ID,或者將所屬機構、組織等信息,修改為另一個組織。
這樣有什么好處呢?對于依賴用戶ID或者組織ID的接口,沒必要去改參數了,也就不需要考慮接口的簽名或加密等操作。
這種方式大家也可以發散一下,比如接口有簽名或加密,修改不了請求參數,這時候可以換一種思路,通過改返回包來改變原本的請求參數。
發現隱藏菜單
有時候一些網站會根據用戶的不同角色、權限顯示不同的菜單,這時候我們可以通過修改登錄時返回的角色類型或者權限類型來騙一下前端,可能就會出現一些管理菜單,如果此時服務端沒有進行嚴格的權限校驗,就越權啦!
繞過使用限制
有些時候, 我們在使用一些功能的時候,會有使用限制,比如限制次數。但是這些配置都是從服務端獲取的。這時候我們就可以通過修改獲取配置的返回包,來繞過使用限制。
有人可能會問, 那我直接重放請求包不是一樣的效果嗎?確實是,但是這個功能可能比較復雜,我需要的不僅僅是重放,請求內容很難構造。第二則它的內容可能有簽名或加密,沒有辦法直接重放。
0x01
眾所周知 ,修改返回包的方式需要成功最少需要兩個條件:
-
?前端信任服務端返回的數據。
-
部分重要邏輯的校驗放在了前端,服務端信任前端的校驗結果。
所以不是什么時候改返回包都有用的,但是也提供了另一種解決問題的思路吧,希望能給各位師傅們一點點啟發~
歡迎關注我的公眾號“混入安全圈的程序猿”,更多原創文章第一時間推送!