“上传漏洞”安全检测网站详解

“上传漏洞”***是目前对网站最广泛的***方法。90%的具有上传页面的网站,都存在上传漏洞。本文将介绍常见的上传漏洞及其防范技巧。 
一、能直接上传asp文件的漏洞 (上传附件页面中对上传类型加以控制)
如果网站有上传页面,就要警惕直接上传asp文件漏洞。例如去年流行的动网5.0/6.0论坛,就有个upfile.asp上传页面,该页面对上传文件扩展名过滤不严,导致***能直接上传asp文件,因此***只要打开upfile.asp页,直接上传,asp***即可拿到webshell、拥有网站的管理员控制权。 
除此之外,目前已发现的上传漏洞,还有动感购物商城、动力上传漏洞、乔客上传漏洞等,只要运行“明小子Domain3.5”,点击“综合上传”,即可看到这些著名的上传漏洞。 
像明小子这样的上传漏洞利用工具如今还有很多,例如上传漏洞程序4in1、动易2005上传漏洞利用工具、雷池新闻系统上传漏洞利用工具、MSSQL上传漏洞利用工具等等,使用此类工具,只需填写上传页面网址和Cookies,即可成功***网站。 
【防范方法】:为了防范此类漏洞,建议网站采用最新版(例如动网7.1以上版本)程序建站,因为最新版程序一般都没有直接上传漏洞,当然删除有漏洞的上传页面,将会最安全,这样***再也不可能利用上传漏洞***了! 
如果不能删除上传页面,为了防范***,建议在上传程序中添加安全代码,禁止上传asp\asa\js\exe\com等类文件,这需要管理者能看懂asp程序。 
二、00上传漏洞 
目前网上流行的所有无组件上传类都存在此类漏洞——即***利用“抓包嗅探”、“ULTRAEDIT”和“网络×××”等工具伪造IP包,突破服务器端对上传文件名、路径的判断,巧妙上传ASP、ASA、CGI、CDX、CER、ASPX类型的***。 
例如***上传了一个***文件(xiaomm.asp空格.jpg),由于上传程序不能正确判断含有十六进制00的文件名或路径,于是就出现了漏洞,当上传程序接收到“xiaomm.asp空格.jpg”文件名数据时,一旦发现xiaomm.asp后面还有空格(十六进制的00),它就不会再读下去,于是上传的文件在服务器上就会被保存成xiaomm.asp,因此上传***就成功了! 
【防范方法】:最安全的防范办法就是删除上传页面。 (多数网站的处理方式:将上传的文件名更名,然后再通过http协议发送与服务器端,这样就可以避免传送过程中00造成的读取文件扩展名的丢失问题。)
三、图片***上传漏洞 
有的网站(例如动网7.1SP1博客功能),其后台管理中可以恢复/备份数据库,这会被***用来进行图片******。 
图片******过程如下:首先将本地***(例如F:\labxw\xiaomm.asp)扩展名改为.gif,然后打开上传页面,上传这个***(例如F:\labxw\xiaomm.gif);再通过注入法拿到后台管理员的账号密码,溜进网站后台管理中,使用备份数据库功能将.gif***备份成.asp***(例如xiaomm.asp),即在“备份数据库路径(相对)”输入刚才图片上传后得到的路径,在“目标数据库路径”输入:xiaomm.asp,提示恢复数据库成功;现在打开IE,输入刚才恢复数据库的asp路径,***就能运行了。 
【防范方法】:删除后台管理中的恢复/备份数据库功能。 
四、添加上传类型漏洞 
如今大多数论坛后台中都允许添加上传类型,这也是个不小的漏洞!只要***用注入法拿到后台管理员账号密码,然后进入后台添加上传类型,在上传页面中就能直接上传***! 
例如bbsxp后台中允许添加asa|asP类型,通过添加操作后,就可以上传这两类文件了;ewebeditor后台也能添加asa类型,添加完毕即可直接上传asa后缀的***;而LeadBbs3.14后台也允许在上传类型中增加asp类型,不过添加时asp后面必须有个空格,然后在前台即可上传ASP***(在***文件扩展名.asp后面也要加个空格)。
【防范方法】:删除后台管理中的添加上传类型功能。 
五、通用防范上传漏洞***秘笈:将服务器端的组件改名 
众所周知,ASP***主要是通过三种组件FileSystemObject、WScript.Shell和Shell.Application来操作的,因此只要你在服务器上修改注册表,将这三种组件改名,即可禁止***运行、防范******了。这一招能防范所有类型的上传漏洞,因为即使***将***成功上传到服务器中,但是由于组件已经被改名,***程序也是无法正常运行的! 
具体而言,需要将FileSystemObject组件、WScript.Shell组件、Shell.Application组件改名,然后禁用Cmd.exe,就可以预防漏洞上传***。
预防和测试方向:
1、 客户端:
1) 对上传附件的格式进行判断,限制上传格式的类型。防止直接上传***。
2) 上传附件提交时,对附件重命名。防止上传附件名称中00形式(扩展名前添加空格),过滤掉00后的扩展名而上传***
2、 服务器端:
1) 对上传的附件mime信息加以验证,判断上传内容的真正格式,防止上传***程序扩展名修改后,客户端无法识别而上传***。(由于客户端判断不能上传文件的真正类型)
2) 对服务器端的运行程序加以控制。见上文中“五”。
摘自D.L 博客 www.dlblog.tk

