Apache 文件解析漏洞
apachetomcat目录session应用信息漏洞

apachetomcat⽬录session应⽤信息漏洞
Tomcat 是⼀款开源的 Web 应⽤服务器软件。
Tomcat 属于轻量级应⽤服务器,在中⼩型系统和并发访问⽤户不多的场合下被普遍使⽤,是开发和调试 JSP 程序的⾸选。
漏洞描述
apache Tomcat默认安装包含“/examples”⽬录,⾥⾯存着很多的样例,其中session样例(/ examples/servlets/servlet/SessionExample)允许⽤户对session进⾏操作。
因为session是全局通⽤的,所以⽤户可以通过操作session获取管理员的权限,这些⽬录下的某些样例存在安全风险。
利⽤⽅式
通过表单提交dataname和datavalue参数,再通过request.getParameter()函数获取这两个函数值,再通过session.setAttribute()函数将dataname和datavalue的值写⼊session,通过操作session参数值来获取⽹站管理权限。
漏洞截图
整改建议
1、禁⽌访问或者直接删除examples和docs样例⽬录下的默认资源。
2、做⽬录访问权限设置,防⽌⽬录遍历。
ApacheTomcat默认文件漏洞

ApacheTomcat默认⽂件漏洞转载⾃: https:///weixin_43837718/article/details/98726253⼀、概要漏洞描述:默认错误页⾯,默认索引页⾯,⽰例JSP和/或⽰例servlet安装在远程Apache Tomcat服务器上。
应删除这些⽂件,因为它们可能有助于攻击者发现有关远程Tomcat安装或主机本⾝的信息。
漏洞风险:中修复建议:删除默认索引页并删除⽰例JSP和servlet。
按照Tomcat或OWASP说明更换或修改默认错误页⾯。
⼆、解决办法1、直接删除docs⽬录和examples⽬录;2、修改默认错误页⾯;<1>.vim conf/web.xml,在这个⽂件的末尾添加以下配置;<error-page><error-code>400</error-code><location>/error.html</location></error-page><error-page><error-code>404</error-code><location>/error.html</location></error-page><error-page><error-code>500</error-code><location>/error.html</location></error-page><2>.⾃定义错误页⾯vim /root/apache-tomcat-8.5.35/webapps/ROOT/error.html<!DOCTYPE html><html xmlns="/1999/xhtml"><head><title>⽹页访问不了</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><link rel="stylesheet" type="text/css" href="404/error_all.css?t=201303212934"></head><body class="error-404"><div id="doc_main"><section class="bd clearfix"><div class="module-error"><div class="error-main clearfix"><div class="label"></div><div class="info"><h3 class="title">Sorry,你所访问的页⾯有问题哦</h3> <div class="reason"><p>可能的原因:</p ><p>1.⼿写有问题。
ApacheTomcat文件包含漏洞(CVE-2020-1938)

ApacheTomcat⽂件包含漏洞(CVE-2020-1938)Apache Tomcat ⽂件包含漏洞(CVE-2020-1938)⼀. 漏洞概述2⽉20⽇,国家信息安全漏洞共享平台(CNVD)发布了Apache Tomcat⽂件包含漏洞(CNVD-2020-10487/CVE-2020-1938)。
该漏洞是由于Tomcat AJP协议存在缺陷⽽导致,攻击者利⽤该漏洞可通过构造特定参数,读取服务器webapp下的任意⽂件。
若⽬标服务器同时存在⽂件上传功能,攻击者可进⼀步实现远程代码执⾏。
⽬前,⼚商已发布新版本完成漏洞修复。
Tomcat是Apache软件基⾦会中的⼀个重要项⽬,性能稳定且免费,是⽬前较为流⾏的Web应⽤服务器。
由于Tomcat应⽤范围较⼴,因此本次通告的漏洞影响范围较⼤,请相关⽤户及时采取防护措施修复此漏洞。
参考链接:⼆、影响范围受影响版本Apache Tomcat 6Apache Tomcat 7 < 7.0.100Apache Tomcat 8 < 8.5.51Apache Tomcat 9 < 9.0.31不受影响版本Apache Tomcat = 7.0.100Apache Tomcat = 8.5.51Apache Tomcat = 9.0.31三、漏洞防护3.1官⽅升级⽬前官⽅已在最新版本中修复了该漏洞,请受影响的⽤户尽快升级版本进⾏防护,官⽅下载链接:版本号下载地址Apache Tomcat 7.0.100Apache Tomcat 8.5.51Apache Tomcat 9.0.31如果相关⽤户暂时⽆法进⾏版本升级,可根据⾃⾝情况采⽤下列防护措施。
3.2其他防护措施⼀:若不需要使⽤Tomcat AJP协议,可直接关闭AJP Connector,或将其监听地址改为仅监听本机localhost。
具体操作:(1)编辑 <CATALINA_BASE>/conf/server.xml,找到如下⾏(<CATALINA_BASE> 为 Tomcat 的⼯作⽬录):<Connector port="8009"protocol="AJP/1.3" redirectPort="8443" />(2)将此⾏注释掉(也可删掉该⾏):<!--<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />-->(3)保存后需重新启动Tomcat,规则⽅可⽣效。
文件上传漏洞及解析漏洞总结

文件上传漏洞及解析漏洞总结一种常见的攻击技术是通过绕过文件类型检查来上传恶意文件。
Web 应用程序通常会对上传的文件进行检查以确保文件类型的正确性,这是防止上传恶意文件的一种常见方法。
然而,攻击者可以通过修改文件的扩展名、使用特殊的文件格式或在文件中添加特殊字符等方式绕过这种检查。
解析漏洞是指攻击者通过上传特殊格式的文件触发解析过程中的安全问题。
这种漏洞通常发生在Web应用程序对上传文件进行解析和处理时。
攻击者可以通过构造恶意的文件格式,触发解析过程中的漏洞,并执行恶意操作。
一种常见的解析漏洞是代码注入。
攻击者可以通过上传包含恶意代码的文件来注入恶意代码到解析过程中,并在服务器上执行该代码。
这种漏洞可以导致服务器被入侵、敏感信息被窃取或其他恶意操作。
另一种常见的解析漏洞是目录遍历攻击。
攻击者可以通过上传包含特殊字符的文件名来绕过服务器对文件路径的正常检查,从而访问应用程序目录之外的文件。
这种漏洞可以导致文件泄露、服务器配置信息被窃取或其他安全问题。
要防止文件上传漏洞和解析漏洞,可以采取以下几种防御措施:1.对上传的文件进行严格的文件类型检查,确保只允许上传可信任的文件类型。
可以使用文件的MIME类型、扩展名或魔法字节来进行检查。
2.对上传的文件进行严格的文件大小限制,确保只允许上传合理大小的文件。
可以限制文件的大小或使用分片上传的方式来处理大型文件。
3.对上传的文件进行病毒扫描或恶意代码检测,确保上传的文件不包含任何恶意代码。
可以使用第三方的安全扫描工具或API来进行检测。
4.对上传的文件进行重命名,确保文件名不包含任何特殊字符或路径分隔符。
可以使用随机生成的文件名或保留原始文件名的方式进行重命名。
5.对上传的文件进行安全沙箱处理,确保文件在解析和执行过程中受到限制。
可以使用专业的文件解析库或安全沙箱工具来处理上传的文件。
6.对解析过程中可能触发的漏洞进行安全审计和测试,确保服务器上的解析过程不会受到攻击。
网络安全培训方案

