XSS跨站脚本攻击
XSS概述
XSS定义
XSS(Cross Site Scripting)–跨站脚本攻击。为了区别于CSS,缩写为XSS。跨站脚本攻击是一种常见的Web安全漏洞,它主要是指攻击者可以在页面中插入恶意脚本代码,当受害者访问这些页面时,浏览器会解析并执行这些恶意代码,从而达到窃取用户身份、钓鱼、传播恶意代码和控制用户浏览器等行为。
XSS产生原因
由于Web程序对用户的输入过滤不足,导致用户输入的恶意HTML/JavaScript代码注入到网页中,混淆原有语义,产生新的恶意语义。在其他用户访问网页时,浏览器会触发恶意网页代码,从而达到XSS攻击的目的。
<?php
echo $_GET["input"]."<br>";
//未做任何过滤,直接输出
?>
XSS漏洞探测
反射型XSS
反射型XSS是指恶意代码并没有保存在目标网站,通过引诱用户点击一个链接到目标网站的恶意链接来实施攻击。
平台:DVWA
Security Level: Low
攻击类型:XSS(Reflected)
在此环境下,URL中传入的参数被直接回显到了页面上。
我们可以参考,来选择在URL中传入的参数:
XSS过滤器规避速查表
这里我们使用多余的开放式括号语句:
<<SCRIPT>alert("XSS");//\<</SCRIPT>
在URL中,对想在参数值中上传的恶意代码进行URL编码
点击Excute,成功实现弹窗
从HTTP响应中,可以看到服务器返回的页面中被插入了恶意代码
平台:DVWA
Security Level: Medium
攻击类型:XSS(Reflected)
我们选择XSS过滤器规避速查表中的结束标题标签:
</TITLE><SCRIPT>alert("XSS");</SCRIPT>