(网安小白)XSS靶场练习

Level1

首先观察网页没有发现存在输入框,所以我们查看网站的前端代码。

 发现一个万能注入口将其改为<img src=”1” οnerrοr=”alert(1)”>(PS好像有图片的关卡都可以用),因为是第一关我们尝试最简单的,我们在URL上进行修改,将name=test修改为name=<script>alert(1)</script>。

Level2

进入第二关在输入框进行测试,发现无法用<script>alert(1)</script>注入,应该有过滤。

我们查看网页的前端代码

使用符号闭合进行XSS注入    "><script>alert('1')</script>(对input函数进行闭合)

 我们打开虚拟机查看后端代码

存在htmlspecialchars()函数,其在php中,htmlspecialchars()函数是使用来把一些预定义的字符转换为HTML实体,返回转换后的新字符串,原字符串不变。如果 string 包含无效的编码,则返回一个空的字符串,除非设置了 ENT_IGNORE 或者 ENT_SUBSTITUTE 标志。 

Level3

 首先先对输入框进行常规测试,但是没有什么用。然后我们查看后端代码

 此处的value值用了htmlspecialchars($str)对特殊字符进行了实体化,我们可以现在可以进行一些处理来跳出htmlspecialchars($str),我们找闭合点,发现闭合点是单引号所以我们可以加上'οnmοuseοver='javascript:alert(1)。

Level4

尝试<script>alert(1)</script>,发现原样输出这样表示后端应该是进行了实体化

发现原样输出,但是文本框里的<>被过滤,同时/被转义为%2F,所以猜想可能后端过滤了<>,所以我们选择构造payload:  "οnmοuseοver="javascript:alert(1)或者" οninput='alert(1)' 

 Level5

进行尝试<script>alert(1)</scipt>发现进行了过滤 

 尝试<img src=1 οnerrοr=alert(1)>发现on被过滤    

    

 在不利用script和on的时候,我们可以尝试闭合符号然后过构造超链接"><a href="javascript:alert(1)">xss</a>

在构造完成后文本框后面出现超链接,我们可以点击即可过关。 

 (L1-L5)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值