xss-lab 1-10关过关记录

news2024/11/23 22:14:30

前言

最近发现xss学的知识点都忘干净了,来打一打靶子并且记录一下这些过关经历。


level1

特性:

1.get型传参

2.无任何过滤

过关操作:

直接构造payload传参过关


level2

get型传参

我们在输入框中输入payload发现并没有弹窗。

查看网页代码。

 他上面显示的内容已经把我们的<>给过滤,无法执行xss。

但是发现下方输入框代码并没有给我们过滤。

 在此处构建payload过关。

没有过滤<>,我们直接闭合他们的语句直接插入我们自己的xss语句。

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

总结 :在input标签中的xss,可以通过闭合双引号实现插入语句


level3

输入payload,无反应,查看代码。

他过滤了双引号,语句又在""内。

绕过思路:利用点击事件属性进行绕过。

这一关其实网上的博客都讲的很含糊,细究他其实有一定运气成分。

他的第一个'会转义成为",后面会补上一个="。(他的这个转义函数对单引号的转义乱七八糟的)

我们输入事件刚好要输入=,所以输入='他就会代替后面的="。但其实现实没有这么便捷的给我们提供方便的事情。

我们只要知道过滤双引号单引号可以用事件绕过就好了。

解法:构造' οnclick='alert()

总结:在双引号之间无法绕出双引号的情况,利用鼠标事件绕过。

 


level4

检测:他会删除<>/符号,不过滤单引号,过滤"会替换成" =",但如果你反客为主输入" ="他就不转义了。

解法:直接跟上个一样,可以直接双引号闭合就好了

构建:" οnclick="alert()

总结:这个靶场的转义有问题,给我们这样的解法。毕竟谁家文本编辑处出现这种符号不正常的情况肯定加班就得修复。


level5

检测:

对onclick的on做了检测,会转化为o_n

对<script>进行过滤,给你加一个_(实战留言板,评论区等不会出现这种操作)

未对<>进行转义,未转义<>就有无限可能。

思路:不转义<>直接不跟他啰嗦,闭合他的语句自己构建个新的完事。这里利用<a>标签配合javascript伪协议绕过on和<javascript>(很少有这种不转义<>的网站了)

payload: "><a href='javascript:alert(123);'>点击搜索</a>

总结:遇到甘愿更改用户输入内容来保证防御的网站,过滤on和<script>可以尝试使用伪协议

 


level6

检测:对on,script,href做了过滤。

思路:大小写绕过

payload:"> <ScRiPt>alert()</ScRiPt><"

总结:对于关键词判断可以使用大小写绕过尝试


level7

检测:他是把我们的输入的on关键字给删除,而且没有循环检测,只检测一次,那么包夹一下就能绕过

payload:" oonnclick="alert(123)

总结:遇到这种另类的几乎真实网站没见过的直接把我们某些字符给删除的操作,可以尝试包夹的方式绕过。


level8

检测:把我们输入的内容转交给下方链接的href属性。

下方链接同时过滤javascript。同时转义&和"。

但是输入框没有过滤&

思路:通常情况下网站使用的安全框架会把<>和&一起转义。但是他没有转义,所以我们可以用html十进制或者16进制码来绕过。

实体码:HTML实体编码对照表 - Oren

payload:

&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#34;&#106;&#97;&#100;&#101;&#110;&#34;&#41;总结:遇到没有转义&的就有了无限可能,用实体码绕过。(虽然大多数直接给转义)


level9

检测:input标签都过滤了,绕不了,但是看源码发现链接他检测你有没有http://,没有转义&

思路://是javascript的注释符号。刚好用来绕过。

payload:&#106;&#97;&#118;&#97;&#115;&#99;&#114;&#105;&#112;&#116;&#58;&#97;&#108;&#101;&#114;&#116;&#40;&#34;&#106;&#97;&#100;&#101;&#110;&#34;&#41;//http://www.baidu.com

 总结:这个看源码才能看出来,实战看命。


level10

检测:这关没有输入框,有一个get传参。

查看网页源码能发现三个隐藏input标签:

type=hidden会隐藏输入框。

思路:尝试get传参给这三个input标签赋值。找到那个能够被赋值的标签,然后进行一个语句构造利用注释符把他提取出来。

