xss绕过尖括号和双括号_强防御下的XSS绕过思路(一)白名单篇

本文介绍了在遇到白名单限制的XSS防御时,如何通过利用引号、HTML解析优先级、JavaScript构造函数等方式进行绕过。详细探讨了如何在限制字符使用的情况下,通过JSFuck技术构造XSSpayload,强调理解构造思路的重要性。
摘要由CSDN通过智能技术生成

前 言

很多白帽子在挖掘XSS漏洞的时候,往往会遇到一个问题,就是明明发现这里的过滤有缺陷,但是就是没法成功的进行构造利用。可能会由于自身对XSS绕过的局限性思维,往往只会反复的去尝试各种不同 payload代码,寄希望于其中某一个可以绕过过滤。但是在遇到强有力的XSS防御措施下,往往只能是竹篮打水一场空。

鉴于这种情况,这里主要分3个章节来简单的分享一些XSS绕过思路。

【第一节】 白名单限制绕过

【第二节】 黑名单限制绕过

【第三节】 长度限制绕过

本次主要说的是【第一节】白名单限制绕过的情况

所谓的白名单,就是指允许某些字符输入,其他一概拒绝,相对黑名单策略,白名单更加安全。

这里直入正题,说说以下几种可能存在XSS的情况。

一、输出在html标签之间

这种只要以白名单的方式,过滤了>< 直接无解,这里就直接略过了。

二、输出在html属性里

这种情况的主要有两种利用方法。

>>>> 2.1 第一种,是利用引号和>闭合前面的标签,或者利用html的解析优先级,来逃出引号的限制,实现XSS的构造。

比如 这种情况,可以用下面的代码形成xss

">">

这种方法比较简单,也比较常见,先用引号和>闭合掉标签,然后再构造。如果这时候,引号被白名单过滤掉了,那么在某种情况下,也可以利用html解析的优先级进行绕过,比如:

可以用下面的代码形成xss

在浏览器里,会优先解析title标签,这样就成功跳出了引号的限制,形成XSS。

a0ff677ce06699928508f89e5572d378.png

>>>> 2.2第二种,就是利用闭合属性,跳出引号,再构造新的属性,形成xss

比如 这种情况,src内容可控,可以用下面的代码形成xss

如果说这里白名单过滤掉了引号,其实某种情况下,还可以利用html实体编码进行绕过。比如 然后onerror属性可控,但是白名单又将所有字母括号给直接过滤掉,这时候不能直接写alert(1),但是由于在html标签的属性里,就可以用下面的编码进行绕过。

  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值