XSS_Labs靶场通关
XSS-labs靶场(1-20)
0x01 (直接漏洞注入)
1、遇到?name=text,尝试参数注入注入语句:<script>alert(‘xss')</script>
0x02(闭合符号)
从url入手开始看,依然是get方式传递参数,应该还是反射型xss闭合" "> 使用"> ….//
<script>alert(‘xss')</script>其中<和>都被编码成了html字符实体1、猜测在服务器端用htmlspecialchars()函数对keyword参数的值进行了处理2、但是问题是这里的js代码在标签属性值中,浏览器是无法执行的
htmlspecialchars()编码 “<” “>”<代表小于号(<)>代表大于符号(>)≤表示小于或等于符号(<=)≥表示大于或等于符号(>=)
思路:
- 既然上面的恶意代码被编码了,那么只能从属性值中的恶意代码处进行突破
- 要想浏览器执行这里的弹窗代码,只需要将属性的引号和标签先闭合就可以
漏洞代码:
"><script>alert('xss')</script>//
0x03(使用不带有<>的事件代码,例如:onfocus、onmouseover)
首先使用<script>alert("xss")</script> 进行测试
特殊事件:onfocusonfocus 事件在对象获得焦点时发生。onfocus 通常用于 <input>, <select>, 和<a>
最简单的实例就是网页上的一个输入框,当使用鼠标点击该输入框时输入框被选中可以输入内容的时候就是该输入框获得焦点的时候,此时输入框就会触发onfocus事件.因此点击当前页面的输入框就可以完成弹框了。
0x04
首先使用<script>alert("xss")</script> 进行测试
箭头1处直接将<和>编码转换了箭头2处却是把<和>删除了但是,事件触发却不需要使用这两个符号。用上一关的代码:level4.php?keyword="onmouseover="alert(/xss/)
0x05(<a>标签绕过)
1、首先使用<script>alert("xss")</script> 进行测试
2、使用”onfocus=javascript:alert(“xss”)”>
0x06(<a>标签的大小写绕过)
首先使用<script>alert("xss")</script> 进行测试
0x07(双写关键字绕过)
1、首先使用<script>alert("xss")</script> =>中的<script>被过滤掉2、使用onfocus=javascript:alert("xss”) =>中的onfocus被过滤成focus3、使用"><a href=javascript:alert("xss")>xss</a>// =>中的href被过滤掉
尝试双写关键字绕过
0x08(将ri编码十六进制绕过)
首先尝试<script>alert("xss")</script> =>script中的ri被替换过滤成r_i,所以尝试编码绕过
并且发现我们输入的payload漏洞代码,是被传输到友情链接的<a>标签中所以下一步测试<a>标签*经过测试,html实体编码和hex编码都可以绕过
漏洞代码:javascript:alert(/xss/)
0x09
首先使用之前关卡的漏洞代码:<script>alert("xss")</script>javascript:alert(/xss/)
漏洞代码:javascript:alert('http://')
0x0A(更改from标签中input的type属性)
首先使用之前关卡的漏洞代码:<script>alert("xss")</script>javascript:alert(/xss/)
解题技巧是:1、将input标签的type类型的hidden改为text2、将漏洞代码填写到value中
0x0B(前端代码更改,加入onmouseover)
延续上一题解法:
0x0C(使用brup更改User_Agent)
延续上一题的解法
另一种解法:查看参数t_ua传的值,就可以判断该参数就是传递User_Agent
使用brupsuite抓包传递漏洞代码
0x0D(使用brup更改Cookie)
延续上一关技巧,直接更改前端代码
第二种解法,通过brupsuite抓包重构数据包
0x0E(Exif隐写)
0x0D(ng_lnclude调用外部URL)
ng_lnclude的用法:1、ng-include 指令用于包含外部的 HTML文件。2、包含的内容将作为指定元素的子节点。3、ng-include 属性的值可以是一个表达式,返回一个文件名。4、默认情况下,包含的文件需要包含在同一个域名下。
值得注意的是:1. ng-include,如果单纯指定地址,必须要加引号2. ng-include,加载外部html,script标签中的内容不执行3. ng-include,加载外部html中含有style标签样式可以识别
漏洞代码:?src='level1.php?name=<a href="javascript:alert(/xss/)">xss<a/>'
0x0E(空格解析绕过)
尝试空格解析<img src="" onerror=alert("xss")>
0x0F(两个参数自动拼接)
因为谷歌和火狐浏览器插件的原因,弹窗没办法正常弹出,推荐使用猎豹浏览器
0x0G
与上关一致payload?arg01="onmouse&arg02="alert(/xss/)
持续更新...end#
XSS_Labs靶场通关的更多相关文章
- Upload-labs 文件上传靶场通关攻略(上)
Upload-labs 文件上传靶场通关攻略(上) 文件上传是Web网页中常见的功能之一,通常情况下恶意的文件上传,会形成漏洞. 逻辑是这样的:用户通过上传点上传了恶意文件,通过服务器的校验后保存到指 ...
- Pikachu靶场通关之XSS(跨站脚本)
一.XSS(跨站脚本)概述 Cross-Site Scripting 简称为"CSS",为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS.一般XSS可以 ...
- Web文件上传靶场 - 通关笔记
Web应用程序通常会提供一些上传功能,比如上传头像,图片资源等,只要与资源传输有关的地方就可能存在上传漏洞,上传漏洞归根结底是程序员在对用户文件上传时控制不足或者是处理的缺陷导致的,文件上传漏洞在渗透 ...
- Upload-labs 文件上传靶场通关攻略(下)
Upload-Labs靶场攻略(下) Pass-11 GET型传参,上传目录可设置,考虑00截断,在/upload/后添加1.php%00,即可上传 Pass-12 POST型传参,上传目录可设置,P ...
- 内网渗透DC-5靶场通关
个人博客地址:点我 DC系列共9个靶场,本次来试玩一下一个 DC-5,只有一个flag,下载地址. 下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题.靶 ...
- 内网渗透DC-4靶场通关
个人博客:点我 DC系列共9个靶场,本次来试玩一下DC-4,只有一个flag,下载地址. 下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题.靶场推荐使用 ...
- 内网渗透DC-3靶场通关
个人博客:点我 DC系列共9个靶场,本次来试玩一下DC-3,只有1个flag,下载地址. 下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题.靶场推荐使用 ...
- 内网渗透DC-2靶场通关(CTF)
为了更好的阅读体验,请在pc端打开我的个人博客 DC系列共9个靶场,本次来试玩一下DC-2,共有5个flag,下载地址. 下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware ...
- 内网渗透DC-1靶场通关(CTF)
最新博客见我的个人博客地址 DC系列共9个靶场,本次来试玩一下DC-1,共有5个flag,下载地址. 下载下来后是 .ova 格式,建议使用vitualbox进行搭建,vmware可能存在兼容性问题. ...
随机推荐
- mybatis动态sql以及分页
1.mybatis动态sql 2.模糊查询 3.查询返回结果集的处理 4.分页查询 5.特殊字符处理 1.mybatis动态sql If.trim.foreach If 标签判断某一字段是否为空 &l ...
- 利用Struts2拦截器完成文件上传功能
Struts2的图片上传以及页面展示图片 在上次的CRUD基础上加上图片上传功能 (https://www.cnblogs.com/liuwenwu9527/p/11108611.html) 文件上传 ...
- Linux下sed找出IP中第四位
ip addr|sed -n '9p'|egrep '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'|sed -nr 's#^.*inet (.*) b ...
- noip模拟48
A. Lighthouse 很明显的容斥题,组合式与上上场 \(t2\) 一模一样 注意判环时长度为 \(n\) 的环是合法的 B. Miner 题意实际上是要求偶拉路 对于一个有多个奇数点的联通块, ...
- 细谈布隆过滤器及Redis实现
何为布隆过滤器? 本质上是一种数据结构,是1970年由布隆提出的.它实际上是一个很长的二进制向量(位图)和一系列随机映射函数(哈希函数).可以用于检索一个元素是否在一个集合中. 数据结构: 布隆过 ...
- C# AutoMaper简单使用
AutoMapper它是一种对象与对象之间的映射器,让AutoMapper有意思的就是在于它提供了一些将类型A映射到类型B这种无聊的实例,只要B遵循AutoMapper已经建立的惯例,那么大多数情况下 ...
- Spring Boot 2.x 之 H2 数据库
1. Spring Boot下H2数据库的常用配置项 # 指定数据库的类型 spring.datasource.platform=h2 # 数据库连接地址(文件模式) ## AUTO_SERVER=T ...
- 洛谷P1582——倒水(进制,数学)
https://www.luogu.org/problem/show?pid=1582 题目描述 一天,CC买了N个容量可以认为是无限大的瓶子,开始时每个瓶子里有1升水.接着~~CC发现瓶子实在太多了 ...
- ESP8266- ESP01之AT固件下载及其他问题
注意: 本文基于淘宝上买的安信可原装ESP-01,文章中出现的问题在另一片ESP-01S上均未出现.由于在刷固件前没有进行完整测试,因此无法判断是固件导致的还是版本不同造成的. 问题: 1.发热严重. ...
- CS:APP Chapter-6 存储器层次系统-读书笔记
存储器层次系统 笔记,应该不是一个大而全的文件,笔记应该是提纲挈领,是对思想的汇总浓缩,如果追求详实的内容反而是丢了初心. 计算机是抽象的,它的设计者努力让计算机变得简单,在设计上高度抽象,而计算机的 ...