解题过程:

我们传参看一下情况:

http://192.168.128.1/xss/level10.php?keyword=well%20done!&t_lick=aa&t_history=bb&t_sort=dd

再看一眼源码。

 t_sort变了。开始整吧。

构造payload:

" type="text" οnclick="alert()"//

总结:其实这种难度挺大的,毕竟真的实战中代码一大片一大片的很难找这种隐藏的,如果真找到了也不一定想这个一点也没有过滤,作为一个思路吧。

总结

可以看到他不转义符号咱基本都好绕过,一旦转义了符号基本上就很难绕过了。即使绕过也需要一定的运气成分,后面的利用也会很困难。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1562132.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python接口自动化测试-篇1(postman+requests+pytest+allure)

Python接口自动化测试是一种使用Python编程语言来编写脚本以自动执行针对应用程序接口&#xff08;APIs&#xff09;的测试过程。这种测试方法专注于检查系统的不同组件或服务之间的交互&#xff0c;确保它们按照预期规范进行通信&#xff0c;而不涉及用户界面&#xff08;UI&a…

2024年04月IDE流行度最新排名

点击查看最新IDE流行度最新排名&#xff08;每月更新&#xff09; 2024年04月IDE流行度最新排名 顶级IDE排名是通过分析在谷歌上搜索IDE下载页面的频率而创建的 一个IDE被搜索的次数越多&#xff0c;这个IDE就被认为越受欢迎。原始数据来自谷歌Trends 如果您相信集体智慧&am…

书生·浦语训练营二期第二次笔记

1. 部署 InternLM2-Chat-1.8B 模型进行智能对话 1.1 配置环境 创建conda环境&#xff0c;安装必要的库 studio-conda -o internlm-base -t demo # 与 studio-conda 等效的配置方案 # conda create -n demo python3.10 -y # conda activate demo # conda install pytorch2.0.…

自定义 Unity Scene 的界面工具

介绍 文档中会进行SceneView的自定义扩展&#xff0c;实现显示常驻GUI和添加自定义叠加层&#xff08;Custom Overlay&#xff09;。 最近项目开发用回了原生的Unity UI相关内容。对于之前常用的FairyGUI来说&#xff0c;原生的UGUI对于UI同学来讲有些不太方便。再加上这次会…

圈子小程序源码-圈子系统成品搭建-APP小程序H5三端源码交付,支持二开!PHP书写,uniAPP后端开发!

【首页】 圈子列表页可分为个人圈子、企业圈子、加入圈子、智诚工业圈子 (平台圈) 四种。 其中重要圈子可选择置顶&#xff0c;方便快速进入:个人圈子和企业圈子数量有限始终位于前位。也可通过搜索快速搜索圈子。 为了实现流量分散入口的集中&#xff0c;将创建企业圈子、发…

服务器设置了端口映射之后外网还是访问不了服务器

目录 排查思路参考&#xff1a; 1、确认服务是否在运行 2、确认端口映射设置是否正确 3、使用防火墙测试到服务器的连通性 4、检查服务内部的配置 5、解决办法 6、学习小分享 我们在一个完整的网络数据存储服务系统设备中都会存有业务服务器、防火墙、交换机、路由器&a…

缓存(反向代理)服务器-varnish

varnish简介&#xff1a; varnish是一款高性能且开源的反向代理服务器和HTTP加速器&#xff0c;&#xff08;其实就是带缓存的反向代理服务器&#xff09;它可以把整个HTTP响应内容缓存到内存或文件中&#xff0c;从而提高web服务器器的响应速度。 与传统的squid相比&#xff0…

electron 打不同环境的包

