在漏洞复现的时候做了一道war后门文件部署的,然后我们就要去了解什么是war包,然后这个漏洞实现要有什么情况??为什么要进行部署??
war包在哪些地方可以实现???
war是一种java web应用程序打包格式,是把java web应用的相关文件打包成一个单独的文件,war包含了web应用程序的静态资源文件(html,css,js)和服务器java类文件(jsp,servlet),配置文件以及其他必要的文件。war是为了方便开发人员轻松把应用程序部署到服务器上,不用手动复制和配置每一个文件。
war包应用于servlet规范的java服务器上,比较常见的是tomacat,然后jboss以及jetty这些
像其他的我们熟悉的nginx,apache,都不能直接支持war包的部署,你想用的话,就要与java应用服务器结合使用。间接的实现war包的部署和运行。
什么是war包?
简单点来说这个就是你可以理解为是一个压缩包,可以快速搭建起web应用程序,war文件代表一个web应用程序。
我们上传服务器过后,比如说是tomcat的然后在进行解压自动部署为web应用。
我们来看看漏洞复现是操作:
我们先使用弱口令登录到对方服务器的后台然后在进行操作
下面的这点是要进行操作的:我们要知道对方的账号和密码,
才可以知道进行getwhell(这点要登录才可以)重点重点重点 后面在对这点进行说明
然后我们用bp进行简单的爆破,看他的账号和密码是多少
然后这点就不演示了,账号是tomcat密码也是tomcat
然后我们在进行上传文件也就是我们的war文件
我们先用哥斯拉进行生成jap代码,然后进行压缩成war包的操作
生成为zz.jsp代码文件,然后在进行压缩成war代码,我们先来到当前的目录
使用下面的命令进行操作 jar cvf 名字 名字 这样来进行压缩文件
c是创建档案 v是在标准输出中生成详细输出 f为档案名 这个就是cvf参数操作
生成成功我们在进行上传,后面在进行连接就成功了,tomacat会自己解压然后进行部署的
那路径你怎么知道,有人就会问了,如果没有进行更改的话默认是在相同文件名的目录下的文件夹下面,那我们来进行访问看看是不是可以访问成功???
访问到了我们在用哥斯拉来进行连接操作,看看是不是可以真的访问到???
进入过后在目录下面找到flag或者基础信息中看见flag。
这点就差不多这个漏洞就复现完整了。
为什么不能在前端的的时候上传war包呢??
我们来说说为什么要登录过后才可以上传war,为什么要登录,以及我先开始有一个疑问为什么不能在前端的的时候上传war包呢??我下面就来仔细的说说
进行前端上传的时候,服务器是不会自动的对这个war包进行部署的,服务器是不会主动监视前端上传的文件,把他部署为应用。服务器会等到系统管理员的同意或者管理员手动进行部署。
这点也就是说明了我们前面为什么必须要进行登录才可以上传这个war文件了。
总结一下那个漏洞的重点:我们要知道的地方
- war包是什么?
- 上传过后路径大概是什么?
- 为什么要上传jsp马,php不行吗
- 前端可以进行上传war包吗,为什么要登录到后台才上传war包