如何防止javascript注入攻击
2016-07-15
展开全部
很多网站都有私信或者留言板功能。登录用户可以发表评论或者给其他用户(包括管理员)发送私信。一个最简单的模拟表单如下:
<form action="sendmessage.php" method="post'">
<textarea name="message"> </textarea>
<input type="submit" value="send" />
</form>
当用户点击发送时,这条消息会被保存在数据库中指定的数据表中,另一个用户当打开这条消息的时候将看到发送的内容。但是,如果一个恶意攻击者发送的内容包含了一些javascript代码,这些代码用于偷取敏感的cookie信息。当用户打开看到这条消息的时候,恶意的javascript代码就会得到执行,造成敏感cookie信息泄漏。攻击者可以利用获得这些cookie信息进行session hijacking会话劫持,直接以合法用户的身份登录其他用户的账户。
恶意攻击者可以在消息框中加入一下javascript代码:
<form action="sendmessage.php" method="post'">
<textarea name="message"> </textarea>
<input type="submit" value="send" />
</form>
当用户点击发送时,这条消息会被保存在数据库中指定的数据表中,另一个用户当打开这条消息的时候将看到发送的内容。但是,如果一个恶意攻击者发送的内容包含了一些javascript代码,这些代码用于偷取敏感的cookie信息。当用户打开看到这条消息的时候,恶意的javascript代码就会得到执行,造成敏感cookie信息泄漏。攻击者可以利用获得这些cookie信息进行session hijacking会话劫持,直接以合法用户的身份登录其他用户的账户。
恶意攻击者可以在消息框中加入一下javascript代码:
展开全部
应该说有用户输入的地方,就存在sql注入或者XSS(CSS)漏洞,特别是<textarea>这种可输入长字符串的输入域。防范的方法不外乎:
1、尽可能明确限制字符长度和类型、关键字(如javascript)(注意,这里指的是在后台处理,不是js方法);
2、使用prepareStatement来封装带入的参数(而不是statement)进行持久化操作;
3、使用第三方转码工具如OWASP对带入参数转码;
1、尽可能明确限制字符长度和类型、关键字(如javascript)(注意,这里指的是在后台处理,不是js方法);
2、使用prepareStatement来封装带入的参数(而不是statement)进行持久化操作;
3、使用第三方转码工具如OWASP对带入参数转码;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询