D9 xss labs基础学习 (慢慢提升中

在学习过xss之后
又发现一个可以训练的地方
继续加深一下!

目录

第一关

第二关

第三关

第四关

第五关

第六关

第七关

第八关

第九关

第十关

十一关


第一关


有图片可知 给出了name后面的参数值 而且也显示了字符长度


现在看一下后台代码



可以得出此处是反射性xss

先尝试一下 所以直接在地址栏测试写入
<script>alert('xss')</script>

1.5

第二关


2.1
先进行一个盲测试
<script>alert('xss')</script>
发现相应的位置上都是出现和输入相关的信息
2.2
查看源代码会发现 这些位置上以及变成相应的代码
而且在value上发现有写入的<script>alert('xss')</script>
只不过没有把前后进行闭合
所以更改语句
"><script>alert('xss')</script>//
2.3
2.4
因此原代码中就会变成
value=""><script>alert('xss')</script>//"
">是为了闭合input标签这一行
2.5
后面的<script>alert('xss')</script>是恶意代码
//是为了闭合后面的"


第三关

首先观察页面
3.1
注入<script>alert('xss')</script>
3.2
可以发现明显的变化 这时候查看源代码
这个是没写入恶意代码的源代码
3.3
这个是写入恶意代码之后的源代码
3.4
可以发现这个value后面的值不同 他要求的是单引号' 而且代码中的< >都已经被编码成了html字符实体
所以恶可以猜测是经过后台处理过的
所以这里需要利用input标签
写入恶意代码
level3.php?keyword='οnfοcus=javascript:alert('xss') > //&submit=搜索
之所以没有立即弹窗
是因为onfocus 事件在对象获得焦点时发生。 onfocus 通常用于 <input>, <select>, 和<a>.
所以点击输入框即可触发事件
3.5

第四关


4.1
输入"><script>alert('xss')</script>//后查看源代码
猜测也是经过了htmlspecialchars()函数进行了处理
而且在value值后面也读取不到<>
4.2
但是事件触发不需要符号
写入恶意代码"οnfοcus=javascript:alert('xss')>//
(心得:写入的代码 尤其是前后的符号 需要和原本的对照 必须和原来的适配)
4.3

第五关

写入恶意代码
"><script>alert('xss')</script>//
5.1
查看源代码
5.2
猜测也是经过了htmlspecialchars()函数进行了处理
但是value值却发现是在script中间放入了 _ 符号
那就用第二种方法使用事件触发
"οnfοcus=javascript:alert('xss')>//
5.3
5.4
发现在onfocus中也直接插入了 _ 符号
所以猜测网站可能对onfocus这一类的事件字符也进行了防范
由上图可以发现 JavaScript字符并没有被添加 _ 符号
所以尝试另外一个思路
使用另外的标签
"> <a href=javascript:alert('xss') > xss</a> //
5.5
点击图中的xss
5.6
成功!

第六关


6.1
输入"><script>alert('xss')</script>//之后查看后台代码
6.2
在尝试过上述过程之后 
得到的源代码
发现
href也被添加了  _ 符号
6.3
所以这时
我们尝试采用 大小写混写 的方法进行尝试
因此出入恶意代码 
"> <a HrEf=javascript:alert('xss') > xss</a> //
6.4

第七关


输入恶意代码"> <a HrEf=javascript:alert('xss') > xss</a> //
并查看源代码 <>被转换 script被屏蔽 on字符被屏蔽 herf直接被屏蔽
7.1
所以进行这一步 双写关键词
"oonnfocus=javasscriptcript:alert('xss')>//
7.2

第八关

直接进行测试
8.1
查看源码
通过测试 <>被转换 关键字也被插入 _ 符号
所以通过编码的方式进行写入 javascript:alert('xss')
8.2
8.3
8.4

第九关

通过测试发下如下内容
9.1
9.2
插入编码后的内容
java&#115;&#99;&#114;&#105;&#112;&#116;:alert('xsshttp://')
即可
9.3

第十关


发现没有输入框 所以查看源代码
10.1
因此构造语句 ?keyword=<script>alert('xss')</script>&t_sort=" type="text" οnclick="alert('xss')
写在地址栏
10.2
10.3

十一关


查看源代码得
11.1
采用第十关的方法 编写恶意代码
?keyword=good job!&t_link="type="text&t_history="type="text&t_sort="type="text&t_ref="type="text
发现没反应 查看源代码
11.2
发现双引号被编码了
换个思路
我们进行抓包
11.3
这是原本的样子
11.4
增加一条语句
referer:111
11.5
在send之后会发现以下内容
11.6
构造代码
referer:"type="text" οnclick="alert('xss')
11.7
继续运行得到下面内容
11.8
可以看到我们添加的referer头的值出现在了t_ref标签的value属性值中了。
接下来就是从这里突破注入恶意代码了,恶意代码成功插入了value属性值中,接着将这个请求的响应放行到浏览器试试
成功弹窗了,说明通过referer头来提交恶意代码触发了xss
没整出来!- - 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值