ctfshow摆烂杯wp

本篇wp是参考官方wp进行的复现(因为自己做不出来&&我就是个大菜鸡&&大佬们tql%%%)

主要是对官方wp做一些自己的补充,官方wp写的很详细了,这篇wp就相对简略一些

T1.一行代码

eregi函数匹配时不区分大小写,可以用这个特性绕过过滤,参数content传值是ctfshoW

get_file_contents函数可以用php伪协议(给忘了...)

T2.web签到

这道题直接做显然离谱,求a^3+b^3+c^3=114的解肯定求不出来()

正确方法是闭合括号拼接,这种方法在SQL注入里面非常常用,一个迁移~

T3.黑客网站

一个页面,上面很多字母,全部复制下来发现是循环,把循环的内容拿出来看,发现结尾xxion...

特征很明显,删掉前面的空格,后面的xxion当后缀,用某葱浏览器访问就可以了

T4.登录不了

参考:[RoarCTF 2019]Easy Java Java和tomcat文件存放读取 - 零零小菜鸡 - 博客园 (cnblogs.com)

这道题是一个java框架,网上搜到了思路类似的Easy java[RoarCTF 2019],这种java框架关键路径是WEB-INF目录

WEB-INF主要包含一下文件或目录:
/WEB-INF/web.xml:Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
/WEB-INF/classes/:含了站点所有用的 class 文件,包括 servlet class 和非servlet class,他们不能包含在 .jar文件中
/WEB-INF/lib/:存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件
/WEB-INF/src/:源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties:数据库配置文件
漏洞检测以及利用方法:通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码

验证码界面是一个目录遍历漏洞,任意文件读

(不知道是不是我bp的问题,好像bp上显示乱码,我只能把16进制代码复制到某个文件里再用java decompiler反编译,反编译的时候注意:jar包后面要多复制5个00,class文件开头是CA FE BA BE)

先读web.xml(网站配置文件),pom.xml(java项目信息)

再读源码jar包(是从前面得到的路径),用java decompiler反编译

再读配置文件WEB-INF/config/controller.properties(源码中的config配置文件)

拿到控制器接口,读Index.class和Validate.class,路径是根据包名,从WEB-INF/classes/文件夹开始,每一个包就是一层目录,比如

com.ctfshow.controller.Index接口就是WEB-INF/classes/com/ctfshow/controller/Index.class文件

读出来发现有任意文件写漏洞,登录页面的username是文件名,password是写入内容,写入路径

String.valueOf(this.request.server().path()的值是WEB-INF/classes/文件夹,然后拼接了../,最终写入的文件夹是WEB-INF

利用tomcat加载机制重写web.xml创建新页面接口(官方wp中创建了ctfshow接口,对应访问1.jsp,一般来说WEB-INF中的文件是不允许访问的,但是可以通过在web.xml中创建接口来访问)

写入1.jsp,找到绝对路径,为后面执行反弹shell脚本找参数

写入1.sh反弹shell脚本,反弹到自己的服务器上

再写1.jsp,执行1.sh反弹shell,拿到root权限,根目录下就有flag

复现完成()

我的博客:https://yinkstudio.xyz,欢迎关注~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值