記一次沒什麼技術含量的XSS注入

截至發稿,該漏洞已經修復。

0x0 前言

最近沉迷CSAPP,連看了六章,的確是爽到,直到今天下午看到了這個界面

這樸素的前端,讓我沒忍住摁F12看一眼

沒錯,就是這麼粗暴,雖然看起來內容都是在後端轉碼渲染的,不過顯然還是有文章可以做。

0x1 尋找注入點

要想注入的話有兩個要求

  • 能上榜
  • 個人信息可控

第一點很簡單,因為最近沒什麼人交題解,我隨便找個水題交了題解就上榜了,至於第二點正好利用了我之前找到的一個漏洞,就是修改信息頁面

看起來頗為正常,我們摁F12看一看

哦?看起來前端只對昵稱做了限制,其他的都沒檢查。

喵喵喵??那我豈不是可以瞎填學號??難道後端也沒檢查??發個包試試

得,這樣就成了(名字和學號都是瞎編的)

0x2 alert!

回到排行榜

可以看到非常容易就注入成功了,而且還是危險係數極高的存儲型XSS。

0x3 如何修復

其實這段代碼的意圖是非常明顯的,就是在前端渲染數據,那麼明顯有更好的方法來解決,比如Vue之類的前端框架,然後後端用json傳回數據,整個過程安全係數非常高。

0x4 後記

這次可以說是運氣非常好抓了一個這麼簡單的漏洞,不過這也反映出信息安全意識的薄弱,聯想到我航近期研究生選課頁面被黑,感覺網路安全專業真的有必要開咯。

這也提示Web開發者,就算有轉碼也不能掉以輕心,不同的地方的安全需求是不一樣的,並不是光轉碼就能搞定的。


推薦閱讀:

XSS學習之以關點面 11~15關
XSS.TV挑戰賽(二)
教大家如何找XSS漏洞並且利用
QQ空間自動發說說還能@好友是怎麼回事?

TAG:XSS | CTFCaptureTheFlag |