JavaScript數據安全實戰!攻擊與防範

最近雖說到了考試周了,但還是忍不住會編一些程序,最近再看《JavaScript王者歸來》一書,以前我就知道JavaScript這門語言十分的神奇,雖說直接用jquery來做應用比較簡單,但是想完完整整了解這個語言的特性我還是差的太遠了,不廢話了,推薦大家都看看這本書。

利用JavaScript的常見攻擊有以下幾種:

1.僞造表單提交目的地,從而竊取數據

解釋:HTML表單的提交由form的action屬性決定,而JavaScript具備從客戶端修改form的action能力

有一個簡單的頁面有如下一個表單:

<form actioni="a.action" name="myForm">
<input type="text" name="data" value="aa"/>
<input type="submit"/>
</form>
破解方法:

在瀏覽器地址欄中輸入:

JavaScript:document.myForm.action="b.action";void(0);
這樣數據就會被提交到b.action中而不是a.action

2.僞造數據,繞過合法性驗證

解釋:很多Web應用在,在前臺用javascript來控制數據的合法性,但是這種合法性是很容易被繞過的

有如下一個表單:

 <form name="myForm" action="a.html" οnsubmit="return !/\s+/.test(document.myForm.textData.value) && /\d+/.test(document.myForm.numData.value) || alert('請輸入正確格式') || false;">
	<input name="textData" type="text"/>
	<input name="numData" type="text"/>
	<input type="submit">
	</form>
其中textData必須爲字符numData必須爲數學,否則無法提交

破解方法:

在瀏覽器地址欄中輸入:

JavaScript:document.myForm.οnsubmit=function() {return true;}; void(0)

更詳細的介紹參照《JavaScript王者歸來》一書的第21頁。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章