当前位置: 首页 > news >正文

XSS-Labs 各关卡测试过程

level1

  • 打开检查,发现 test 直接放入 h2 标签中
  • 此时通过 script 绕过 h2 标签
  • 构造 payload:
    127.0.0.1/xss-labs/lvel1.php?name=<script>alert(111)</script>
  • 直接使用 script 标签绕过 h2,并执行 alert,通过

level2

  • 打开检查,输入的 123 被放在 input 标签里面的 value 值
  • 输入 script 函数
    <input name="keyword" value="<script>alert(111)</soript>">
  • 此时并未闭合则加入单引号进行测试
  • 构造 payload:
    127.0.0.1/xss-labs/lvel1.php?name='><script>alert(111)</script>
  • 通过

level3

  • 打开检查,参数位置与 2 一样
  • 输入 2 的代码
    <input name="keyword" value=""> <script>alert(111)</soript>">
  • 发现参数均为 value 值,闭合操作失效
    <input name="keyword" value'>
  • 单引号闭合
  • 测试仍然失效
  • 其中 <> 被替换,则此时不适用标签,则使用 onfocus 事件进行触发
  • 此时依旧失效,即后面仍未闭合成功,则添加空格隔开,再次测试
    <input name=“keyword" value onfocus="jarascript:alert(111)”'”>
    
  • 观察代码,此时闭合成功,onfocus 可以正常触发,点击输入框,通过

level4

  • 此时与前面关卡的页面相同,则使用 3 的代码进行测试
  • 发现代码并未闭合成功,此时将单引号变为双引号再次测试
  • 通过

level5

  • 首先用 script 与 obfocus 进行测试
  • 发现 onfocus 与 script 均被替换,此时考虑使用 a 标签 href 链接的应用,通过跳转到另一个页面绕过网页
  • 构造 payload 运行,此时 href 并未被替换
  • 点击链接,通过

level6

  • 使用前面的代码进行测试
  • 发现其中关键字符后面添加了下划线,由此可判断是从字符进行判别,将小写字母改为大写字母进绕过测试(此处以 a 标签为例演示)
  • 替换后发现标签生效,即该关卡只是通过小写字母进行判别修改
  • 点击链接,通过

level7

  • 以 script 进行测试
  • 发现所有 script 均被替换成空值,即是通过判别整体的 script 完成替换的操作
  • 同时通过测试发现字符被锁定成小写
  • 此时考虑 script 嵌套,来绕过 script 的整体替换
  • 成功绕过 script 的整体替换,完善代码并运行,通过

level8

  • 观察页面,输入框的内容是直接添加在 href 里面,首先先使用第五关运行 href 的内容进行测试
  • 运行失败
  • 此时查看源代码
  • 发现链接的内容是经过一系列的关键字替换以及 htmlspecialchars 函数实体化再放进 href 里面
  • 此时使用编码的形式来绕过实体化和替换
  • javascript:alert (111) 转义后的字符:
    &#34;&#62;&#60;&#97;&#43;&#104;&#114;&#101;&#102;&#61;&#34;&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#1
  • 将转义的字符输入框内进行测试
  • 运行成功
http://www.dtcms.com/a/288184.html

相关文章:

  • 统计学习方法
  • 如何解决 ext4 文件系统的元数据损坏问题
  • 【深度强化学习】MIP-DQN 实现案例(完整Python代码)
  • [spring6: IntroductionAdvisor IntroductionInterceptor]-源码分析
  • C++编程学习(第11天)
  • Patch-wise Structural:一种引入局部统计特性的时序预测损失函数
  • eNSP综合实验(DNCP、NAT、TELET、HTTP、DNS)
  • 定时器中BDTR死区时间和刹车功能配置
  • debian的pulseaudio删掉也没事
  • Go语言pprof性能分析指南
  • SIMATIC WinCC Unified 使用 KPI 优化流程
  • 永磁同步电机无速度算法--脉振正弦注入法
  • Kakfa集群部署及主题创建
  • haproxy七层代理
  • day7--绑定媒资、课程发布
  • kafka--基础知识点--6--AR、ISR、OSR
  • Mysql系列--3、数据类型
  • RTDETR融合DECS-Net中的FFM模块
  • Verilog *2* SPI-立创逻辑派G1测试-1
  • 多表查询-8-练习总结
  • 【LeetCode 热题 100】437. 路径总和 III——(解法一)递归递归!
  • 【Linux】mmap的介绍和使用
  • [硬件电路-36]:模拟电路的基本组成要素以及模拟信号处理
  • Python条件控制艺术:侦探破解犯罪谜题逻辑
  • 浏览器渲染原理——计算属性和布局过程常考内容
  • 如何实现一个定时任务
  • LibreTv在线观影项目部署开箱即用
  • 如何解决Flink CDC同步时间类型字段8小时时间差的问题,以MySQL为例
  • 相似度度量方法
  • 车载刷写框架 --- 关于私有节点刷写失败未报引起的反思