如何防止javascript注入攻击

JavaScript012

如何防止javascript注入攻击,第1张

很多网站都有私信或者留言板功能。登录用户可以发表评论或者给其他用户(包括管理员)发送私信。一个最简单的模拟表单如下:

<form action="sendmessage.php" method="post'">

<textarea name="message"></textarea>

<input type="submit" value="send" />

</form>

当用户点击发送时,这条消息会被保存在数据库中指定的数据表中,另一个用户当打开这条消息的时候将看到发送的内容。但是,如果一个恶意攻击者发送的内容包含了一些javascript代码,这些代码用于偷取敏感的cookie信息。当用户打开看到这条消息的时候,恶意的javascript代码就会得到执行,造成敏感cookie信息泄漏。攻击者可以利用获得这些cookie信息进行session hijacking会话劫持,直接以合法用户的身份登录其他用户的账户。

恶意攻击者可以在消息框中加入一下javascript代码:

<input type="text" name="test" id="test" onblur="a()"/>

<script>

function a(){

var obj = document.getElmentById("test")

if(obj.value!=""){

//如果你想只是不能输入,但移入有光标就用reaonly

obj.readonly=true

//如果要让文本框变灰,用disable

obj.disable=true

}

}

</script>

找到争夺原因,再做分析啊

1)是否验证时获取的对象与验证对象不一致

2)是否在验证程序中明确了唯一的验证对象,每一步只操作一个输入框

3)是否程序死循环导致的,或者交叉引用输入框导致的

。。。。。。其他很多情况,要具体分析的