☝☝

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

很多时候,手测没有任何进展,很多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

(师傅们,上才艺

)

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

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

)

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 ■

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

  1. 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)

    技术qq交流群:JavaDream:251572072  教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...

  2. xss攻击突破转义_每个人都应该了解的7种xss漏洞

    在阅读有关XSS的材料时,我们通常会看到经典的<script> alert(1)</ script>作为这种漏洞的证明(PoC –概念证明).虽然是正确的,但它并没有超出此范围 ...

  3. LiveVideoStackCon讲师热身分享 ( 八 ) —— FFmpeg的滤镜在视频编辑场景中的应用

    LiveVideoStackCon 2018音视频技术大会是每年的多媒体技术人的盛宴,为了让参会者与大会讲师更多互动交流,我们推出了LiveVideoStackCon讲师热身分享第一季,在每周四晚19 ...

  4. 第二十八条:利用有限制通配符来提升API的灵活性

    如第二十五条所述,参数化类型是不可变的.类型Type1和Type2而言,不管Type1与Type2的关系,List<Type1>既不是List<Type2>的子类型,也不是也不 ...

  5. Handler消息机制(八):Handler内存泄漏的场景有哪些,如何避免

    使用AndroidStudio检测内存泄漏: 一.内存泄漏的原因 一般内存泄漏(traditional memory leak)的原因是:由忘记释放分配的内存导致的. 逻辑内存泄漏(logical m ...

  6. C语言试题八十一之利用递归函数调用方式,将所输入的5个字符,相反顺序打印

    1.题目 利用递归函数调用方式,将所输入的5个字符,相反顺序打印 2 .温馨提示 C语言试题汇总里可用于计算机二级C语言笔试.机试.研究生复试中C程序设计科目.帮助C语言学者打好程序基础.C语言基础, ...

  7. 奇安信专家:近八成软件存开源漏洞 供应链需全生命周期安全防护

     聚焦源代码安全,网罗国内外最新资讯! 专栏·供应链安全 数字化时代,软件无处不在.软件如同社会中的"虚拟人",已经成为支撑社会正常运转的最基本元素之一,软件的安全性问题也正在成为 ...

  8. 推荐系统实践(八)UCG 利用ltf-idf方法

    1.SimpleTagBased: 1.下载数据 数据集自己设定的 A 一曲相思 流行 A 生僻字 流行 A 最后的莫西干人 纯音乐 A 倩女幽魂 经典 B 故乡的原风景 纯音乐 B 生僻字 流行 B ...

  9. 生信分析平台搭建(八):利用Synaptic安装生物软件

    如果不喜欢使用bioconda,想使用图形化界面安装生物软件,可以选择使用新立得软件管理工具,目前里面已经集成了很多生物软件,我一直认为如果有一天生物软件安装能像App Store安装应用一样就好了, ...

最新文章

  1. Ubuntu 18 snap 占用 100%,卸载 snap
  2. Swift之实现表格UITableView数据首字母顺序排列展示并添加“索引”快速定位查找功能
  3. Java 比较两个版本号的大小 (通用)
  4. sql 删除字段中下划线_SQL基础教程知识点总结
  5. react实现页面多个模块的切换
  6. C++基础17-纯虚函数和抽象类
  7. 并发库之CountDownLatch
  8. python编译为机器码_通过 GraalVM 将 Java 程序编译成本地机器码!
  9. 微信测试公众号-jssdk基本配置和使用-thinkphp
  10. Javascript第六章基本包装类型第八课
  11. 面试题之Java中线程的几种状态
  12. 32位汇编第三讲,RadAsm,IDE的配置和使用,以及汇编代码注入方式
  13. 【非官方】哈工大2022 形式语言与自动机试题解析
  14. matlab自己还原魔方,复原魔方,原来这么简单(内附详细图文解说)
  15. php项目过段时间就崩溃,apache 运行一段时间出现错误
  16. 第21节 ACL——控制路由器上接口大门的进出规则
  17. PCB中邮票孔的用处以及常用设置
  18. kubeadm join时报错Unauthorized
  19. [转]清华大学计算机考研经验谈
  20. one-stage和two-stage网络的区别

热门文章

  1. ELK学习9_ELK数据流传输过程_问题总结2
  2. JS的ES6模板字符串(拼接、变量、循环、函数)
  3. MySQL使用distinct去掉查询结果重复的记录
  4. 底部居中_中文编程:安卓的底部菜单设计
  5. SpringBoot+MyBatis登录案例
  6. java直接对list使用sql语句_Java和SQL语句阶段考试错题集
  7. linux date抖动,一场由fork引发的超时,让我们重新探讨了Redis的抖动问题
  8. cae计算机仿真分析技术,厉害了 揭秘汽车设计中CAE仿真技术
  9. android crop 大图,Android-CropView
  10. pandas fillna_Pandas极简教程——数据清洗