XSS Challenges

Stage #1

注入alert(document.domain),先试一试输入后会返回什么;

返回在标签中,直接尝试输入payload;

Stage #2

测试一下返回;

可以发现,test返回在value属性里,注意闭合value属性的双引号即可;

Stage #3

测试一下返回情况;

通过观察源码我们可以发现一共POST了两个参数,p1和p2,通过测试发现p1被过滤了,于是用burp修改p2的值;

Stage #4

先测试一下返回;

发现有个隐藏的参数p3,尝试注入payload;

发现p3的值返回在value属性中,重新POST p3的参数,注意闭合双引号即可;

Stage #5

查看源码发现对输入的长度做了限制;

直接用burp传递参数即可;

Stage #6

先测试一下返回情况;

发现返回在value属性中,注意闭合;

发现未成功,查看源码,发现<、>被编码了,于是我们就无法闭合标签了,那么input标签里是否有什么可以利用的属性呢?

这些都是form中的属性,我们这里选onselect尝试注入;

注入成功,当我们选中表单的时候,就会触发payload;

Stage #7

测试返回;

发现返回在value属性中,尝试注入;

发现引号被过滤了,但是本身的value属性不带引号,那么我们不用引号即可;

Stage #8

测试一下返回;

发现返回了一个<a href></a>的标签,直接尝试注入payload;

点击链接;

Stage #9

测试返回;

可以注意到有两个参数,其中一个是p1,返回值在value里,经过测试引号、<、>等均被过滤,另一个参数charset,值为euc-jp,可以看出是一种日本的编码,这道题应该和编码相关;

自己想了很久没有头绪,去看看本题提示;

原来是要用UTF-7编码;

Stage #10

Hint:提示的意思应该是正则把domain过滤了;

那可以尝试双写绕过,先测试返回在何处;

返回在value里,注意闭合双引号;

Stage #11

Hint:过滤了script,on开头的和style;

经测试结果返回在value属性中;

由于过滤规则是将带on的词变成onxxx,所以双写没法绕过;

在script当中加tab绕过;

Stage #12

Hint:x00、x20、<、>、"、'等均被过滤;

因为返回值在value中,所以必须要先闭合引号才有用,然而现在双引号和单引号均被过滤,经过我花了很长时间的搜索,发现`在IE中可以充当引号的作用!

相关推荐
jerryinwuhan几秒前
socket由浅入深
网络
xu_yule2 小时前
网络和Linux网络-3(套接字编程)TCP网络通信代码
linux·网络·tcp/ip
喜欢吃豆3 小时前
使用 OpenAI Responses API 构建生产级应用的终极指南—— 状态、流式、异步与文件处理
网络·人工智能·自然语言处理·大模型
xixixi777773 小时前
解析一下存储安全——“它是什么”,更是关于“它为何存在”、“如何实现”以及“面临何种挑战与未来”
网络·安全·通信
运维有小邓@3 小时前
实时日志关联分析工具:智能检测潜在安全威胁
运维·网络·安全
世界尽头与你4 小时前
Go pprof 调试信息泄露漏洞
安全·网络安全·golang·渗透测试
j***57684 小时前
电脑可以连接wifi,但是连接后仍然显示没有网络
网络·电脑·php
brave and determined5 小时前
接口通讯学习(day04):RS-232与RS-485:通信接口全解析
网络·uart·通讯·emc·rs232·rs485·嵌入式设计
檀越剑指大厂5 小时前
在家也能远程调代码?WSL+cpolar 的实用技巧分享
网络
秋邱5 小时前
价值升维!公益赋能 + 绿色技术 + 终身学习,构建可持续教育 AI 生态
网络·数据库·人工智能·redis·python·学习·docker