AJP13漏洞利用

前言

平时学习过程中使用nmap扫描目标服务器或者C段的时候经常会发现8009端口的AJP13服务,一直没有很在意这个服务是干嘛的。直到遇见一个服务器没有开放其他多余的端口情况下迫不得已要弄清楚,开放的这个服务是干什么的,MSF下的脚本又使用不方便功能单一,所以就有了这个文章。


AJP13服务简介

AJP13是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。AJP协议:WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束之前不会在分配。换句话说,在连接上,请求不是多元的。这个是连接两端的编码变得容易,虽然这导致在一时刻会有很多连接。(来自百度百科)


本地环境搭建

首先我们要在本地搭建一个tomcatApache的一个环境来运行mod_jk插件,这里我选择的是WATMServer当然大家在做实验的时候也可以选择自己顺手的环境,下面我们就开始演示环境的配置和连接一个AJP13服务端口。


首先,在Apache安装目录下找到conf/httpd.conf文件,以文本编辑器打开。去掉以下文本前的注释符(#)以便让Apache在启动时自动加载代理(proxy)模块。


LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

LoadModule proxy_connect_module modules/mod_proxy_connect.so    

LoadModule proxy_ftp_module modules/mod_proxy_ftp.so    

LoadModule proxy_http_module modules/mod_proxy_http.so   


向下拉动文档找到节点,在DirectoryIndex index.html后加上index.jsp,这一步只是为了待会配置完tomcat后能看到小猫首页,可以不做。


继续下拉文档找到Include conf/extra/httpd-vhosts.conf,去掉前面的注释符。

用文本编辑器打开conf/extra/httpd-vhosts.conf,配置虚拟站点,在最下面加上


<VirtualHost *:80>    

     ServerAdmin 2324@qq.com   

      ServerName 127.0.0.1   

      ServerAlias localhost    

     ProxyPass / balancer://cluster/ stickysession=jsessionid nofailover=On    

     ProxyPassReverse /balancer://cluster/    

     ErrorLog "logs/lbtest-error.log"   

    CustomLog "logs/lbtest-access.log" common   

  </VirtualHost>


这里balancer://是告诉Apache需要进行负载均衡的代理,后面的cluster是集群名,可以随意取,两个日志引擎 ErrorLog负责记录错误,CustomLog负责记录所有的http访问以及返回状态,日志名可以自己取,笔者取为lbtesthttpd- vhosts.conf配置完毕,回到httpd.conf,在文档最下面加上

 

 ProxyRequests Off     

<proxy balancer://cluster>     

        BalancerMember ajp://【目标IP地址】:8009 loadfactor=1 route=jvm1   

        BalancerMember ajp://【目标IP地址】:9009 loadfactor=1 route=jvm2   

</proxy>


一番设置会后,重启Apachetomcat服务后链接本地成功的截图如下,根据不同的服务器配置不一样,开放的WEB服务可能也不一样,所以在常见WEB服务都关闭的情况下,还是值得花时间尝试连接ajp一下的。




利用实例

首先我们使用NMAP找到了一台开放了ajp13服务的一台服务器:





我们在本地环境里面配置好配置文件进行连接:



然后我们顺利的通过本地jk协议转换插件连接上了远程的ajp13服务:




我们通过弱口令登录了后台并且通过部署war包获得了一个webshell(别问我怎么知道账号密码的):





看一下本地和远程的IP端口链接:




最后大家看明白了没有呢?喜欢安全的朋友或没有看明白的可以留言哦。







  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值