美文网首页
Tomcat的8009端口与ajp13协议的利用

Tomcat的8009端口与ajp13协议的利用

作者: a7f994ad004f | 来源:发表于2018-11-06 22:04 被阅读119次

前言

前段时间学习渗透测试的时候,扫描到一台开放8009端口ajp13的协议。对这个协议了解不多,搜索一番资料后,感觉可以利用下,遂写下记录,以加深自己印象。

PORT     STATE    SERVICE            VERSION
8009/tcp open     ajp13              Apache Jserv (Protocol v1.3)
|_ajp-methods: Failed to get a valid response for the OPTION request

关于ajp13协议

WEB服务器通过TCP连接和SERVLET容器连接。为了减少进程生成socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束之前不会在分配。换句话说,在连接上,请求不是多元的。这个是连接两端的编码变得容易,虽然这导致在一时刻会有很多连接。【摘自百度百科】

环境搭建

0x01
安装WATMServer,成功后访问localhost,看到如下界面:

1.png

0x02
配置conf/httpd.conf文件,文件在apache安装目录中。
1.取消以下文件的注释,让apahce在启动时自动加载相关代理功能模块。

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

2.在实践中发现还需要开下以下两个模块,否则apache无法正常启动。

LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so

3.在文件最下面加入以下代码。注:记得更改正确的目标IP地址

ProxyRequests Off     
<proxy balancer://cluster>     
        BalancerMember ajp://目标IP地址:8009 loadfactor=1 route=jvm1   
        BalancerMember ajp://目标IP地址:8009 loadfactor=1 route=jvm2   
</proxy>

0x03
配置conf/extra/httpd-vhosts.conf文件。
1.注释掉自带的如下代码。

# <VirtualHost *:80>
#     DocumentRoot "..\web\ROOT"
#     <Directory />
#         AllowOverride none
#         Require all granted
#     </Directory>

#     ServerAdmin jspgen@163.com
#     ServerName localhost
#     ServerAlias 127.0.0.1
#     #ServerAlias www.jspgen.com www.jspgen.net
#     #Alias /root/ "..\web\ROOT\"
    
#     ErrorLog "logs/root-error.log"
#     CustomLog "logs/root-access.log" common
    
#     JkMount /* tomcat
#     JkUnmount /*.xml tomcat
#     JkUnmount /*.html tomcat
#     JkUnmount /*.shtml tomcat
#     JkUnmount /statie/* tomcat
#     JkUnmount /upload/* tomcat
# </VirtualHost>

2.在文件最下面加入以下代码。

  <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访问以及返回状态,日志名可以自己取,笔者取为lbtest。

连接测试

重新启动apache服务,刷新localhost页面。如果配置正常,则可以看到如下界面。


2.png

点击Manager App,这里需要认证才能正常访问,试了下弱口令都失败了,如果成功的话,应该是可以上传war获得webshell了。


3.png

以上为记录。
参考链接:https://www.bugbank.cn/q/article/586f5032bdc8201263d1c312.html
感谢前辈们留下的学习资料!~

相关文章

网友评论

      本文标题:Tomcat的8009端口与ajp13协议的利用

      本文链接:https://www.haomeiwen.com/subject/bdjpxqtx.html