html %3c 不给转义,八个无法利用XSS漏洞的场景

☝☝191798242_1_20200531103716302

相信有很多的小盆友们曾经发现过一些疑似存在XSS漏洞的站点,但又无法完全证明这个漏洞是可以被利用的。此时的你可能处于怀疑状态,也有可能你已经验证到一半了,严重怀疑其有精神病(XSS漏洞)的情况。那么这个时候该怎么办呢?191798242_2_20200531103716349

很多时候,手测没有任何进展,很多Hacker或许会用XSS fuzz,将准备好的XSS-Payload-list往BurpSuite里一扔,噢豁~还是找不到适合的Payload。

(注:各前辈集齐的XSS-Payload,各位盆友们自行查看)# XSS-Payloadhttps://github.com/TheKingOfDuck/fuzzDicts/tree/master/easyXssPayloadhttps://github.com/ZephrFish/XSSPayloads/blob/master/raw_payloadshttps://github.com/silience/xsspayloadhttps://github.com/willc/XSSpayloads/blob/master/xss_payloads_6-20-12.txthttps://github.com/AeolusTF/XssPayload/blob/master/XssPayload.txt

(注:还有我的一键XSS上天遁地工具,无法无天,骨骼精奇的盆友可得)

当然也有很多头铁的小伙伴去硬刚的,毕竟没有绝对的安全嘛,但是这必定会是个长久的消耗战。为了搞清楚哪些情景下,我们无法利用XSS漏洞,特此安排此文进行讲解。

(事先声明:以下所谓的无法利用的场景或许只是因为个人能力不足所导致的一种错误认知,若有不足之处或解决方法,希望各位师傅们分享。)

0x01 WAF拦截[a-zA-Z]遇到这一情况,大小写字母都给你拦截,怎么办?很多人或许会说利用十六进制编码绕过、用Unicode编码绕过、用URL编码绕过,但是似乎行不通。不用说,链接在下方。http://portswigger-labs.net/impossible-labs/basic-context-waf-blocks-a-z.php?x=%3Cscript%3Ealert(1)%3C/script%3E

(师傅们,上才艺

191798242_3_20200531103716427)

0x02 基于脚本注入,引号('和')、正斜杆(/)和反斜杠(\)被转义脚本注入是我们常用的手段了,但是引号、正斜杆和反斜杠被转义,相信让很多师傅们头疼吧。如果再来个实体化,那这头就更大了。我平时看到这情形基本都是撒腿就跑。老样子,上才艺,链接在下方。http://portswigger-labs.net/impossible-labs/script-context-escaped-angle-brackets-allowed.php?x=%3C/script%3E%3Cimg%20src=1%20οnerrοr=alert(1)%3E

(绕过了的师傅们记得分享分享

191798242_4_20200531103716552)

0x03 输出HTML文本内容,但不允许使用等号(=)在处理查询字符串和URL的站点时,它对参数进行解码,但对等号进行拆分,然后将其赋值给innerHTML。在这个上下文中

0x04 基本内容长度限制此XSS场景发生在基本的HTML上下文中,但是长度限制为15。这里存在一个矢量,可以执行16个字符的JavaScript:

(我除了拿出我的一键XSS上天遁地工具,别无他法)

0x05 属性内容长度限制

这个场景上下文在长度被限制在14个字符的属性中,这里存在一个向量,它用15个字符执行JavaScript:'oncut=alert`` 。加号是尾随空格,有办法利用吗?https://portswigger-labs.net/impossible-labs/attribute-context-length-limit-arbitrary.php?x=%22oncut=eval(top.name)

0x06 基于脚本注入发生在框架内,并不在主体内容中

这是一个关于twitter next实验室的请求,它发生在一个框架集中。师傅们看看http://portswigger-labs.net/impossible-labs/after-frameset-before-body.php?x=%3C/frameset%3E%3Cscript%3Ealert(1)%3C/script%3E0x07 基本上下文长度限制任意代码

注意哈~这和第四点不一样的。这里的限制是只让你调用alert,其它任意代码都被限制,这个时候是否有办法利用?https://portswigger-labs.net/impossible-labs/basic-context-length-limit-arbitrary.php?x=%3Cq%20oncut=eval(name)0x08 属性上下文长度限制任意代码这个跟第五点也不一样,别搞错了。环境链接暂时没有,师傅们直接意会。(据说国外能使用任意JavaScript来查找最短的基于属性的注入。)若有不足之处,一起讨论研究。此文是翻译加改编而来,原链接在下方:https://portswigger.net/research/documenting-the-impossible-unexploitable-xss-labs■ Over ■

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
XSS(Cross-Site Scripting)漏洞是一种常见的Web安全漏洞,其存在的危害主要有以下几点: 1. 窃取用户敏感信息:攻击者可以通过注入恶意脚本来窃取用户的敏感信息,例如登录凭证、银行卡号码等。 2. 伪造用户行为:攻击者可以利用XSS漏洞伪造用户行为,例如在用户不知情的情况下发起恶意请求,例如转账、删除账户等。 3. 破坏网站功能:攻击者可以利用XSS漏洞破坏网站的功能,例如篡改页面内容、删除数据等。 常见的XSS攻击手段包括: 1. 反射型XSS:攻击者将恶意脚本注入到URL中,当用户访问该URL时,恶意脚本被执行,从而实现攻击目的。 2. 存储型XSS:攻击者将恶意脚本注入到网站数据库中,当用户访问该网站时,恶意脚本被执行,从而实现攻击目的。 3. DOM-based XSS:攻击者将恶意脚本注入到网页中的DOM元素,当用户与该元素交互时,恶意脚本被执行,从而实现攻击目的。 防范XSS漏洞的方法包括: 1. 过滤用户输入数据:对用户输入的数据进行过滤和限制,例如过滤特殊字符、限制输入长度等。 2. 对输出内容进行转义:对输出到网页的内容进行转义,例如将特殊字符转换为HTML实体,从而防止恶意脚本的执行。 3. 使用CSP(Content Security Policy):CSP是一种Web安全策略,可以限制网站加载的资源,从而防止恶意脚本的注入。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值