我用的打包工具: electron-builder 1、在package.json 文件的同级下创建2个js文件 electron-builder-test.config.js electron-builder.config.js electron-builder-test.config.js const basejson require(./electron-builder.config.js); module.exports {extraMetada…

【opencv】教程代码 —features2D(6)透视矫正:读取两个棋盘格图片并进行图像对齐...

perspective_correction.cpp 透视校正 hconcat(img2, img1_warp, img_draw_warp); hconcat(img1, img2, img_draw_matches); #include <iostream> // 引入iostream库&#xff0c;用于进行标准输入和输出操作 #include <opencv2/core.hpp> // 引入opencv的core库&am…

session学习

3次请求均有sessionID session的作用 跟踪用户的行为&#xff0c;方便日后推荐客户端和服务器交互相对安全些session是代表会话&#xff0c;也可理解为客户端和服务端的交互sessionID是服务器生成的唯一字符串&#xff0c;用来跟踪用户行为cookie是浏览器自带的&#xff0c;专…

4.1作业

对菱形继承给出的代码中每一个类&#xff0c;写一个有参构造函数写出下列类的&#xff0c;构造函数(有参、无参)&#xff0c;析构函数&#xff0c;拷贝构造函数和拷贝赋值函数 class Father { int *p; const string name; } class Son:public Father { int *age; 3整理思维导图…

【JavaWeb】Day30.SpringBootWeb请求响应——响应

响应 HTTL协议的交互方式&#xff1a;请求响应模式&#xff08;有请求就有响应&#xff09;那么Controller程序&#xff0c;除了接收请求外&#xff0c;还可以进行响应。 1.ResponseBody 在我们前面所编写的controller方法中&#xff0c;都已经设置了响应数据。 controller方…

前端订阅推送WebSocket定时任务

0.需求 后端定时向前端看板推送数据&#xff0c;每10秒或者30秒推送一次。 1.前言知识 HTTP协议是一个应用层协议&#xff0c;它的特点是无状态、无连接和单向的。在HTTP协议中&#xff0c;客户端发起请求&#xff0c;服务器则对请求进行响应。这种请求-响应的模式意味着服务器…

路径规划——搜索算法详解(六):LPA*算法详解与Matlab代码

上文讲解了D*算法&#xff0c;D*算法为在动态环境下进行路径规划的场景提出了可行的解决方案&#xff0c;本文将继续介绍另外一种动态规划路径的方法——Lifelong Planning A*&#xff08;LPA*&#xff09;算法。 该算法可以看作是A*的增量版本&#xff0c;是一种在固定起始点…

语音克隆技术浪潮:探索OpenAI Voice Engine的奇妙之旅

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

Bridge Champ与Ignis公链:探索Web3游戏的新未来

在数字化和去中心化的浪潮中&#xff0c;Web3游戏与公链的融合为游戏行业带来了新的变革。特别是&#xff0c;Bridge Champ和Ignis公链的结合&#xff0c;展示了一种全新的游戏生态模式&#xff0c;不仅为玩家提供了更加公平、透明的游戏体验&#xff0c;同时也为游戏开发和运营…

Higress 基于自定义插件访问 Redis

作者&#xff1a;钰诚 简介 基于 wasm 机制&#xff0c;Higress 提供了优秀的可扩展性&#xff0c;用户可以基于 Go/C/Rust 编写 wasm 插件&#xff0c;自定义请求处理逻辑&#xff0c;满足用户的个性化需求&#xff0c;目前插件已经支持 redis 调用&#xff0c;使得用户能够…

C++ 注册Nacos

下载源码&#xff1a; git clone GitHub - nacos-group/nacos-sdk-cpp: C client for Nacos 编译源码 cd nacos-sdk-cpp cmake . make 生成库文件 在nacos-sdk-cpp 下 注册nacos 将include 和libnacos-cli.so libnacos-cli-static.a 放入你的工程 如果Nacos服务地址:…

3.26号arm

1. SPI相关理论 1.1 概述 spi是一种同步全双工串行总线&#xff0c;全称串行外围设备接口 通常SPI通过4个引脚与外部器件相连&#xff1a; MISO&#xff1a;主设备输入/从设备输出引脚。该引脚在从模式下发送数据&#xff0c;在主模式下接收数据。 MOSI&#xff1a;主设备输…

LangChain入门:9.使用FewShotPromptTemplate实现智能提示工程

在构建智能提示工程时&#xff0c;LangChain 提供了强大的 FewShotPromptTemplate 模型&#xff0c;它可以帮助我们更好地利用示例来指导大模型生成更加优质的提示。 在这篇博文中&#xff0c;我们将使用 LangChain 的 FewShotPromptTemplate 模型来设计一个智能提示工程&#…