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

【xsslabs】第12-19关

第十二关

javascript:alert(/xss/)

​User-Agent注入点​​:t_ua字段的值直接来自浏览器的User-Agent

​输出位置​​:页面显示"没有找到和javascript:alert(/xss/)相关的结果"

​alert被重写​​:调用alert会触发页面跳转

使用Burp Suite

拦截对level12.php的请求

修改User-Agent头:

User-Agent: "><script>confirm(1)</script>

转发请求   8888" type="text" οnmοuseοver="alert(666)

页面加载后会触发confirm弹窗

"闭合value属性

onmouseover=confirm(1)注入事件处理器

当鼠标悬停在隐藏字段上时触发confirm弹窗

第十三关

先测试     javascript:alert(/xss/)

​Cookie注入点​​:t_cook字段的值可能来自Cookie

​alert被重写​​:调用alert会触发页面跳转

第十四关跳过

第十五关

过关的核心是构造一个能自动触发 XSS 的 URL,并通过 ng-include加载一个存在 XSS 漏洞的页面。​在浏览器地址栏或 HackBar 中输入以下 URL

http://127.0.0.1/xsslabs/level15.php?src='level1.php?name=<img src=1 onerror=alert(1)>'
    • src参数的值用单引号包裹,确保 AngularJS 将其视为字符串路径。level1.php是同一服务器上的一个存在 XSS 漏洞的页面(它未过滤 name参数)。<img src=1 onerror=alert(1)>是自动触发的 XSS 载荷:当图片加载失败(src=1无效)时,onerror事件会自动执行 alert(1)

执行 URL 并触发过关​

在 HackBar 中输入上述 URL,点击 ​​Execute​​ 执行。页面加载后,ng-include会动态包含 level1.php?name=<img src=1 onerror=alert(1)>。由于 level1.php漏洞,<img>标签被渲染,触发 onerror事件,执行 alert(1)。页面中重写的 window.alert函数会被触发,点击确认后,自动跳转到 level16.php,过关成功。

<img onerror>不需要用户交互,页面加载即执行。

通过 ng-include包含 level1.php,利用了 level1.php的 XSS 漏洞(它直接输出 name参数值)。

单引号确保 src参数被正确解析为字符串,而不是 AngularJS 表达式,避免语法错误。

第十六关

       第16关的服务器端代码会对用户输入进行几层处理:先将整个字符串转为小写,然后将关键词 script、空格、斜杠/都替换成 HTML 实体 &nbsp;(一个不会被解释为空格的特殊字符)。

       关键在于,虽然普通的空格被过滤了,但我们可以用其他字符来充当标签属性之间的分隔符。最常用且有效的是 ​​URL编码的换行符 %0a​(或其大写形式 %0A)。

<img%0asrc=1%0aonerror=alert(1)>

<img...>​:使用 img标签来避开对 script关键词的检查。

%0a​:用换行符代替空格,分隔标签内的不同属性。服务器可能不会将其视为普通空格进行过滤,而浏览器在解析 HTML 时通常能正常将其识别为属性分隔符。

onerror=alert(1)​:这是一个经典的 XSS 向量。它指定当图片加载失败(由于 src=1是一个无效的地址)时,执行 JavaScript 代码 alert(1)

http://靶场地址/level16.php?keyword=<img%0asrc=1%0aonerror=alert(1)>

      除了 img标签的 onerror事件,你也可以尝试使用其他标签和事件处理器,只要确保用 %0a分隔属性即可。

<svg%0aonload=alert(1)>

​使用 <input>标签​​(需要用户交互,如鼠标悬停):<input%0atype="text"%0aonmouseover="alert(1)">

第十七关

payload:

http://127.0.0.1/xsslabs/level17.php?arg01=a&arg02=b 8888 onmouseover=alert(1)

    服务器端的PHP代码会获取arg01arg02参数的值,经过htmlspecialchars()函数过滤(主要转义特殊字符)后,将它们以key=value的形式拼接到<embed>标签的src属性中。这里的 ​8888​ 和 ​onmouseover=alert(1)​ 都被直接拼接到了src属性的值里。虽然8888看起来是多余的,但它并没有破坏语法结构。

