| 一、IIS1.iis6.0解析漏洞该版本默认将*.asp;.jpg此类格式的文件名,当成asp解析,服务器默认;后面的内容不解析,相当于截断,例如上传asp木马,就可以用xx.asp;.jpg来绕过;iis除了会将asp解析成脚本执行文件之外,还会将 cer cdx asa扩展名解析成asp防御方法:
 1.禁止上传和创建此类畸形文件
 2.图片存放目录设置为禁止脚本执行
 2.iis6 PUT漏洞IIS Server在web中开启了webDAV 配置了可以写入的权限,造成了任意文件上传。防御方法:
 1.关闭webDAV
 2.关闭写入权限
 3.iis7.x解析漏洞iis7.x版本在Fast-CGI运行模式下,在任意文件,例如:a.jpg/png后面加上/.php,会将.jpg/png解析为php文件。  
 CGI:外部应用程序与WEB服务器之间的接口标准FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化
 。防御方法:
 配置 cgi fix_pathinfo(php inil中)为0并重启php-cgi程序
 4.iis短文件漏洞IIS的短文件名机制,可以暴力破解文件名。访问构造某个存在的短文件,会返回404,访问构造某个不存在的短文件,会返回400。使用payload验证目标是否存在短文件漏洞,显示404时,说明存在短文件。  
 http://upload.moonteam.com/~1/a.aspx 注:* 可以匹配n个字符, n可以为0防御方法:
 1、升级.net framework
 2、修改注册表键值:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem修改NtfsDisable8dot3NameCreation为1。修改完成后,需要重启系统生效。
 命令行关闭 fsutil behavior set disable8dot3
 二、Apache1.未知拓展名解析漏洞apache默认一个文件可以有多个以点切割的后缀,当最右的后缀无法识别时,就继续向左识别,直到识别到合法后缀才开始解析,如xxx.php.qqq,qqq无法识别,就继续解析,到php时能够识别,就解析为php文件, 2.换行解析漏洞apache换行解析漏洞(CVE-2017-15715) 其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。防御方法:
 将上传的文件重命名为为时间戳+随机数+.jpg的格式并禁用上传文件目录执行
 3.apache ssi 远程命令执行漏洞当目标服务器开启了SSI与CGI支持,我们就可以上传shtml,利用
 语法执行命令。 使用SSI(Server Side Include)的html文件扩展名,SSI(Server Side Include),通常称为"服务器端嵌入"或者叫"服务器端包含",是一种类似于ASP的基于服务器的网页制作技术。默认扩展名是 .stm、.shtm 和 .shtml。 上传一个shell.shtml 内容 
  上传成功 然后去访问就可以得到结果了 三、Tomcat中间件1.Tomcat弱口令&war远程部署Tomcat存在后台管理,账号密码设置在conf/tomcat-users.xml 可能存在的安全问题:弱口令或爆破(爆破采用数据包base64传递认证)这里先把我们的shell.jsp在本地打包成zip,然后重命名为war,之后上传war,它会自动解压,从而getshell
 四、nginx中间件IS 7.0/IIS 7.5/ Nginx <8.03畸形解析漏洞 在默认Fast-CGI开启状况下,黑阔上传一个名字为wooyun.jpg,内容为<?PHP fputs(fopen('shell.php','w'),'<?php eval($_POST[cmd])?>');?> 的文件,然后访问wooyun.jpg/.php,在这个目录下就会生成一句话木马 shell.php 或者直接访问wooyun.jpg/.php,就会被以PHP方式解析原理:
 nginx默认是以CGI的方式支持PHP解析的,普遍的做法是在 Nginx配置文件中
 通过正则匹配设置 SCRIPT_FILENAME。 当访可http://192.1681.103/ phpinfo. jpg/1.php这个URL时 $fastcgi_script_name会被设置为 “phpinfo.jpg/1.php”,然后构造成 SCRIPT_FILENAME传递给 PHP CGI,如果PHP中开启了 fix_pathing这个选项 PHP会认为 SCRIPT_FILENAME是 phpinfo.jpg,而1.php是 PATH_INFO,所以就 会将 phpinfo.jpg作为PHP文件来解析了。防御方法:
 方案一:修改php.ini,设置cgi.fix_pathinfo = 0;然后重启php-cgi。此修改会影响到使用PATH_INFO伪静态的应用,
 方案二:在nginx的配置文件添加如下内容后重启:1992。     该匹配会影响类似http://www.domain.com/software/5.0/test.php(5.0为目录),http://www.domain.com/goto.php/phpwind 的URL访问。
 方案三:对于存储图片的location{…},或虚拟主机server{…},只允许纯静态访问,不配置PHP访问。 五、JBoss中间件1.JMX Console未授权访问Getshell此漏洞主要是由于JBoss中/jmx-console/HtmlAdaptor路径对外开放,并且没有任何身份验证机制,导致攻击者可以进?到jmx控制台,并在其中执?任何功能防御方法:
 1.升级jboss
 2.关闭jmx-console和web-console,提高安全性
 2.JBoss 5.x/6.x 反序列化命令执行漏洞(CVE-2017-12149)该漏洞出现在/invoker/readonly中 ,服务器将用户post请求内容进行反序列化用工具来验证,在验证之前我们可以访问路径进行初步判断url://invoker/readonly,看服务器返回情况如下则说明漏洞存在修复:升级新版本,删除 http-invoker.sar 组件。
 六、weblogic中间件1.弱口令原理:在weblogic搭建好之后没有修改进入后台的密码导致弱口令登录获得webshell访问http://192.168.1.10:7001/console
 这里注意一下不能使用bp抓包去爆破,错误密码5次之后就会自动锁定,这里使用weblogic/Oracle@123登陆后台
 2.WebLogic 未授权访问漏洞(CVE-2018-2894)在ws-testpage-impl.jar/com.oracle.webservices.testclient.ws.res.WebserviceResource 类中存在importWsTestConfig方法跟进 RSdataHelper的convertFormDataMultiPart方法,接下来调用convertFormDataMultiPart方法,文件直接由字段 文件名拼接而成,没有任何限制。
 ws-testpage-impl.jar!/com/oracle/webservices/testclient/ws/util/RSDataHelper.class:164 |