当前位置:网站首页>XSS测试
XSS测试
2022-08-03 20:58:00 【抱小猫】
目录
实验
level2
我们首先进行<script>alert(1)</script>测试,发现不行

查看代码,可以看见我们上传的代码被包含在双引号里面

我们尝试绕过双引号 :"><script>alert(1)</script><" ,成功了,可以看见双引号被我们闭合了


level3
我们首先尝试level2的绕过方法,果然双引号被限制了,

换成单引号试试呢,成功了


成功的原因:我们查看源码,发现在双引号前面有一个单引号进行闭合操作,且没有对单引号进行编码。所以我们可以使用单引号进行闭合

level4
我们还是先用<script>alert(1)</script>测试一下

可以看出这个页面过滤了尖括号,那我们换一个不用尖括号的onclik测试


测试成功
level5
我们先用aaa" οnclick="alert(1) 和 <script>alert(1)</script> 测试,可以看出这次是将onclick/script函数加上下划线,使其失效


那我们再测试一下尖括号是否过滤,很明显尖括号没有进行过滤

那我们可以尝试换一个不常用的函数进行测试页面是否过滤
如:aa"> <a href="javascript:alter(1)">bbb</a>


为什么这个JavaScript没有被过滤呢,我们需要查看一下源码

原来,源码中过滤script是带上了前面的尖括号,然而JavaScript中script前没有尖括号,所以不符合条件。没有过滤成功,一般使用正则表达式做过滤限制更好。
level6
先使用aaa" οnclick="alert(1) 和 <script>alert(1)</script>测试该页面的规则

可以看出依旧是使用下划线使函数失效,我们继续查看尖括号是否过滤

尖括号没有过滤,我们继续使用a标签尝试绕过

虽然JavaScript没有过滤但是href被过滤了,那怎么办了,我们再试一下大小写是否可以绕过
如:aaa" ONCLICK="alter(1),绕过成功


level7
通过前面几题,我们可以猜到前面的方法应该都不行,我们先试一下aaa" οnclick="alert(1)

可以看出,这个页面去掉了on使其函数失效,这时我们可以尝试双写的方式绕过aaa" oonnclick="alert(1),成功了


level8
我们先测试一下aaa" οnclick="alert(1),发现被过滤了

查看源码可以知道这个过滤了很多可以使用的标签,我们用编码测试一下

我们将javascript:alert(1)进行实体编码后提交,绕过成功了


level9
这个网页需要填含有http://的网址,我们使用百度网页链接测试可以成功,我们还是测试一下是否可以实体编码:javascript:alert(1)//http://,其中在http://前面的//是用于注释掉后面的http://
编码后:javascript:alert(1)//http://
成功了:


level10
首先可以看网页上的代码:

可以看出我们的输入框被隐藏了,我们可以尝试着将type的属性改变一下:keyword=abc&t_link=bcd&T_history=cde&t_sort=def" type="text"

我们将一个输入框显示出来后就可以在后面加上点击事件了:
keyword=abc&t_link=bcd&t_history=cde&t_sort=def" type="text" οnclick="alert(1)

level11
我们首先查看此关卡的限制,可以得到可以提交t_sort的数据被限制了,所以我们尝试使用HTTP_REFERER这个进行绕过
referer:说明了从哪个页面访问的服务

我们首先在referer中提交:bbb" type="text" οnclick="alert(1)
成功了

level12
查看源码,可以发现这个关卡和上一个相似

我们选择在user_agent上提交测试:bbb" type="text" οnclick="alert(1)


level13
查看源码,可以看出此关卡传输cookie中设置了user

所以我们在上传时需要加上user=
user=callme bbb" type="text" οnclick="alert(1)

成功了


边栏推荐
- leetcode refers to Offer 58 - II. Left Rotate String
- 8.2模拟赛总结
- 史兴国对谈于佳宁:从经济模式到落地应用,Web3的中国之路怎么走?
- Lecture topics and guest blockbuster, TDengine developers conference to promote data technology "broken"
- 3种圆形按钮悬浮和点击事件
- Edge box + time series database, technology selection behind Midea's digital platform iBuilding
- 2022/08/03 学习笔记 (day23)多线程(补充)
- 数据库定时备份winserver2012篇
- leetcode 剑指 Offer 58 - II. 左旋转字符串
- svg胶囊药样式切换按钮
猜你喜欢

Several difficult problems in DDD

15年软件架构师经验总结:在ML领域,初学者踩过的五个坑

Li Mu hands-on learning deep learning V2-BERT fine-tuning and code implementation

Power button 206 - reverse list - the list

CLIP论文解读

反射机制

Transformer怎么入门?如何学习Transformer?

Alexa染料标记RNA核糖核酸|RNA-Alexa 514|RNA-Alexa 488|RNA-Alexa 430

NAACL 2022 | 具有元重加权的鲁棒自增强命名实体识别技术

Interesting opencv - record image binarization and similarity
随机推荐
开源一夏 |如何优化线上服务器
字节跳动软件测试岗,前两面过了,第三面HR天坑,结局透心凉...
反射机制
Orcad Capture Cadence 新建原理图多部分smybol和Homogeneous、Heterogeneous类型介绍教程
华为设备VRRP配置命令
9月1日起我国给予多哥等16国98%税目产品零关税待遇
系统运维系列 之CSV文件读取时内容中包含逗号的处理方法
Transformer怎么入门?如何学习Transformer?
基于DMS的数仓智能运维服务,知多少?
leetcode 448. Find All Numbers Disappeared in an Array 找到所有数组中消失的数字(简单)
如何使用 Jmeter获取登录token并设置为全局变量?
Five Steps to Detect and Control Shadow IT
Leetcode sword refers to Offer 15. 1 in the binary number
nvm的使用 nodejs版本管理,解决用户名是汉字的问题
尚医通项目总结
微信小程序 生成跳转体验版url,可直接跳转到体验版小程序(可通过此方法测试模板消息)
ES6 deconstruction assignment - array object deconstruction and deconstruction
卷起来!阿里高工携 18 位高级架构师耗时 57 天整合的 1658 页面试总结
伪标签汇总
直播平台怎么搭建,针对输入框的各种组件