培训方案
1、对学生知识的要求
对Windows、Linux及SQL语句有一定的了解即可
2、学生的知识能力提高
本课程重点培训学生的Web渗透测试能力,通过20天的渗透测试培训,学生可具备以下能力
1)、了解Web服务器的工作过程及原理
2)、了解HTTP协议
3)、学会渗透测试前踩点技能
4)、学会使用常见的渗透测试工具如burpsuite、SQLmap等等
5)、了解常见的系统攻击过程及手段
6)、学会常见的系统攻击方法
7)、学会Web服务器的信息获取
8)、学会IIS、Apache、tomcat、Weblogic等常见中间件的漏洞利用方式及加固方法9)、深入了解各类SQL注入漏洞的原理、攻击手段及加固措施
10)、掌握上传漏洞、命令执行漏洞、XSS漏洞等常见Web漏洞的利用方式及技巧11)、掌握各类提权方法
12)、掌握各类第三方插件/程度的漏洞利用方法
3、考试及颁发证书
暂无,可有
4、培训案例分析
安云科技针对学生每年举办两次定期培训,现已经举办了4次针对学生的培训,同时,受邀给青岛工学院、济南职业技术学院、山东警察学院等学校的老师进行培训
关于提升就业问题:现阶段,国家对信息安全的重视及网络安全行业的火爆,但人才短缺,安全行业的薪资也普遍高于其它行业,据调查,目前山东省内所有安全公司都面临人员不足的情况
5、培训课程。
常见的几种中间件解析漏洞

常见的⼏种中间件解析漏洞IIS解析漏洞IIS6.0解析漏洞1、打开“控制⾯板”,打开“添加或删除程序”,弹出“添加或删除程序”窗⼝。
2、单击窗⼝中的“添加/删除Windows组件”,弹出“Windows组件向导”窗⼝。
3.选中窗⼝中的“应⽤程序服务器”。
单击“详细信息”按钮,弹出“应⽤程序服务器”窗⼝。
4、选择组件时“Internet 信息服务(IIS)”与“应⽤程序服务器控制台”是必选的。
选中窗⼝中的“Internet 信息服务(IIS)”。
单击“详细信息”按钮,弹出“Internet 信息服务(IIS)”窗⼝。
5、选择“Internet信息服务管理器”与“万维⽹服务”。
选中窗⼝中的“万维⽹服务”,单击“详细信息”按钮,弹出“万维⽹服务”窗⼝。
6、其中“万维⽹服务”必须选中。
如果想要服务器⽀持ASP,则在选中“Active Server Pages”。
6、逐个点“确定”按钮,返回到“Windows组件向导”窗⼝,点击下⼀步。
⽬录解析漏洞:简介:在⽹站下建⽴⽂件夹的名称中以.asp或.asa等作为后缀的⽂件夹,其⽬录内任何扩展名的⽂件都被IIS当作asp可执⾏⽂件去解析并执⾏.1.在C:\Inetpub\wwwroot⽬录下创建1.asp⽬录,并在⽬录中创建1.txt⽂件,在⽂件中写⼊下⾯内容<%=now()%>即显⽰当前时间2.访问改路径⽂件解析漏洞:简介:在IIS6.0下,分号后⾯的内容不被解析,举个栗⼦,xx.asp;.jpg将会当作xx.asp去解析执⾏.IIS6.0 默认的可执⾏⽂件除了.asp,还包含这三种:.asa .cdx .cer. 例如:test.asa 、 test.cdx 、 test.cer1.在iis⽬录下创建⼀个以下格式的⽂件2.访问该路径IIS7.0解析漏洞⾸先我们在win7上安装IIS7控制⾯板程序打开或关闭windows功能切换php版本在phpstudy的www⽬录上先创建⼀个新⽂件,写上<?php phpinfo();?>找到我们的CGI设置,再点击请求限制把如下的勾去掉Nginx解析漏洞该漏洞与Nginx、php版本⽆关,属于⽤户配置不当造成的解析漏洞。
解析文件上传漏洞从FCKEditor文件上传漏洞谈起

解析⽂件上传漏洞从FCKEditor⽂件上传漏洞谈起⽂件上传漏洞就是允许⽤户上传任意⽂件可能会让攻击者注⼊危险内容或恶意代码,并在服务器上运⾏,下⾯⼩编就为⼤家具体的讲解⽂件上传漏洞的知识,希望可以帮助到⼤家。
⽂件上传后导致的常见安全问题⼀般有:1)上传⽂件是Web脚本语⾔,服务器的Web容器解释并执⾏了⽤户上传的脚本,导致代码执⾏。
2)上传⽂件是Flash的策略⽂件crossdomain.xml,⿊客⽤以控制Flash在该域下的⾏为(其他通过类似⽅式控制策略⽂件的情况类似);3)上传⽂件是病毒、⽊马⽂件,⿊客⽤以诱骗⽤户或者管理员下载执⾏。
4)上传⽂件是钓鱼图⽚或为包含了脚本的图⽚,在某些版本的浏览器中会被作为脚本执⾏,被⽤于钓鱼和欺诈。
除此之外,还有⼀些不常见的利⽤⽅法,⽐如将上传⽂件作为⼀个⼊⼝,溢出服务器的后台处理程序,如图⽚解析模块;或者上传⼀个合法的⽂本⽂件,其内容包含了PHP脚本,再通过"本地⽂件包含漏洞(Local File Include)"执⾏此脚本;等等。
要完成这个攻击,要满⾜以下⼏个条件:⾸先,上传的⽂件能够被Web容器解释执⾏。
所以⽂件上传后所在的⽬录要是Web容器所覆盖到的路径。
其次,⽤户能够从Web上访问这个⽂件。
如果⽂件上传了,但⽤户⽆法通过Web访问,或者⽆法得到Web容器解释这个脚本,那么也不能称之为漏洞。
最后,⽤户上传的⽂件若被安全检查、格式化、图⽚压缩等功能改变了内容,则也可能导致攻击不成功。
⼀、从FCKEditor⽂件上传漏洞谈起FCKEditor是⼀款⾮常流⾏的富⽂本编辑器,为了⽅便⽤户,它带有⼀个⽂件上传功能,但是这个功能却出过多次漏洞。
FCKEditor针对ASP/PHP/JSP等环境都有对应的版本,以PHP为例,其⽂件上传功能在:配合解析漏洞。
(⼀)IIS5.x-6.x解析漏洞使⽤iis5.x-6.x版本的服务器,⼤多为windows server 2003,⽹站⽐较古⽼,开发语句⼀般为asp;该解析漏洞也只能解析asp⽂件,⽽不能解析aspx⽂件。
腾讯2016实习招聘-安全岗笔试题答案详细解释

