XSS又称为CSS,全称为Cross-site script,跨站脚本攻击,为了和CSS层叠样式表区分所以取名为XSS,是Web程序中常见的漏洞。
原理:
攻击者向有 XSS 漏洞的网站中输入恶意的 HTML 代码,当其它用户浏览该网站时候,该段 HTML 代码会自动执行,从而达到攻击的目的,如盗取用户的 Cookie,破坏页面结构,重定向到其它网站等。
例如:某论坛的评论功能没有对 XSS 进行过滤,那么我们可以对其进行评论,评论如下:
<script> while(true) { alert('你关不掉我'); } </script>
在发布评论中含有 JS 的内容文本,这时候如果服务器没有过滤或转义掉这些脚本,作为内容发布到页面上,其他用户访问这个页面的时候就会运行这段脚本。
这只是一个简单的小例子,恶意着可以将上述代码修改为恶意的代码,就可以盗取你的 Cookie 或者其它信息了。
XSS 类型:
一般可以分为: 持久型 XSS 和非持久性 XSS
1、持久型 XSS 就是对客户端攻击的脚本植入到服务器上,从而导致每个正常访问到的用户都会遭到这段 XSS 脚本的攻击。(如上述的留言评论功能)
2、非持久型 XSS 是对一个页面的 URL 中的某个参数做文章,把精心构造好的恶意脚本包装在 URL 参数重,再将这个 URL 发布到网上,骗取用户访问,从而进行攻击
非持久性 XSS 的安全威胁比较小,因为只要服务器调整业务代码进行过滤,黑客精心构造的这段 URL 就会瞬间失效了,而相比之下,持久型 XSS 的攻击影响力很大,有时候服务端需要删好几张表,查询很多库才能将恶意代码的数据进行删除。
推荐教程:web服务器安全
以上是XSS攻击的原理是什么的详细内容。更多信息请关注PHP中文网其他相关文章!