浅谈一个CTF中xss小案例

一、案例代码

二、解释

X-XSS-Protection: 0:关闭XSS防护

之后get传参,替换过滤为空,通过过滤保护输出到img src里面 

三、正常去做无法通过

因为这道题出的不严谨所以反引号也是可以绕过的

 正常考察我们的点不在这里,正常考察的是字符串解码

两次编码也是无法绕过的因为&已经给我们防止住了

没过滤百分号那我们是不是可以urlcode编码,但是在按下回车的那一下,我们网页自动就给我们又转回来了,等进入程序后又被过滤了

那转码我们控制不了,我们可不可以添加一个%25

很明显还是不行

 其实真实的原因是JS中不能编码,那我们就要使用javascript伪协议

在location函数中可以将所有的元素转换成字符串形式

?xss=1"%20onerror=location="javascript:alert%25281%2529

三、案例升级版 

 利用js特性,去进行拼接if就绕过了,那第一个过滤点怎么过呢?

+号不行 

远古时期的问题:浏览器自动把+号转译为空格使用%2b既可以

?xss=1"%20onerror=location="javas"%2b"cript:al"%2b"ert%25281%2529

  • 17
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值