0x00前言鉴于曾经做过腾讯找招聘-安全技术笔试题目,故留此一记,以作怀念。
此外,网上也有公布的相关的答案,但是其中有些题目稍有错误或者解释不全,所以趁机写上一记。
0x01 开始2016年4月2日晚上7:00到9:00,腾讯2016实习招聘-安全技术的笔试题确实考到很多基础知识。
该笔试题有两部分。
第一部分是30道不定项选择题、10道简答题和5道判断题,题量是45,限时80分钟。
第二部分是2道分析题,限时40分钟。
有下面统一给出答案和为每一题做出解释。
0x02 不定项选择题-301 应用程序开发过程中,下面那些开发习惯可能导致安全漏洞?()A 在程序代码中打印日志输出敏感信息方便调式B 在使用数组前判断是否越界C 在生成随机数前使用当前时间设置随机数种子D 设置配置文件权限为rw-rw-rw-答案:AD解释:A 为日志包含敏感信息,容易泄露账号密码接口数据等信息,可能产生安全漏洞。
B 为数组大小问题,数组不越界,可防止溢出安全漏洞。
因此是安全的。
C 用当前时间来作为随机数种子的话,随着时间的不同,生成的随机数也会不同。
因此是安全的。
D 为配置文件的权限问题,rw为可以读取可以写入。
第一个rw-为文件所属用户、第二个rw-为用户所在组、第三个rw-为其它用户的读写。
可以导致非法写入和越权访问,可能产生安全漏洞。
2 以下哪些工具提供拦截和修改HTTP数据包的功能?()A BurpsuiteB HackbarC FiddlerD Nmap答案:AC解释:A Burpsuite是可以通过设置浏览器代理进行网络渗透的,用于攻击Web应用的集成平台。
可以进行拦截和修改HTTP数据包。
B Hackbar 是用来进行sql注入、测试XSS和加解密字符串的。
可以用来快速构建一个HTTP请求(GET/POST)等。
但是不能拦截和修改HTTP数据包。
C Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯。
Web中间件常见安全漏洞总结

Web中间件常见安全漏洞总结今天看到⼀篇公众号⽂章写的关于中间件漏洞的整理,⾥⾯有部分是我不知道的,转载⼀下,第⼀章:IISIIS 6 解析漏洞IIS 7 解析漏洞PUT任意⽂件写⼊IIS短⽂件漏洞HTTP.SYS远程代码执⾏ (MS15-034)RCE-CVE-2017-7269第⼆章:Apache未知扩展名解析漏洞AddHandler导致的解析漏洞Apache HTTPD 换⾏解析漏洞(CVE-2017-15715)第三章:NginxNginx配置⽂件错误导致的解析漏洞Nginx 空字节任意代码执⾏漏洞Nginx ⽂件名逻辑漏洞(CVE-2013-4547)Nginx 配置错误导致的安全问题第四章:TomcatTomcat 任意⽂件写⼊(CVE-2017-12615)Tomcat 远程代码执⾏(CVE-2019-0232)Tomcat + 弱⼝令 && 后台getshell漏洞Tomcat manager App 暴⼒破解第五章:JBossJBoss 5.x/6.x 反序列化漏洞(CVE-2017-12149)JBoss JMXInvokerServlet 反序列化漏洞JBoss EJBInvokerServlet 反序列化漏洞JBoss <=4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)Administration Console 弱⼝令JMX Console未授权访问第六章:weblogicXMLDecoder 反序列化漏洞(CVE-2017-10271 & CVE-2017-3506)Weblogic wls9_async_response,wls-wsat 反序列化远程代码执⾏漏洞(CVE-2019-2725)Weblogic WLS Core Components 反序列化命令执⾏漏洞(CVE-2018-2628)Weblogic 任意⽂件上传漏洞(CVE-2018-2894)Weblogic SSRF漏洞(CVE-2014-4210)Weblogic 弱⼝令 && 后台getshell第七章:GlassFishGlassFish Directory Traversal(CVE-2017-1000028)GlassFish 后台Getshell第⼋章:WebSphereJava反序列化(CVE-2015-7450)弱⼝令 && 后台Getshell1、IISIIS是Internet Information Services的缩写,意为互联⽹信息服务,是由微软公司提供的基于运⾏Microsoft Windows的互联⽹基本服务。
任意文件上传的原理、危害及防御

