警惕 百度文库可以上传含VBA代码的文件,或成为宏病毒传播途径
2017-12-14 23:52
387 查看
上图是百度文库的上传界面,表面上看,只允许上传doc,docx,ppt,pptx,xls,xlsx等格式,而docm,pptm,xlsm这3种包含VBA代码的文件则不允许上传,因为可能包含恶意的VBA代码。但是,存在过滤的地方,就存在绕过。那么,如何往百度文库中上传含VBA代码的文件呢?
非常简单,直接修改文件后缀名,把docm改为doc,pptm改为ppt,xlsm改为xls. 注意不能改为docx,pptx,xlsx,这会导致文件打不开,见下图。
事实上,百度的过滤方法仅仅是检查后缀名而已,并没有对文件内容进行检查,NAIVE!证据就是这篇已经成功上传到百度文库的文章:https://wenku.baidu.com/view/d726a9929fc3d5bbfd0a79563c1ec5da50e2d626,这篇文章是我上传的,真实后缀是docm,其中包含无恶意的VBA代码,在网页上可以正常浏览,下载到本地后也能正常打开,还会看到“安全警告
宏已被禁用”。这意味着,百度文库已经可以作为宏病毒的传播途径了,安天安全公司在近期捕获的样本中发现了一种新型的完全使用VBA编写的文件加密勒索软件家族BluFish。不同于其他勒索软件(如Locky),其加密文件时不会改变文件名称,亦不会修改文件结构,而仅对Microsoft Word文档内容进行加密,其勒索信息将连同加密内容一起显示在Word文档内容中。
封堵这一漏洞的方法也很简单,把doc,ppt,xls文件全部按照zip格式进行解析,查找其中是否存在名为vbaProject.bin的文件,如果存在,直接禁止上传,让用户自己删去其中的VBA代码再重新上传。
这个问题我12月1号已经在百度安全应急响应中心上提交了,他们过了10天才给答复,
这答复真TM是AI,Artificial Idiot,人工智障,蠢而且不作为。拒绝用户上传含vbaProject.bin的文件怎么变成修改用户上传的文件了?网盘允许上传任意格式的文件,网盘和文库能相提并论么?所以你觉得百度杀毒这种La Ji能保护你的安全吗?珍爱生命,请远离百度杀毒。
其它的文档分享平台,例如豆丁网和道客巴巴,很可能也存在类似的漏洞。所以,这些平台的文档尽量在线看,不要下载。如果一定要下载,请将后缀doc,ppt,xls改为zip,用解压软件打开检查一下,看里面是否存在vbaProject.bin文件,如果存在,就要警惕了。事实上,可以从压缩包中直接删去vbaProject.bin,这不会对文档的正文部分造成任何影响,删去后将后缀由zip还原为doc,ppt,xls,照样能正常打开,也不再包含任何VBA代码。从压缩包中还可以看见vbaData.xml和vbaProject.bin.rels(在_rels文件夹内),这两个文件名称中虽然包含vba,但其内部不含任何vba代码,是完全无害的。
相关文章推荐
- 文件上传代码(记录一下),可以大文件传输
- wap2.0 xhtml 文件上传代码记录一下~~。cmwap测试不行,cmnet可以。
- java 上传文件代码,支持中文文件名和中文文件内容,可以同时提交多个参数
- 上传视频至本地文件夹(文件也可以上传)java代码
- 在网上找的一个Flex文件上传代码,记录下来,以后用到的时候可以马上能用:
- jsp中上传大文件(200M已测试),存到数据库,易发生连接超时的ie找不到网页的错误,其解决方法。略写代码,参考(.net修改代码应该可以,改天修改)
- 使用Retrofit2.0上传文件,可以监听上传进度[客户端+服务器端代码]
- Jquery AjaxUpload实现文件上传功能代码实例教程
- PHP实现文件上传功能实例代码
- 上传文件,判断文件的后缀名的代码以及正则表达式
- php多文件上传功能实现原理及代码
- domino中上传控件文件拆离的LS代码
- 文件上传之SWFUpload插件(代码)
- formdata ajax上传文件前后台代码
- 文件上传servlet处理代码分享/ckeditor图片上传servlet处理
- php获取svn文件,然后ftp上传服务器代码
- jq表单上传多文件 前后台代码
- Android上传文件到服务器的代码
- 图片文件上传入SQL库及显示代码
- Java实现FTP文件的上传和下载功能的实例代码