未经许可,不得转载。
文章目录
正文
在目标网站 target.com 的“联系我们”表单中,我注意到一个文件上传选项。
我最初输入了一个随机字符串,如 123xss,结果发现服务器没有对这个字符串进行足够的处理,比如转义或过滤,而是将其直接反射到网页中并展示给用户。
于是,我尝试注入XSS payloads,但由于HTML编码,攻击未能成功。
发现反射点
接着,我利用Burp Suite对请求进行了深入分析,发现文件上传操作会通过 filename 变量来传递上传文件的名称。我尝试在文件名中输入随机文本,试图找到反射点,但最初并没有任何效果。后来,我修改了文件的扩展名为“helloworld.fakeext”,成功触发了一个错误消息:
提供的文件扩展名“helloworld.fakeext”与预期的媒体类型不匹配。
这个错误信息中反射了文件扩展名,由此确认存在反射点。
实现XSS
在确认反射点之后,我开始尝试 HTML 注入,并成功触发了 alert(1),这表明注入点有效。然而,当我尝试执行 alert(document.domain) 时,发现它并没有起作用,因为 .domain 被识别为不符合预期的文件扩展名,阻止了代码执行。
幸运的是,JavaScript 提供了灵活的方括号访问语法,允许我们绕过这种限制
订阅专栏 解锁全文
1697

被折叠的 条评论
为什么被折叠?