文件上传漏洞的原理、危害及防御一.什么是文件上传漏洞Web应用程序通常会有文件上传的功能,例如在BBS发布图片,在个人网站发布ZIP压缩包,在办公平台发布DOC文件等,只要Web应用程序允许上传文件,就有可能存在文件上传漏洞.什么样的网站会有文件上传漏洞?大部分文件上传漏洞的产生是因为Web应用程序没有对上传文件的格式进行严格过滤,还有一部分是攻击者通过Web服务器的解析漏洞来突破Web应用程序的防护,后面我们会讲到一些常见的解析漏洞,最后还有一些不常见的其他漏洞,如IIS PUT漏洞等.二.文件上传漏洞的危害上传漏洞与SQL注入或XSS相比,其风险更大,如果Web应用程序存在上传漏洞,攻击者甚至可以直接上传一个webshell到服务器上.什么是webshell?webshell就是以asp、php、jsp或者cgi等网页文件形式存在的一种命令执行环境,也可以将其称做为一种网页后门.黑客在入侵了一个网站后,通常会将asp或php后门文件与网站服务器WEB目录下正常的网页文件混在一起,然后就可以使用浏览器来访问asp或者php后门,得到一个命令执行环境,以达到控制网站服务器的目的.顾名思义,“web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限.webshell常常被称为入侵者通过网站端口对网站服务器的某种程度上操作的权限.由于webshell其大多是以动态脚本的形式出现,也有人称之为网站的后门工具.以上这段话源自百度百科对webshell的解释,如果对此感兴趣,可以搜索:一句话木马.三.常见的解析漏洞1.IIS解析漏洞IIS6.0在解析文件时存在以下两个解析漏洞.①当建立*.asa、*.asp格式的文件夹时,其目录下的任意文件豆浆被IIS当作asp文件来解析.②在IIS6.0下,分号后面的扩展名不会被解析,也就是说当文件为*.asp;.jpg 时,IIS6.0同样会以ASP脚本来执行.2.Apache解析漏洞在Apache 1.x和Apache 2.x中存在解析漏洞,但他们与IIS解析漏洞不同.Apache在解析文件时有一个规则:当碰到不认识的扩展名时,将会从后向前解析,直到碰到认识的扩展名位置,如果都不认识,则会暴露其源码.比如:1.php.rar.xx.aaApache首先会解析aa扩展名,如果不认识则接着解析xx扩展名,这样一直遍历到认识的扩展名为止,然后再将其进行解析.3.PHP CGI解析漏洞在PHP的配置文件中有一个关键的选项: cgi.fi: x_pathinfo.这个选项在某些版本是默认开启的,在开启时访问url,比如:/x.txt/x.php,x.php是不存在的文件,所以php将会向前递归解析,于是就造成了解析漏洞.由于这种漏洞常见于IIS7.0、IIS7.5、Nginx等Web服务器,所以经常会被误认为是这些Web服务器的解析漏洞.4.Nginx <8.03 空字节代码执行漏洞影响版本:0.5,0.6,0.7<=0.7.65 0.8<=0.8.37Nginx在图片中嵌入PHP代码,然后通过访问xxx.jpg%00.php可以执行其中的代码.5.其他在windows环境下,xx.jpg[空格]或xx.jpg.这两类文件都是不允许存在的,若这样命名,windows会默认除去空格或点,攻击者可以通过抓包,在文件名后加一个空格或者点绕过黑名单.若上传成功,空格和点都会被windows自动消除,这样也可以getshell.如果在Apache中.htaccess可被执行.且可被上传.那可以尝试在.htaccess中写入: SetHandlerapplication/x-httpd-php然后再上传名称为shell.jpg的webshell,这样shell.jpg就可解析为php文件. 四.文件上传漏洞的防御方法很多开发者仅仅通过使用javascript来防御非法文件上传,这样验证对于一些普通用户防止上传错误还可以,对专业的技术人员来说,这是非常低级的验证.攻击者可以通过非常多的方法来突破前端验证,下面举两个例子:1.使用FireBugFireBug是一款开源的浏览器插件,它支持Firefox,Chrome等浏览器.它可以让Web开发者轻松地调试HTML、javascirpt、AJAX、CSS等前端脚本代码.正是因为FireBug功能强大,所以也成为了黑客的必备利器.介绍完FireBug之后,我们来看如何使用FireBug绕过客户端检测.当单击提交按钮后,Form表单将会触发onsubmit事件,onsubmit事件将会调用checkFile函数.checkFile函数将会检测文件扩展名是否合法,并返回一个布尔值,如果checkFile函数返回true,则表单提交,反之则拦截要上传的文件.知道这一点后,可以用FireBug将onsubmit事件删除,这样就可以绕过javascript函数验证.2.中间人攻击中间人攻击和使用FireBug的方法完全不同,FireBug是删除客户端的javascript验证,而使用Burp Suite等抓包软件则是按照正常的流程通过javascript验证,然后在传输中的HTTP层做修改.首先把木马文件的扩展名字改为一张正常图片或文档的扩展名,如jpg扩展名,在上传时使用Burp拦截上传数据,再将其中的扩展名jpg修改成jsp,就可以绕过客户端验证.通过以上例子,大家可以看出前端脚本验证是一种非常不可靠的验证方式,不管是对文件上传、XSS还是别的漏洞来说都是如此,当然这并不是说完全不需要做前端验证,而是要把前端验证和服务器端验证相结合.我们来看服务端检测,在上传文件时,大多开发者会对文件扩展名检测,验证文件扩展名通常有两种方式:黑名单和白名单.黑名单过滤是一种不安全的方式,黑名单定义了一系列不安全的扩展名,服务器端在接收文件后,与黑名单扩展名对比,如果发现文件扩展名与黑名单里的扩展名匹配,则认为文件不合法.为什么黑名单过滤是一种不安全的方式呢?比如一个Web服务器为IIS6.0,Web语言为asp的网站,假定开发者使用了黑名单过滤,过滤了asp、asa、cer等文件格式,那么可以尝试以下几种方式来绕过:1.大小写,比如AsP、cER等.2.被忽略的扩展名,IIS6.0会把cdx格式的文件当成asp来解析.3.配合解析漏洞,上传asp;.jpg格式文件.4.如果Web服务器开启了其他语言的支持,比如可以解析php文件,那么可以上传php 格式的木马.5.利用Windows系统自动去除.和空格的特性,如上传扩展名asp.格式的文件来绕过.通过以上几个例子可以看出,黑名单过滤的可靠性并不高,白名单过滤相对来说较为可靠.白名单与黑名单的机智恰恰相反,黑名单是定义不允许上传的扩展名,白名单则是定义允许上传的扩展名,虽然采用白名单可以防御未知风险,但是不能完全依赖白名单,因为白名单不能完全防御上传漏洞,例如各种解析漏洞等,白名单仅仅是防御上传漏洞的第一步.通常会结合其他验证方式来使用,虽然不能完全防御文件上传漏洞,但也基本上规避了绝大部分风险,接下来简要说一下其他几种文件上传漏洞防御方法:1.检查文件上传路径(避免0x00截断、IIS6.0文件夹解析漏洞、目录遍历)2.文件扩展名检测(避免服务器以非图片的文件格式解析文件)3.文件MIME验证(比如GIF图片MIME为image/gif,CSS文件的MIME为text/css等)3.文件内容检测(避免图片中插入webshell)4.图片二次渲染(最变态的上传漏洞防御方式,基本上完全避免了文件上传漏洞)5.文件重命名(如随机字符串或时间戳等方式,防止攻击者得到webshell的路径)另外值得注意的一点是,攻击者上传了webshell之后需要得到webshell的路径才能通过工具连接webshell,所以尽量不要在任何地方(如下载链接等)暴露文件上传后的地址,在这里必须要提一点,就是有很多网站的上传点在上传了文件之后不会在网页上或下载链接中暴露文件的相对路径,但是在服务器返回的数据包里却带有文件上传后的路径,如下图:这种情况是应当尽量避免的.由于文件上传利用方式种类繁多,所以就不在这里详细介绍了,扩展阅读里有一些,大家也可以在网络中搜索相关资料.四.扩展阅读1.上传漏洞filepath变量\00截断https:///2404.html2.文件上传绕过验证/link?url=RjPW7xaoh48TYXw5Fc7j2svxw7bQzXjGd wgoD55Ue4ywOdH1Ue2rvrz08PoqQsxA_OqzasXy38rpXKxooZUmtoM7cx0SWh32Rsjir8 NEuD73.特殊的上传技巧,绕过PHP图片转换实现远程代码执行(RCE)/articles/web/54086.html。
文件上传漏洞及解析漏洞总结