​​      onmouseover=alert(1)​​ 被成功写入<embed>标签的src属性。虽然它位于src的字符串内,但浏览器在解析时,​​onmouseover依然被识别为该<embed>标签的一个有效事件属性​​。当​​鼠标移动到这片由<embed>标签定义的区域(通常是SWF文件加载的区域)时​​,onmouseover事件被触发,其指定的JavaScript代码alert(1)便得以执行。

第十八关

http://127.0.0.1/xss//level18.php?arg01=a&arg02=b onmouseover=alert(1)

服务器代码将参数直接拼接到src属性中

第十九关

      这一关需要利用Flash文件(SWF)中的XSS漏洞。由于现代浏览器已不再支持Flash,​​通关此关的关键是配置一个能运行Flash的环境并使用特定的Payload​​。

配置Flash环境

1.使用专用Flash浏览器​​

下载并安装专为Flash设计的浏览器(如 ​​Flash游戏浏览器​​)。注意关闭杀毒软件实时防护以防安装包被误删。在此浏览器中访问你的靶场地址

2.使用旧版浏览器并启用Flash​​--安装旧版浏览器(如Chrome 88以下版本)。保已安装Adobe Flash Player并​​在浏览器设置中启用Flash​​(通常需要允许网站在“首先询问”或“始终允许”下运行Flash)。

3.加载一个Ruffle扩展

payload

http://127.0.0.1/xsslabs/level19.php?arg01=version&arg02=<a href="javascript:alert(1)">1</a>

​参数说明:​

arg01=version: 该参数名 version是Flash内部用于接收版本号或特定信息的变量名,是关键的回显点

arg02=<a href="javascript:alert(1)">点击我</a>: 此参数值是一个超链接,其 href属性包含JavaScript代码 javascript:alert(1)。当用户点击此链接时,就会触发XSS。

http://www.dtcms.com/a/407172.html

相关文章:

  • 全网营销公司排名前十网站seo哪里做的好
  • 智慧养老管理系统原型设计:医疗级后台与全场景交互方案
  • 全面的网站建设电脑维修 做网站
  • 利用软件做许多网站违法吗wordpress 链接提交
  • [光学原理与应用-470]:南京科耐激光技术推出用于半导体晶圆检测的20M-120M高重频266nm皮秒深紫外激光器
  • 庆阳网站网站建设国内十大mcn公司
  • Python+appium自动化测试
  • 保定网站建设方案外包做电影网站需要
  • GitPuk入门到实战(1) - 安装教程
  • 移动网站建设口碑好论坛如何做seo
  • 云手机能够解决实体机的哪些困扰?
  • 郑州做网站zztuotian网页设计表格
  • 建立电影网站教程免费建站哪家有
  • C++ 反向迭代器模拟实现
  • 16-镜像配置-反射镜像
  • 现在做一个网站多少钱形象墙logo墙设计图
  • 高防CDN能防御什么?
  • 网站数据表怎么做地推团队去哪里找
  • 网站建设标书建立网站时什么可以使用中文
  • 网站建设的对比分析郑州网站设计见效快
  • 网站建设投票系统设计甘德网站建设
  • iBizAppHUB与OWL框架(Odoo前端)深度比对
  • excel表格通过前端fetch上传至后端flask处理流程示例
  • 前后端部署 + Nginx 配置 + Cloudflare 全攻略(通俗易懂版)
  • 工会网站开发需求分析襄阳棋牌网站建设
  • 北京交易中心网站婴儿衣服做的网站
  • 如何在CentOS 7上安装bzip2-1.0.6-13.el7.x86_64.rpm RPM包(详细步骤)
  • 可靠性的自动化测试
  • 知识管理(一)
  • 基于Win系统下PCL库入门到实践:IO模块之PLY文件的读写(附详细代码