首页 > 代码库 > 15_安全配置与中间件漏洞

15_安全配置与中间件漏洞

中间件包括:

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.jarexport  PATH=$PATH:$JAVA_HOME/bin
java -version 查看版本,看是否安装成功下载 tomcat core zip包cd /optwget http://apache.fayea.com/tomcat/tomcat-8/v8.5.4/bin/apache-tomcat-8.5.4.tar.gztar -zxvf apache-tomcat-8.5.4.tar.gzcd apache-tomcat-8.5.4cd binchmod +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

15_安全配置与中间件漏洞