文件上传漏洞及解析漏洞总结文件上传漏洞和解析漏洞是常见的安全漏洞类型,存在于许多应用程序中。
通过这些漏洞,攻击者可以上传恶意文件或利用文件解析过程中的弱点来执行任意代码。
本文将对文件上传漏洞和解析漏洞进行总结,分析其原理、危害以及常见的防御措施。
一、文件上传漏洞1.未进行文件类型验证。
应用程序仅验证了文件扩展名而未验证文件的真实类型。
攻击者可以通过更改文件扩展名绕过验证,上传恶意文件。
2.未进行文件大小限制。
应用程序未设置文件大小限制或未正确校验文件大小,导致攻击者可以上传过大的文件,从而影响服务器性能。
3.未对上传文件内容进行检查。
应用程序未检查文件内容,导致攻击者可以上传包含恶意代码的文件。
1.执行任意代码。
攻击者可以上传包含任意代码的文件,并利用该代码执行各种操作,如读取、修改、删除服务器上的文件,甚至执行系统命令。
2.获取敏感信息。
攻击者可以上传恶意文件,通过读取服务器上的敏感文件来获取重要信息,如数据库凭证、用户密码等。
3.拒绝服务攻击。
攻击者可以上传大文件,消耗服务器资源,影响正常服务的访问。
为了防止文件上传漏洞,我们可以采取以下几个常见的防御措施:1.限制文件类型。
应用程序应该根据业务需求,限制允许上传的文件类型,并在接收文件时对其进行验证,确保文件类型符合预期。
可以通过检查文件的魔术数字或文件头来判断文件类型。
2.限制文件大小。
应用程序应该对上传的文件大小进行限制,避免上传过大的文件。
可以通过限制请求的Content-Length头字段或服务器配置文件的设置来实现。
3.对上传文件进行检查。
应用程序应该对上传的文件进行检查,确保其内容是安全的。
可以通过文件内容分析工具对上传的文件进行检测,如ClamAV等。
4.隔离上传文件。
应用程序应该将上传的文件存储在与应用代码和静态资源分离的目录下,并通过文件系统权限设置来限制其执行权限,避免上传的文件被直接执行。
二、解析漏洞解析漏洞是指应用程序未能正确解析用户输入的数据,导致攻击者可以通过构造恶意数据绕过解析过程,执行任意代码。
CISP试题ABC三套(含答案)

试题A姓名:得分:一、单项选择题:(25*1=25分)1、在windows系统中,查看本地开放的端口使用的命令是:(C) use sharestat-anD.arp –a2、SQL Sever的默认DBA账号是什么?(B)A.administratorB.saC.rootD.SYSTEM3、删除linux中无用的账号,使用的命令是:(C)A.cat /etc/passwdermode –Lerdel –Rermode -F4、某文件的权限为:drw-r--r--,用数值形式表示该权限,则该八进制数为(C)。
A.755B.642C.644D.6415、sql注入时,根据数据库报错信息”Microsoft JET Database….”,通常可以判断出数据库的类型:(D)A.Microsoft SQL serverB.MySQLC.OracleD.Access6、针对Mysql的SQL注入,可以使用什么函数来访问系统文件?(C )A.load file infileB.load fileC.load_fileD.load file_infile 7、sql注入防护通常针对编码进行安全加固。
以下哪一个不属于加固的范畴?(D)A.使用参数化语句B.验证输入C.规范化D.使用web安全防火墙8、假设一台windows xp主机处于待机状态,而且没有运行任何其他非系统进程,请问该主机哪个进程是系统正常进程?(B )A.winlog0n.exeB.Lsass.exeC.Iexplorer.exeD.Exp1orer.exe9、Windows的系统日志文件有应用程序日志,安全日志、系统日志等等,分别位于%systemroot%\system32\config文件夹中,其中日志文件的默认大小为(A)。
A.512KBB.1024KBC.256KBD.2MB10、远程控制软件vnc工作的端口为(D)A.1433B.4899C.43859D.590011、以下不属于社会工程学技术的是(D)A.个人冒充B.直接索取C.钓鱼技术D.木马攻击12、以下那个漏洞不是远程溢出漏洞(B)A.ms08067B.ms11080C.ms06040D.ms1202013、恶意代码是(C)。
Web中间件常见漏洞总结

