Tomcat在安装的时候会有下面的界面,我们通常部署war,用的最多的是默认的8080端口。

可是当8080端口被防火墙封闭的时候,是否还有办法利用呢?

答案是可以的,可以通过AJP的8009端口,下面是step by step。

AJP的8009端口

下面是实验环境:

192.168.0.102   装有Tomcat 7的虚拟主机,防火墙封闭8080端口
192.168.0.103   装有BT5系统的渗透主机

首先nmap扫描,发现8009端口开放

nmap扫描,发现8009端口开放

BT5默认apache2是安装的,我们仅需要安装mod-jk

root@mickey:~# apt-get install libapache2-mod-jk

jk.conf的配置文件如下:

root@mickey:/etc/apache2/mods-available# cat jk.conf 

# Update this path to match your conf directory location

JkWorkersFile /etc/apache2/jk_workers.properties

# Where to put jk logs

# Update this path to match your logs directory location

JkLogFile /var/log/apache2/mod_jk.log

# Set the jk log level [debug/error/info]

JkLogLevel info

# Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

# JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

# JkRequestLogFormat set the request format

JkRequestLogFormat "%w %V %T"

# Shm log file

JkShmFile /var/log/apache2/jk-runtime-status

jk.conf软连接到/etc/apache2/mods-enabled/目录

ln -s /etc/apache2/mods-available/jk.conf /etc/apache2/mods-enabled/jk.conf

配置 jk_workers.properties

root@mickey:/etc/apache2# cat jk_workers.properties 

worker.list=ajp13

# Set properties for worker named ajp13 to use ajp13 protocol,

# and run on port 8009

worker.ajp13.type=ajp13

worker.ajp13.host=192.168.0.102       <\---|这里是要目标主机的IP地址

worker.ajp13.port=8009

worker.ajp13.lbfactor=50

worker.ajp13.cachesize=10

worker.ajp13.cache_timeout=600

worker.ajp13.socket_keepalive=1

worker.ajp13.socket_timeout=300

默认站点的配置

默认站点的配置

重启apache

sudo a2enmod proxy_ajp

sudo a2enmod proxy_http

sudo /etc/init.d/apache2 restart

现在apache的mod_jk模块就配置好了,访问192.168.0.103的80端口,就被重定向到192.168.0.102的8009端口了,然后就可以部署war了。

apache的mod_jk模块配置好了

对渗透有兴趣的朋友,加我多交流 :)

[原文地址]

各种讨论:

带馅儿馒头 | 2013/11/15 13:23

消灭零回复,楼主淫荡~

小忆 | 2013/11/15 14:21

这招用的……

Pentest.mobi | 2013/11/15 14:50

强大

wuxianjun | 2013/11/16 10:37

思想比较淫荡.看了这个协议:AJP协议 ,不知道可否直接发数据包过去?

c2y2 | 2013/11/16 11:18

8009链接上就可以发送数据么?这也太淫荡了

c2y2 | 2013/11/16 13:06

貌似还跟那边tomcat本地设置有关系,如果那边直接把host-manager 或者默认管理目录删除了,或者那边配置了tomcat管理密码,或者server.xml配置了 8009端口本地回环,这个方法也就,失效了...

园长 | 2013/11/17 16:43

可是当8080端口被防火墙封闭的时候

这个条件就已经非常艰难了,如果8080作为应用端口一般是不可能没事就干掉的。端口被未打开或干掉的情况可能也会是因为根本就没有启动tom猫。tom猫默认是没有配置管理的账户的,所以穿越了也没法登录后台。但是虽然这种情况只在极少数,楼主的思路也是极好。

瘦蛟舞 | 2013/11/19 17:57

99%是封8009开8080,思路赞一下。

se55i0n | 2013/11/20 17:54

在内网就能逆天~

兜兜 | 2013/11/21 14:13

如果是tomcat-user里面用户名密码设置 或者都是注释的 可以用吗

无敌L.t.H | 2013/11/22 22:30

ajp开放的比较少吧,机会不多,但也能做一种思路。

wefgod | 2013/11/23 16:58

单纯是来看设置了密码会如何的,看来有密码也不行啊

Xeyes | 2013/11/24 10:47

屌炸天.

核攻击 | 2013/11/24 14:36

这思路想必定是极好的!

留言评论(旧系统):

flowind @ 2013-11-25 17:02:58

tomcat的服务器,外网能连接的上才见鬼了.. 但是了,旁站到内网,需要这太web server的权限,从而得到数据库位置,帐号密码.等等.. 这个方法就比较不错...

本站回复:

+10086

shack2 @ 2013-12-03 17:05:57

思想很猥琐,tomcat管理开了,还要知道账号密码啊

本站回复:

╮(╯_╰)╭

aaa @ 2014-06-04 17:10:36

无此文件 jk.conf

本站回复:

mod_jk.conf?