渗透中的JavaScript_eval函数

admin 2022年11月26日15:01:10评论48 views字数 804阅读2分40秒阅读模式

1 漏洞简介

在测试过程中遇到了,Response返回js代码中存在eval()函数,记录一下利用过程。

2 漏洞发现

测试某个网站时,无意发现该返回包JavaScript中存在eval函数

渗透中的JavaScript_eval函数

追踪一下是从哪个功能调用的

渗透中的JavaScript_eval函数

漏洞在导出功能,导出时会从params传入参数,通过JavaScript拼接执行代码,来进行下一个请求。

渗透中的JavaScript_eval函数

所以,应该是一个客户端的JavaScript的代码执行,利用流程应该如下:

  1. 向服务端发送恶意Java Script代码
  2. 服务端处理Java Script代码,返回至客户端
  3. 客户端执行Java Script代码,造成影响

3 漏洞利用

3.1 执行js代码

执行简单js代码,poc要URL编码一次,否则Burp会报错。

"x=100;y=200;alert(x*y)" 

渗透中的JavaScript_eval函数

渗透中的JavaScript_eval函数

3.2 读取客户端文件

只有IE浏览器可以读,Chrome及其他浏览器出于安全性考虑,不支持直接读取,只能通过标签选择文件然后再读取。

var fso=new ActiveXObject("Scripting.FileSystemObject");var ts=fso.OpenTextFile("c:\windows\win.ini", 1);alert(ts.ReadLine());

IE控制台执行payload,应该会报错Automation 服务器不能创建对象

渗透中的JavaScript_eval函数

需要开启Automation 对象的引用

IE浏览器 - 设置 - Internet选项 - 安全 - 自定义级别

渗透中的JavaScript_eval函数

启用后,重新执行payload,读取出客户端文件

渗透中的JavaScript_eval函数


如果被攻击者利用,可能会组合钓鱼攻击,对漏洞URL进行短网址生成,获取用户电脑敏感文件信息等;

对此漏洞理解较浅,本文仅抛砖引玉

参考资料

[1]

更多文档: https://blog.csdn.net/Aurora_1970s/article/details/119903232


原文始发于微信公众号(薛定谔的安全):渗透中的JavaScript_eval函数

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月26日15:01:10
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   渗透中的JavaScript_eval函数http://cn-sec.com/archives/1426292.html

发表评论

匿名网友 填写信息