Web中间件常见漏洞总结⼀、IIS中间组件:1、PUT漏洞2、短⽂件名猜解3、远程代码执⾏4、解析漏洞⼆、Apache中间组件:1、解析漏洞2、⽬录遍历三、Nginx中间组件:1、⽂件解析2、⽬录遍历3、CRLF注⼊4、⽬录穿越四、Tomcat中间组件:1、远程代码执⾏2、war后门⽂件部署五、jBoss中间组件:1、反序列化漏洞2、war后门⽂件部署六、WebLogic中间组件:1、反序列化漏洞2、SSRF3、任意⽂件上传4、war后门⽂件部署七、其它中间件相关漏洞1、FastCGI未授权访问、任意命令执⾏2、PHPCGI远程代码执⾏⼀、IIS解析漏洞:IIS的安全脆弱性曾长时间被业内诟病,⼀旦IIS出现远程执⾏漏洞威胁将会⾮常严重。
远程执⾏代码漏洞存在于 HTTP 协议堆栈(HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。
成功利⽤此漏洞的攻击者可以在系统帐户的上下⽂中执⾏任意代码,可以导致IIS服务器所在机器蓝屏或读取其内存中的机密数据.PUT漏洞介绍及成因:IIS Server在Web服务扩展中开启WebDAV ,配置了可以写⼊权限,造成任意⽂件上传,受影响版本:IIS6.0,漏洞复现:开启WebDAV和写⼊权限.图⽚发⾃简书App利⽤BurpSute测试:BurpSute抓包,将GET请求改为OPTIONS.图⽚发⾃简书App利⽤桂林⽼兵写⼊权限:图⽚发⾃简书App成功上传,再上传⼀句话⽊马,然后⽤菜⼑连接,获取getshell:图⽚发⾃简书AppPUT漏洞修复:关闭WebDAV和写⼊权限.⼆、短⽂件名猜解漏洞介绍及成因:IIS的短⽂件名机制,可以暴⼒猜解短⽂件名,访问构造的某个存在的短⽂件名,会返回404,访问构造的某个不存在的短⽂件名,返回400,漏洞复现:在⽹站根⽬录下添加aaaaaaaaaa.html⽂件:图⽚发⾃简书App进⾏猜解:图⽚发⾃简书App图⽚发⾃简书App漏洞修复:1.升级.net framework;2.修改注册表禁⽤短⽂件名功能;3.快捷键Win+R打开命令窗⼝,输⼊regedit打开注册表窗⼝,找到路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中NtfsDisable8dot3NameCreation这⼀项的值设为 1,1代表不创建短⽂件名格式,修改完成后,需要重启系统⽣效;4.CMD关闭NTFS 8.3⽂件格式⽀持;5.将web⽂件夹的内容拷贝到另⼀个位置,如c:\www到d:\w,然后删除原⽂件夹,再重命名d:\w到c:\www,如图:图⽚发⾃简书App三、远程代码执⾏漏洞介绍及成因:在IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进⾏有效的长度控制和检查,导致执⾏memcpy对虚拟路径进⾏构造的时候,引发栈溢出,从⽽导致远程代码执⾏,漏洞复现:漏洞环境搭建:在Windows server 2003 r2 32位上安装iis6.0,触发漏洞:在本地执⾏exp,exp如下:图⽚发⾃简书App执⾏成功后,服务器端弹出计算器:图⽚发⾃简书App短⽂件名猜解漏洞漏洞修复:1.关闭WebDAV服务;2.使⽤相关防护设备.四、解析漏洞介绍及成因:IIS 6.0在处理含有特殊符号的⽂件路径时会出现逻辑错误,从⽽造成⽂件解析漏洞,漏洞有两种完全不同的利⽤⽅式:/test.asp/test.jpgtest.asp;.jpg漏洞复现:利⽤⽅式1:图⽚发⾃简书App利⽤⽅式2:第⼆种是上传名为 “test.asp;.jpg” 的⽂件,虽然该⽂件真正的后缀名是 “.jpg”, 但由于含有特殊符号 “;” ,仍会被 IIS 当做asp程序执⾏:图⽚发⾃简书AppIIS7.5 ⽂件解析漏洞:test.jpg/.php注:URL中⽂件后缀是 .php ,便⽆论该⽂件是否存在,都直接交给 php 处理,⽽ php ⼜默认开启 “cgi.fix_pathinfo”, 会对⽂件进⾏“ 修理 ” ,可谓 “ 修理 ” ?举个例⼦,当 php 遇到路径 “/aaa.xxx/bbb.yyy” 时,若 “/aaa.xxx/bbb.yyy” 不存在,则会去掉最后的“bbb.yyy” ,然后判断 “/aaa.xxx” 是否存在,若存在,则把 “/aaa.xxx” 当作⽂件,若有⽂件 test.jpg ,访问时在其后加 /.php ,便可以把 “test.jpg/.php” 交给 php , php 修理⽂件路径 “test.jpg/.php” 得到 ”test.jpg” ,该⽂件存在,便把该⽂件作为 php 程序执⾏。
文件上传漏洞(绕过方法)

文件上传校验姿势⏹客户端javascript校验(一般只校验后缀名)⏹服务端校验1)文件头content-type字段校验(image/gif)2)文件内容头校验(GIF89a)3)后缀名黑名单校验4)后缀名白名单校验5)自定义正则校验⏹WAF设备校验(根据不同的WAF产品而定)文件上传绕过校验方法客户端绕过(抓包改包)方法:可以利用burp抓包改包,先上传一个gif类型的木马,然后通过burp将其改为asp/php/jsp后缀名即可。
服务器端绕过1)文件类型绕过方法:通过抓包,将content-type字段改为image/gif。
2)文件头绕过方法:在木马内容基础上再加了一些文件信息,如GIF89a<?phpphpinfo(); ?>3)文件后缀名绕过即黑名单校验,一般有个专门的 blacklist 文件,里面会包含常见的危险脚本文件。
方法:(1)找黑名单扩展名的漏网之鱼,如下jsp:jspx、jspf;asp:asa、cer、aspx;php:php、php3、php4;exe:exee(2)可能存在大小写绕过漏洞,例如:aSp、pHp。
4)配合操作系统文件命令规则(1)上传不符合windows文件命名规则的文件名:test.asp.test.asp(空格)test.php:1.jpgtest.php::$DATAshell.php::$DATA……(2)linux下后缀名大小写5)配合其他规则0x00截断:基于一个组合逻辑漏洞造成的,通常存在于构造上传文件路径的时候。
test.php(0x00).jpg、test.php%00.jpg。
例如:路径/upload/1.php(0x00),文件名1.jpg,结合/upload/1.php(0x00)/1.jpg 伪代码演示:6)配合文件包含漏洞前提:校验规则只校验当文件后缀名为asp/php/jsp的文件内容是否为木马。
绕过方式:(这里拿php为例,此漏洞主要存在于PHP中)(1)先上传一个内容为木马的txt后缀文件,因为后缀名的关系没有检验内容;(2)然后再上传一个.php的文件,内容为<?php Include(“上传的txt文件路径”);?>此时,这个php文件就会去引用txt文件的内容,从而绕过校验,下面列举包含的语法:服务器解析漏洞(一)IIS5.x-6.x解析漏洞目录解析(6.0)形式:/xx.asp/xx.jpg原理: 服务器默认会把.asp,.asa目录下的文件都解析成asp文件。
ApacheHTTPD未知后缀解析漏洞

启动后Apache运行在 http://your-ip/index.php
漏洞复现
中是一个白名单检查文件后缀的上传组件,上传完成后并未重命名。我们可以通过上传文件名为xxx.php.jpg或xxx.php.jpeg的文件,利用Apache解析漏洞进行getshell。 新建一个1.php 内容如下 <?php phpinfo();?> 上传
请求出错错误代码503请尝试刷新页面重试
缀 解 析 漏 洞
该环境版本:
PHP 7.x 最新版 Apache HTTPD 2.4.10 稳定版(来自debian源) 由此可知,该漏洞与Apache、php版本无关,属于用户配置不当造成的解析漏洞。
开启环境:
cd vulhub-master/httpd/apache_parsing_vulnerability/ sudo docker-compose up
上传失败 抓包改为1.php.jpg
上传成功
访问一下看看 没毛病老铁。
2.3警惕Apache站上的解析缺陷绕过上传漏洞

