最近這段時(shí)間一直在研究HTML和JavaScript的安全問題,這里先整理一下Html的安全隱患。 一.Html安全隱患 1.CSRF攻擊【漏洞】 之前外我寫過一篇《淺談CSRF攻擊方式》,如果想詳細(xì)了解CSRF原理及其防御之術(shù),可以看一下。 這里簡單距個(gè)例子說明一下: 存在CSRF漏洞Html代碼: <form action="Transfer.php" method="POST"> <p>ToBankId: <input type="text" name="toBankId" /></p> <p>Money: <input type="text" name="money" /></p> <p><input type="submit" value="Transfer" /></p> </form> 以上漏洞的攻擊代碼: <form method="POST" action="http://www.Bank.com/Transfer.php"> <input type="hidden" name="toBankId" value="hyddd"> <input type="hidden" name="money" value="10000"> </form> <script> document.usr_form.submit(); </script>
如果用戶在登陸www.Bank.com后,訪問帶有以上攻擊代碼的頁面,該用戶會(huì)在好不之情的情況下,給hyddd轉(zhuǎn)賬10000塊。這就是CSRF攻擊。 2.包含不同域的Js腳本【隱患】 在Html頁面中,包含如: <script src="http://www./hello.js"/>
不同域的腳本文件,是一種值得慎重考慮的行為,因?yàn)槟惆驯菊军c(diǎn)的安全和其他站點(diǎn)的安全綁定在一起了。黑客可以通過入侵修改www.的hello.js文件,達(dá)到攻擊的效果。比如說:JavaScript Hijacking(關(guān)于JavaScript Hijacking可以參考《深入理解JavaScript Hijacking原理》)。 3.Html中的Hidden Field【隱患】 注意對(duì)隱藏字段的使用。比如hidden的<input>標(biāo)簽。 不要把敏感的信息存放在隱藏字段中,以防被別人更改替換和瀏覽器緩存。 4.上傳文件【隱患】 請(qǐng)慎重對(duì)待上傳文件這一功能,因?yàn)楣粽哂锌赡芙柽@個(gè)機(jī)會(huì)執(zhí)行惡意代碼,如圖: 所以請(qǐng)小心處理上傳文件功能。 以上是我搜集到的4種關(guān)于Htm的安全隱患,資料的主要來源都是Fortify的一些文章 ,如果有錯(cuò)漏或者補(bǔ)充,請(qǐng)和我聯(lián)系:> 轉(zhuǎn)載請(qǐng)說明出處,謝謝![hyddd(http://www.cnblogs.com/hyddd/)] 二.參考資料 1.《Input Validation and Representation Fortify Software》 2.《Common Weakness Enumeration》 3.《淺談CSRF攻擊方式》,作者:hyddd |
|