跨站脚本攻击(XSS)

事件背景:
定期对各个应用进行安全检测,当然,其中的一种检测方式是通过webscan360,发现多个网站存在跨站脚本攻击漏洞。下面是360的描述:
漏洞类型:跨站脚本攻击(XSS)
所属编程语言:php
描述:
目标存在跨站脚本攻击。
1.跨站脚本攻击就是指恶意攻击者向网页中插入一段恶意代码,当用户浏览该网页时,嵌入到网页中的恶意代码就会被执行。一般用来盗取浏览器cookie
2.跨站脚本攻击漏洞,英文名称Cross Site Scripting,简称CSS又叫XSS。它指的是恶意攻击者向Web页面中插入一段恶意代码,当用户浏览该页面时,嵌入到Web页面中的恶意代码就会被执行,从而达到恶意攻击者的特殊目的。
危害:
1.恶意用户可以使用该漏洞来盗取用户账户信息、模拟其他用户身份登录,更甚至可以修改网页呈现给其他用户的内容。
2.比如有一天你打开一个网站,突然弹出一个窗口 提示叫你登陆 你以为是这个网站让你登陆 当你输入账户密码以后你的所有操作都被黑客记录了,还有小白问“盗取浏览器cookie有什么用” 黑客盗取你的浏览器cookies以后 可以利用你的cookie登陆你在特定网站或者论坛的账户。
3.网站常见的存在跨站的地方多半都在留言本,搜索,评论。这些地方, 特别是有留言和评论的地方要注意,你网站这两个地方存在跨站,黑客可以直接在这两个地方提交跨站攻击脚本,你登陆后台查看留言和评论以后就被攻击了。
解决:
在这里,我举其中一个网站漏洞,经360指出存在漏洞的页面看到包含漏洞的代码为(‘<?php echo$_GET["url"];?>’),$_GET变量用于收集来自 method="get"的表单中的值,所以对于不法用户如果输入非法url而我们又没有对输入的内容做过滤,那么就容易被人利用此漏洞达到不可告人的目的。
360给出的解决方法:
避免XSS的方法之一主要是将用户所提供的内容输入输出进行过滤,许多语言都有提供对HTML的过滤,因为我的网站为php,所以用htmlentities()或是htmlspecialchars()对用户的输入进行过滤,这样来保证用户输入的url合法性。


你可能感兴趣的:(PHP,安全,xss,跨站攻击)