课程简介IIS 6.0、IIS 7.0、IIS 7.5、Nginx、Apache等WEB应用均存在解析漏洞,Apache的解析漏洞主要特性为Apache是从后面开始检查后缀,按最后一个合法后缀执行,整个漏洞的关键就是Apache的合法后缀到底是哪些,不是合法后缀的都可以被利用,所以将木马的后缀进行修改为允许上传的类型后,即可成功绕过验证,最终拿到权限。
本次课程为大家讲解的就是该种解析漏洞,从而学习如何防御利用此种漏洞进行的渗透。
课程介绍∙实验环境o操作机:Windows XPo目标机:Windows 2003o目标网址:∙实验工具:Tools Path实验步骤∙打开桌面Everything搜索工具,输入实验工具名称,右击选择“打开路径”,跳转实验工具所在位置。
∙以查找BURP为例为大家演示。
打开浏览器, 在地址栏中输入目标的站点( IP地址)。
进入到站点后,点击开始搜索图片。
搜索的图片的后缀名格式为.jpg。
把搜索到的图片,复制粘贴到桌面,进行上传。
点击浏览选择桌面上的图片。
点击提交成功正常图片上传,( 图片的后缀名类型在允许的上传后缀名类型范围内) 返回红色的成功信息和图片路径在uploading/文件夹下的文件名为t upian.jpg的图片文件。
尝试上传一句话文件点击桌面的快捷方式( 也就是访问tools工具文件夹下的caidao文件夹下的一句话.txt) 点击打开一句话.txt 文件复制一句话的php代码。
小i提示:∙一句话是一种常见的网站后门,短小精悍,而且功能强大,隐蔽性非常好,在渗透测试过程中始终扮演着强大的作用。
∙不同的环境需要选取与环境匹配的一句话新建一个空文本文档,将php的一句话写入到文本中,修改文件名为yijuhua.php并保存到桌面小i提示:一句话中$_POST[‘这里是密码’],本例中我们以1为密码点击浏览选择上传桌面的yijuhua.php文件。
点击提交显示上传失败( 鼠标下显示上传失败文件名不是上传的类型),说明服务器会对上传文件进行验证,我们需要绕过验证。
文件上传漏洞攻击与防范方法

文件上传漏洞攻击与防范方法作者美创科技安全实验室1文件上传漏洞简介文件上传漏洞是web安全中经常用到的一种漏洞形式。
是对数据与代码分离原则的一种攻击。
上传漏洞顾名思义,就是攻击者上传了一个可执行文件如木马,病毒,恶意脚本,WebShell等到服务器执行,并最终获得网站控制权限的高危漏洞。
2文件上传漏洞危害上传漏洞与SQL注入或XSS相比,其风险更大,如果Web应用程序存在上传漏洞,攻击者上传的文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行。
如果上传的文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行为。
如果上传的文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行。
如果上传的文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈。
甚至攻击者可以直接上传一个webshell到服务器上完全控制系统或致使系统瘫痪。
3文件上传漏洞原理大部分的网站和应用系统都有上传功能,而程序员在开发任意文件上传功能时,并未考虑文件格式后缀的合法性校验或者是否只在前端通过js进行后缀检验。
这时攻击者可以上传一个与网站脚本语言相对应的恶意代码动态脚本,例如(jsp、asp、php、aspx文件后缀)到服务器上,从而访问这些恶意脚本中包含的恶意代码,进行动态解析最终达到执行恶意代码的效果,进一步影响服务器安全。
4文件上传漏洞绕过技巧一般来说文件上传过程中检测部分由客户端javascript检测、服务端Content-Type 类型检测、服务端path参数检测、服务端文件扩展名检测、服务端内容检测组成。
但这些检测并不完善,且都有绕过方法。
➢客户端检测绕过(js检测):利用firebug禁用js或使用burp代理工具可轻易突破。
➢服务端MIME检测绕过(Content-Type检测):使用burp代理,修改Content-Type的参数➢服务端扩展名检测绕过:文件名大小写绕过,例如Php,AsP等类似的文件名后缀名字双写嵌套,例如pphphp,asaspp等可以利用系统会对一些特殊文件名做默认修改的系统特性绕过可以利用asp程序中的漏洞,使用截断字符绕过可以利用不再黑名单列表中却能够成功执行的同义后缀名绕过黑名单的限制可以利用解析/包含漏洞配合上传一个代码注入过的白名单文件绕过➢服务端内容检测绕过:通过在文件中添加正常文件的标识或其他关键字符绕过文件加载检测绕过,针对渲染加载测试,代码注入绕过,针对二次渲染测试。
文件上传漏洞的原理、危害及防御

