中间件包括:
Apache Tomcat
php-fpm
redis
resin
weblogic
jboss
jenkins
zabbix
mongodb
等等。
一、Apache Tomcat
Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。Apache和Tomcat都可以作为独立的web服务器来运行,但是Apache不能解释java程序。Apache Tomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置,Apache,nginx,tomcat并称为网页服务三剑客,可见其应用度之广泛。
1.Apache Tomcat常见漏洞
/manager/html 管理弱口令
常见弱口令:admin-admin tomcat-tomcat等等
2.漏洞利用(在我自己虚拟机上搭建的)
搭建环境:
下载jdk rpm包 yum install rpm包 在/etc/profile文件最后追加入如下内容: export JAVA_HOME=/usr/java/jdk1.8.0_91/ export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/binjava -version 查看版本,看是否安装成功 下载 tomcat core zip包 cd /opt wget http://apache.fayea.com/tomcat/tomcat-8/v8.5.4/bin/apache-tomcat-8.5.4.tar.gz tar -zxvf apache-tomcat-8.5.4.tar.gz cd apache-tomcat-8.5.4 cd bin chmod +x *.sh ./startup.sh 启动tomcat 配置manager(配置之后才会存在弱口令漏洞,配置成功之后要重启tomcat才能生效) 在#conf/Catalina/localhost/manager.xml下添加如下: <Context privileged="true" antiResourceLocking="false" docBase="${catalina.home}/webapps/manager"> <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" /> </Context> 在#conf/tomcat-users.xml下追加如下: <role rolename="manager-gui"/> <user username="tomcat" password="tomcat" roles="manager-gui"/>
按上面的配置成功之后,启动tomcat,访问。访问成功之后,进入manager/html 会有一个http认证,是可以爆破的。
进入这个manager/html之后,会有一个上传文件的地方。规定只能上传war格式的,这时需要找一个jsp木马获取webshell,压缩成war格式的,上传。
上传成功之后,在目录这里能看到。
然后我们再去访问这个源文件(压缩之前的那个文件名)。
ok已经访问成功,这时就进入到网站管理界面,在这里可以管理网站,执行命令等等操作。
二、php-fpm
1.PHP-FPM是一个PHPFastCGI管理器,是只用于PHP的。
2.常见漏洞:利用fcgi_exp(工具)对php-fpm进行远程利用
3.漏洞利用(在我自己虚拟机上测试)
前提条件:9000端口对外开放,允许所有人连接的情况下存在远程代码执行漏洞。还有就是知道某一个php文件的绝对路径(可以访问网页时让它报错显示出绝对路径)。
利用环境:nginx+php-fpm
搭建好之后,配置php-fpm,修改以下两项:
vim /etc/php-fpm.d/www.conf
listen = 0.0.0.0:9000 (修改)
; listen.allowed_clients = 127.0.0.1 (前面添加注释 分号)
然后在命令行下运行fcgi_exp工具,会给出使用例子:
根据例子,可以看出可以执行任意代码:
查看/etc/passwd的内容
下面这个是把读出来的index.php文件的内容追加到桌面上的2.html文件里,然后就可以在本地打开了。
三、redis