XSS-labs1-20关通过手册

目录

  • XSSlabs1-20关通关手册
    • 第一关level-1(无任何过滤)
    • 第二关level-2(闭合标签)
    • 第三关level-3(单引号闭合+js事件函数绕过)
    • 第四关level-4(双引号闭合+js事件函数绕过)
    • 第五关level-5(js伪协议)
    • 第六关level-6(大小写混合绕过)
    • 第七关level-7(双写绕过)
    • 第八关level-8(编码绕过)
    • 第九关level-9(检测关键字进行替换)
    • 第十关level-10(隐藏信息,隐藏type)
    • 第十一关level-11(referer)
    • 第十二关level-12(UA头部 user-agent字段)
    • 第十三关level-13(cookie)
    • 第十四关level-14
    • 第十五关level-15(ng-include包含)
    • 第十六关level-16(空格实体转义)
    • 第十七关level-17(参数拼接)
    • 第十八关level-18(参数拼接)
    • 第十九关level-19(Flash XSS)
    • 第二十关level-20(Flash XSS)

XSSlabs1-20关通关手册

第一关level-1(无任何过滤)

进入靶场第一关,查看页面给我们反馈的信息内容

XSS-labs1-20关通过手册_第1张图片

查看网页源码:

XSS-labs1-20关通过手册_第2张图片

关卡源码:

<!DOCTYPE html><!--STATUS OK--><html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<script>
window.alert = function()  
{     
confirm("完成的不错!");
 window.location.href="level2.php?keyword=test"; 
}
</script>
<title>欢迎来到level1</title>
</head>
<body>
<h1 align=center>欢迎来到level1</h1>
<?php 
ini_set("display_errors", 0);
$str = $_GET["name"];
echo "

欢迎用户".$str."

"
; ?> <center><img src=level1.png></center> <?php echo "

payload的长度:".strlen($str)."

"
; ?> </body> </html>

观察发现没有任何的过滤:

直接插入js代码

payload:
name=<script>alert('XSS')</script>

XSS-labs1-20关通过手册_第3张图片

第二关level-2(闭合标签)

使用我们之前插入js代码也就是使用上一关的js代码进行测试,看是否弹窗,发现没有弹窗

XSS-labs1-20关通过手册_第4张图片

检测页面元素:

代码确实已经写入,但是没有被执行

XSS-labs1-20关通过手册_第5张图片

查看页面源码:

发现<>被HTML实体编码了,成了实体字符。但是我们发现获取到的属性值是没有经过转码的,我们要想办法在属性被获取到的时候绕过过滤函数。

XSS-labs1-20关通过手册_第6张图片

我们构造语句,闭合input标签,再进行攻击。

payload:
keyword=">
                    
                    

你可能感兴趣的:(Web安全,xss,网络安全,web安全)