⽂件上传漏洞的原理、危害及防御⼀. 什么是⽂件上传漏洞Web应⽤程序通常会有⽂件上传的功能, 例如在 BBS发布图⽚ , 在个⼈⽹站发布ZIP 压缩包, 在办公平台发布DOC⽂件等 , 只要 Web应⽤程序允许上传⽂件, 就有可能存在⽂件上传漏洞.什么样的⽹站会有⽂件上传漏洞?⼤部分⽂件上传漏洞的产⽣是因为Web应⽤程序没有对上传⽂件的格式进⾏严格过滤 , 还有⼀部分是攻击者通过 Web服务器的解析漏洞来突破Web应⽤程序的防护, 后⾯我们会讲到⼀些常见的解析漏洞, 最后还有⼀些不常见的其他漏洞, 如 IIS PUT 漏洞等 .⼆. ⽂件上传漏洞的危害上传漏洞与SQL注⼊或 XSS相⽐ , 其风险更⼤ , 如果 Web应⽤程序存在上传漏洞 , 攻击者甚⾄可以直接上传⼀个webshell到服务器上 .三. 常见的解析漏洞1.IIS 解析漏洞IIS6.0 在解析⽂件时存在以下两个解析漏洞 .①当建⽴ *.asa 、*.asp 格式的⽂件夹时 , 其⽬录下的任意⽂件⾖浆被 IIS 当作 asp ⽂件来解析 .②在 IIS6.0 下 , 分号后⾯的扩展名不会被解析 , 也就是说当⽂件为 *.asp;.jpg时,IIS6.0 同样会以 ASP脚本来执⾏ .2.Apache 解析漏洞在 Apache 1.x 和 Apache 2.x 中存在解析漏洞 , 但他们与 IIS 解析漏洞不同 .Apache 在解析⽂件时有⼀个规则 : 当碰到不认识的扩展名时 , 将会从后向前解析 , 直到碰到认识的扩展名位置 , 如果都不认识 , 则会暴露其源码 . ⽐如 :1.php.rar.xx.aaApache ⾸先会解析 aa 扩展名 , 如果不认识则接着解析 xx 扩展名 , 这样⼀直遍历到认识的扩展名为⽌ , 然后再将其进⾏解析 .3.PHP CGI 解析漏洞在 PHP的配置⽂件中有⼀个关键的选项 : cgi.fi: x_pathinfo. 这个选项在某些版本是默认开启的 , 在开启时访问 url, ⽐如是不存在的⽂件 , 所以 php 将会向前递归解析 , 于是就造成了解析漏洞 . 由于这种漏洞常见于 IIS7.0 、IIS7.5 、 Nginx 等 Web服务器 , 所以经常会被误认为是这些 Web服务器的解析漏洞 .4.Nginx <8.03 空字节代码执⾏漏洞影响版本 :0.5,0.6,0.7<=0.7.65 0.8<=0.8.37Nginx 在图⽚中嵌⼊ PHP代码 , 然后通过访问 xxx.jpg%00.php 可以执⾏其中的代码 .5. 其他在 windows 环境下, xx.jpg[ 空格 ] 或 xx.jpg. 这两类⽂件都是不允许存在的 , 若这样命名,windows 会默认除去空格或点 , 攻击者可以通过抓包 , 在⽂件名后加⼀个空格或者点绕过⿊名单 . 若上传成功 , 空格和点都会被 windows ⾃动消除 , 这样也可以 getshell.如果在 Apache 中 .htaccess 可被执⾏ . 且可被上传 . 那可以尝试在 .htaccess 中写⼊ :SetHandlerapplication/x-httpd-php然后再上传名称为 shell.jpg 的 webshell, 这样 shell.jpg 就可解析为 php ⽂件 .四. ⽂件上传漏洞的防御⽅法很多开发者仅仅通过使⽤ javascript 来防御⾮法⽂件上传 , 这样验证对于⼀些普通⽤户防⽌上传错误还可以 , 对专业的技术⼈员来说 , 这是⾮常低级的验证 . 攻击者可以通过⾮常多的⽅法来突破前端验证 , 下⾯举两个例⼦ :1. 使⽤ FireBugFireBug 是⼀款开源的浏览器插件, 它⽀持Firefox,Chrome 等浏览器 . 它可以让Web开发者轻松地调试HTML、javascirpt 、AJAX、 CSS等前端脚本代码 . 正是因为 FireBug 功能强⼤, 所以也成为了⿊客的必备利器 .如何使⽤ FireBug 绕过客户端检测 .当单击提交按钮后 ,Form 表单将会触发 onsubmit 事件 ,onsubmit 事件将会调⽤ checkFile 函数 .checkFile 函数将会检测⽂件扩展名是否合法 , 并返回⼀个布尔值 , 如果 checkFile 函数返回 true, 则表单提交 , 反之则拦截要上传的⽂件 . 知道这⼀点后 , 可以⽤ FireBug 将 onsubmit 事件删除 , 这样就可以绕过 javascript 函数验证 .2. 中间⼈攻击中间⼈攻击和使⽤ FireBug 的⽅法完全不同 ,FireBug 是删除客户端的 javascript 验证 , ⽽使⽤ Burp Suite 等抓包软件则是按照正常的流程通过 javascript 验证 , 然后在传输中的 HTTP层做修改 .⾸先把⽊马⽂件的扩展名字改为⼀张正常图⽚或⽂档的扩展名 , 如 jpg 扩展名 , 在上传时使⽤ Burp 拦截上传数据 , 再将其中的扩展名 jpg 修改成 jsp, 就可以绕过客户端验证 .通过以上例⼦ , ⼤家可以看出前端脚本验证是⼀种⾮常不可靠的验证⽅式 , 不管是对⽂件上传、XSS还是别的漏洞来说都是如此, 当然这并不是说完全不需要做前端验证 , ⽽是要把前端验证和服务器端验证相结合 .我们来看服务端检测 , 在上传⽂件时 , ⼤多开发者会对⽂件扩展名检测 , 验证⽂件扩展名通常有两种⽅式 : ⿊名单和⽩名单 .⿊名单过滤是⼀种不安全的⽅式 , ⿊名单定义了⼀系列不安全的扩展名 , 服务器端在接收⽂件后 , 与⿊名单扩展名对⽐ , 如果发现⽂件扩展名与⿊名单⾥的扩展名匹配 , 则认为⽂件不合法 .为什么⿊名单过滤是⼀种不安全的⽅式呢 ?⽐如⼀个 Web服务器为 IIS6.0,Web 语⾔为 asp 的⽹站 , 假定开发者使⽤了⿊名单过滤 ,过滤了 asp、 asa、 cer 等⽂件格式 , 那么可以尝试以下⼏种⽅式来绕过 : 1. ⼤⼩写 , ⽐如 AsP、 cER等.2. 被忽略的扩展名 ,IIS6.0 会把 cdx 格式的⽂件当成 asp 来解析 .3. 配合解析漏洞 , 上传 asp;.jpg 格式⽂件 .4. 如果 Web服务器开启了其他语⾔的⽀持 , ⽐如可以解析 php ⽂件 , 那么可以上传 php格式的⽊马 .5. 利⽤ Windows 系统⾃动去除 . 和空格的特性 , 如上传扩展名 asp. 格式的⽂件来绕过 .通过以上⼏个例⼦可以看出 , ⿊名单过滤的可靠性并不⾼ , ⽩名单过滤相对来说较为可靠.⽩名单与⿊名单的机智恰恰相反 , ⿊名单是定义不允许上传的扩展名 , ⽩名单则是定义允许上传的扩展名 , 虽然采⽤⽩名单可以防御未知风险 , 但是不能完全依赖⽩名单 , 因为⽩名单不能完全防御上传漏洞 , 例如各种解析漏洞等 , ⽩名单仅仅是防御上传漏洞的第⼀步 . 通常会结合其他验证⽅式来使⽤ , 虽然不能完全防御⽂件上传漏洞 , 但也基本上规避了绝⼤部分风险.。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Apache文件解析漏洞
作者美创科技安全实验室
Apache简介
Apache是世界使用排名第一的Web服务器软件。
它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。
解析漏洞
漏洞介绍及成因
Apache文件解析漏洞与用户的配置有密切关系,严格来说属于用户配置问题。
Apache文件解析漏洞涉及到一个解析文件的特性:
Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别(不在mime.tyoes内),则继续向左识别,当我们请求这样一个文件:
shell.php.xxx.yyy
yyy->无法识别,向左
xxx->无法识别,向左
php->发现后缀是php,交给php处理这个文件
漏洞复现
上传一个后缀名为360的php文件
正常解析
漏洞修复
将AddHandler application/x-httpd-php.php的配置文件删除。
目录遍历
漏洞介绍及成因
由于配置错误导致的目录遍历
漏洞复现
漏洞修复
修改apache配置文件httpd.conf
找到Options+Indexes+FollowSymLinks+ExecCGI修改成Options-Indexes+FollowSymLinks+ExecCGI并保存;。