简单的xss注入和防御

Posted khz521

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简单的xss注入和防御相关的知识,希望对你有一定的参考价值。

什么是xss注入:

  xss通常就是通过巧妙的方法注入指令到指定页面,使用户加载执行的恶意的js(或者其他类型)的代码,攻击者会获取用户的一系列信息,如cookie等,从而进行其他用户信息的盗取

为什么会产生xss:

  和sql注入一样,对用户输入的绝对信任,没有对用户输入做绝对的过滤

xss注入实现:

  在提交的输入框中放入我们的<script>标签

  技术图片

  提交之后结果:

  技术图片

  查看网页源代码:果然,后台代码没有对我们提交的代码做修改,直接解释为html代码执行,会产生以下效果 

  技术图片

  这只是一个简单的弹窗,要是换成cookie的发送呢?就可以用户在不知情的情况下,获取到用户的cookie,从而冒充用户登录

xss的防御:

  xss的防御就之需要一点,也就一点就足够了,就是将用户输入的所有字符都转义为html实体(<  ---&lt;)显示,因为xss注入不管是标签注入还是属性注入,都需要<或者引号的支持,和防御sql注入一样,将本次所有的输入替换成value的值就可以

防御代码:将用户用户输入的所有参数转换为HTML实体即可

  技术图片

以上是关于简单的xss注入和防御的主要内容,如果未能解决你的问题,请参考以下文章

3大Web安全漏洞防御详解:XSS、CSRF、以及SQL注入解决方案

XSS攻击及防御总结和各平台通关思路

XSS攻击与防御

SpringMVC过滤字符防御xss攻击

java的框架(比如struts2)对于xss攻击、sql注入等黑客方式有防御么?

XSS攻击原理及防御措施