xss

XSS全称跨站脚本(Cross Site Scripting),为避免与层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故缩写为XSS。
对于用户编辑文本的功能点,很多时候,业务上需要允许用户输入自定义的样式,比较简单直接的方案就是使用富文本:支持用户在前端自定义的html传入,最终同样以html的形式展现。不同的业务可能有各种各样不同的具体实现形式,但殊途同归,最终都可以抽象成“输入->持久化->输出”来表述。
本篇分为两部分,第一部分就是解题步骤,第二部分说一下出题过程、设计思路,以及一些不足之处。文末给出本题的附件,感兴趣的师傅们可以玩下。
gomarkdown/markdown 是 Go 语言的一个流行模块,它旨在快速地将 Markdown 文档转化为 HTML 页面。而此次发现的漏洞,来源于作者在编写其语法树 Parser 的时候无意的一次 unescape。
前段时间P牛在他的星球发了一个XSS的小挑战(关于挑战的更多细节和解法见P牛的博客或者星球),我用的是DOM clobbering的方式完成。事后P牛给出了另一个trick,我看不懂但大受震撼,所以本文就来探讨一下这个trick的原理。
XSS全称是cross-site script,burp官方的解释是允许攻击者与应用程序进行交互。
github地址 https://github.com/s0md3v/XSStrike。
openrasp默认只能检测反射型XSS,存储型XSS仅IAST商业版支持。对于反射型xss,openrasp也只能检测可控输出点在html标签外的情况,本文的绕过方法是针对这种情况。如果可控输出点在html标签内,如<input type="text" value="$input">或<script>...</script> 内部,openrasp几乎检测不到。
Intigriti xxs challenge 0421 被官方自己被评价为目前为止 Intigriti史上最难的 XSS 挑战。在有效提交期内,全球参与的 hacker、CFTer、Bugbounty hunter 仅有15人成功通过挑战拿到flag。
Intigriti XSS 系列挑战 Writeups。