xss靶场练习(一)之xss.haozi.me

本文详细介绍XSS攻击的各种实战技巧,从基本的标签注入到复杂的正则表达式绕过,涵盖HTML编码、注释闭合、URL语法利用等多种手段。

目录

前言

0x00

0x01

0x02

0x03

0x04

0x05

0x06

0x07

0x08

0x09

0x0A

0x0B

0x0C

0x0D

0x0E

0x0F

0x10

0x11

0x12


 

前言

xss实战第一部曲,  实战的靶场是部署在github上的, 所以可能有些延迟(你懂的), 然后给出地址:

https://xss.haozi.me/

玩法很简单,  进行xss注入直至alert(1)成功。

fight!

0x00

首先看看布局:

看到源码什么防护都没有,  直接抛一个常规payload过了(过马路一般):

<script>alert(1)</script>

 

0x01

看到注入点是在<textarea></textarea>标签中,  所以用上一题的方法是不会被解析的, 故需要去构造标签, 闭合<textarea></textarea>, 就可以注入了:

</textarea>	<script>alert(1)</script>  <textarea>

或者,  利用error事件也可以:

</textarea><img src="" onerror=alert(1)>

由于src是空, 所以肯定会报错, 故通过错误调用事件成功注入xss:

 

0x02

这题的注入点是把值转化为字符串, 然后显示在输入框内,  这样前两题的标签闭合注入也就失效了

提到闭合,  那么就好办了,  我们可以借鉴sql注入的方法,  将前面的双引号闭合, 然后注入新的标签:

" >  <script>alert(1)</script>

同样, 利用error也可以, 方法有很多,  但思路都一样

 

0x03

发现括号, 方括号都被过滤了:

但是可以用 `` 来代替:

<script>alert`1`</script>

 

0x04

这题把括号、正括号和引号都过滤了:

可以考虑用html编码来绕过,  对编码不熟悉的可参考:     一次对浏览器解析和XSS的深度探究

将(1)进行html编码:

<img src="" onerror=alert&#x28;&#x31;&#x29;>

 

0x05

此题的注入点处于注释符之间,  而注释符的后半部被无情的替换为一个😂, 从而防止了注释被闭合:

这题涉及的知识比较牛,  就是注释方式有两种:

  •  <!-- 注释内容 -->
  •  <!--
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值