从HTML注入到XSS:一次完整的安全漏洞挖掘历程
1. 起点:HTML注入
我从产品描述字段开始测试。第一个积极的信号是简单的HTML标签被接受了!
初始测试载荷: <u>test</u>
结果: 成功渲染!单词"test"在产品页面上显示为带下划线。这立即确认了HTML注入的存在。
我的下一个想法?是时候将其升级为完整的XSS(跨站脚本攻击)了。
2. 障碍:当过滤器反击时
尝试让JavaScript自动执行很困难。该网站显然在后台运行着复杂的过滤器。它阻止了所有常见的技巧:
系统已经将危险的标签和属性列入黑名单。例如,当我尝试使用经典的 <img src=x onerror=alert('XSS')>
载荷时,系统立即剥离了onerror属性。同样,任何尝试在 <details>
等标签上使用ontoggle等事件处理程序的企图都被完全移除。甚至连高风险标签 <iframe>
也被完全过滤。
这表明他们的保护重点在于将已知的危险属性和标签列入黑名单。
3. 成功的绕过:用户交互式XSS
由于自动执行属性被过滤,我决定专注于过滤器忘记禁止的内容:标准链接标签(<a>
)内的javascript: URI方案。
系统允许 <a>
标签通过,并且没有过滤href内容中的javascript:前缀。
|
|
“不幸的是,这个漏洞被标记为重复。似乎’重复诅咒’即使在外部漏洞赏金项目中也在追随着我!😅”
关注更多内容:https://www.linkedin.com/in/mohamed-elzyny?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app