一.什么是XSS跨站脚本
XSS(Cross Site Scripting)跨站脚本诞生于1996年。XSS一直被OWASP(Open Web Application Security Project)组织评为十大安全漏洞中的第二威胁漏洞,也有黑客把跨站脚本当做新型的“缓冲区溢出攻击”,而JavaScript则是新型的Shellcode。2011年6月份,国内知名信息发布平台新浪微博爆发了XSS蠕虫攻击,新浪微博的XSS蠕虫爆发仅持续了16分钟,感染的用户就达到将近3300个。
XSS最大的特点就是能注入恶意的HTML/JavaScript代码到用户浏览的网页上,从而达到劫持用户会话的目的。由于HTML代码和客户端JavaScript脚本能在受害者主机上的浏览器任意执行,这样等同于完全控制了WEB客户端的逻辑,在这个基础上,攻击者可以轻易地发送各种各样的攻击。
XSS是一种经常出现在WEB应用程序中的计算机安全漏洞,是由于WEB应用程序对用户输入过滤不足而产生的。攻击者利用网站漏洞把恶意的脚本代码注入到网页中,当其他用户浏览这些网页时,就会执行其中的恶意代码,对受害用户可能采取Cookie资料窃取、会话劫持、钓鱼欺骗等攻击手段。
二.XSS跨站脚本实例
如果不明白跨站脚本漏洞的成因,请思考下面的代码:
andrew这段代码使用内置的alert()函数来打开一个消息框,消息框中显示XSS信息,使用XSS弹出恶意警告框,代码为:
XSS输入也可能是HTML代码段,如要使网页不停地刷新,代码为:
嵌入其他网站链接的代码为:
以一个简单的PHP网页为例来具体说明XSS攻击的原理。
Andrew请输入名字:
xss.php:
测试结果测试结果是:
echo $_REQUEST[name];
?>
以上代码使用$REQUEST[name]获取用户输入的name变量,然后直接echo输出。打开测试页面,随便输入一些信息,例如:andrew。
文本框中输入: ,这就导致一个XSS的生成。
php代码中使用了$_REQUEST方式获取提交的变量,因此我们可以用GET方式触发XSS,即直接浏览器访问:在xss.php后直接加?name=
三.XSS漏洞的危害
以往,XSS跨站脚本一直被当成一种鸡肋漏洞,只能弹窗,稍微有点危害的就用来盗取用户Cookies资料和网页挂马。如今,只要一个站点存在跨站漏洞脚本,该站点的所有用户都可能是受害者。黑客一旦挖掘到XSS漏洞,就会利用漏洞进行会话劫持、资料窃取、渗透入侵和传播蠕虫病毒等。XSS会给网站带来的危害如下:
1、盗取各种用户账号
2、窃取用户cookie资料,冒充用户身份进入网站
3、劫持用户会话,执行任意操作
4、刷流量,执行弹窗广告
5、网页挂马
6、进行DDOS攻击
7、用户提权,进一步渗透网站
8、传播蠕虫病毒
————————————————
文章来源于CSDN博主「Andrew_Funny」的原创文章,如有侵权请联系我,进行删除处理!