转载于:https://blog.51cto.com/blackvan/854213

“上传漏洞”安全检测网站详解相关推荐

  1. 网络安全与渗透:文件上传漏洞,一文详解(十)此生无悔入华夏,男儿何不带吴钩

    中华人民共和国网络安全法 阅读本文前,请熟读并遵守中华人民共和国网络安全法: http://gkhy.jiujiang.gov.cn/zwgk_228/jc/zcwj/202006/P02020061 ...

  2. 文件上传漏洞——upload-labs 1-19 (详解)

    upload-labs-1 删除 js 进行绕过 上传图片,发现上传成功 上传 shell 发现: 发现是白名单,所以由前面我们知道,极有可能在前端存在过滤,我们检查一下: 发现 checkFile( ...

  3. python代码图片头像_Flask 上传自定义头像的实例详解

    Flask Web 开发这本书基本上做完了,后面还需要温习,但是自己做的博客总觉得简陋了点,所以,在动脑子开发新功能 今天想到最基本的功能,自定义头像 那这样的功能,设计到2大基本功能块 1:如何进行 ...

  4. linux上连接ftp服务器,linux下lftp连接ftp服务器进行上传与下载的方法详解

    摘要 腾兴网为您分享:linux下lftp连接ftp服务器进行上传与下载的方法详解,中英翻译,中建在线,掌上看家,银行帮等软件知识,以及微信一键转发工具,小学英语冀教版,正是在下表情包,易问电信,万能 ...

  5. 网络安全课第七节 文件上传漏洞的检测与防御

    13 文件上传漏洞:种植服务器木马的捷径 上一讲介绍过反序列化漏洞,利用漏洞常可以造成执行代码的严重后果. 从本讲开始将介绍文件上传漏洞,它比反序列化漏洞原理与利用更加简单,但同样可以达到控制服务器的 ...

  6. IDEA2019版最新配置SVN及上传教程-超详细图文详解

    IDEA2019版配置SVN图文详解 1. 查看svn仓库 调出svn视图: 连接svn服务器: 连接后效果如下: 补充:如果输入正确的连接地址后出现错误-系统找不到指定的文件 请到设置中检查(Fil ...

  7. Git学习系列之如何正确且高效地将本地项目上传到Github(图文详解)

    不多说,直接上干货! 首先你需要一个Github账号,所以还没有的话先去注册吧! https://github.com/ 见 如何走上更高平台分享传递干货知识:(开通个人Github面向开源及私有软件 ...

  8. Linux 中 3 个文件打包上传和下载相关命令详解

    tar 命令 通过 SSH 访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar 命令就是必不可少的一个功能强大的工具.Linux 中最流行的tar是麻雀虽小,五脏俱全,功能强大. 使用t ...

  9. content add tpl.php,phpcms后台批量上传添加图片文章方法详解(一)

    注:以下所有代码中,红色部分为增加部分. 一.在后台增加批量添加按钮 打开"phpcms\modules\content\templates\content_list.tpl.php&quo ...

  10. upload-labs-master文件上传靶场第七关详解

    一.前言 upload-labs-master是文件上传靶场,里面目前总共有19关,github地址https://github.com/c0ny1/upload-labs,今天要说的是这个靶场的第七 ...

最新文章

  1. 在ASP.NET应用程序中捕捉身份验证状态的变化
  2. 使3D空间中物体朝向和其速度方向一致的旋转矩阵计算方案
  3. 成功解决pyinstaller生成exe缺少各种包的问题
  4. win7安装python2.7_python学习(3)-win7安装python2.7
  5. 使用Windows8开发Metro风格应用五
  6. GraphQL:和EntityFramework更配哦
  7. 前凸后翘的步进电机调速算法~
  8. 求正整数N(N1)的质因数的个数,相同的质因数需要重复计算(java)
  9. C语言是作为一个程序员必须了解的,那么你知道怎样学习C语言吗?
  10. dataguard备库的数据文件的迁移
  11. manacher(马拉车)算法详解
  12. Closure--1
  13. 使用go来做系统,如何比java node php 更 简单
  14. Java函数式编程详解
  15. 安工大matlab实验报告王朋飞,计算机仿真实验
  16. 51Nod1203 2012集训队答辩 JZPLCM
  17. python生成随机中文_随机字生成器-Python
  18. 案例分享:如何通过数据分析进行活动效果评估
  19. CSDN博客QQ加群、微信
  20. PyTorch基础:数据处理(数据加载、GPU加速)

热门文章

  1. PHP trim()的使用
  2. java非法表达式开头,java - 我不断收到“ Battle.java:11:错误:表达式的非法开头” Heelp - SO中文参考 - www.soinside.com...
  3. build.xml:391: javac doesn‘t support the “nativeheaderdir“ attribute
  4. 穿越者的真正优势是人才
  5. 编码基本功:给刚刚学习编程的朋友的建议
  6. CENTOS安装后没有图形界面GUI,怎么办?
  7. LINUX下载编译libspeex/libspeexdsp
  8. C#调用dll代码范例
  9. 测试只描述现象,不下结论
  10. 解决办法:对lzma_stream_decoder/lzma_code/lzma_end未定义的引用