某网杯
- 事件回顾
- 赛题
- 环境
- 坑
- 木马
- 访问JSP显示空白
- Ubuntu与Mysql问题
- 框架选择
- idea
事件回顾
虽然没有参与本次AWD,但是看到另外一只队伍down下来的文件,我还是忍不住心动了,于是决定复现一番,因为某些原因,详细的wp和复现的环境就不公开了。这篇文章主要介绍一下本次比赛和个人复现中所踩的坑。
赛题
本次线下AWD共5道题,3道web(easyCMS、authSite、bookshop),2道pwn(不记得了)
web全是java的题目,虽然存在简单的漏洞,但是全出java赛题在AWD赛的历史上还是独树一帜的(可能我的见识比较狭隘)。
题目 | 题设漏洞 |
---|---|
easyCMS | 4个 |
authSite | 3个 |
bookshop | 5个 |
总体而言,authSite的难度是最高的,它的3个预设漏洞都是需要靠代码审计和丰富的CTF经验才能发现的。对于这场比赛的结果,我的评价是:“WC,全是高手,他们的技术能力一定很强”。
环境
经过了一番学习(半个月),我复现了以上全部漏洞。这次复现让我对tomcat+java+mysql+ubuntu的结构有了进一步的认识。下面就简单谈一下tomcat建站中所遇到的坑,以供大家参考学习。
坑
木马
Javaweb三大组件是:Servlet,Filter,Listener。在这三类组件中都有可能存在木马,使用审计工具或jsp脚本(例:VCG、memshell scanner)可以发现一部分,但是如果隐藏起来了,那就不好说了,比如说下面这个马:
bookshop中出现了一个网上公开的混淆马JSPHorse(github),其加密方式较为复杂,大家自行参考这篇文章学习吧:浅谈JSP Webshell进阶免杀
为了寻找该马的利用参数,我制作了一个python脚本对凯撒进行爆破,爆破结果略有瑕疵,不过勉强算是可以猜测利用了。
队友down下来了的cart_end.jsp就是该混淆马。pwd是明文,利用方式如下:cart_end.jsp?pwd=7ef14f12&C0nCmd=cat%20/flag
访问JSP显示空白
easycms是OFCMSv1.1.3的框架,但是其中有个jfinal过滤设置对于我这种java开发小白来说还是比较为难的,不过也算解决了——在web.xml属性设置为 " /* ",那么就会导致你的JSP页面无法被访问,只会显示一片空白。
修改为下图就可以了,当然,这种方式较为暴力,会导致网站其他目录无法访问,想要深究其因的小伙伴可以自行学习jfinal,我这里就点到为止了。
Ubuntu与Mysql问题
ubuntu20版本不支持mysql5,这会导致easycms中的OFCMS在Install界面报大整数不支持的错误,所以可以将ubuntu更换为18版本,该版本支持mysql5.7。
框架选择
推荐:
idea任意版本
apache-tomcat-8.5.93
mysql5.7
ubuntu18
java1.8
用idea启网站,然后关掉idea,直接操作tomcat的webapps目录——可以节省idea刷新网站总是要重新部署的时间。
idea
这个问题主要集中在org.apache…的依赖不存在上,其实是idea的使用习惯问题,如下图,选择java,然后从/usr/local/“tomcat目录”/lib导入就行,初学的小伙伴搜索“IDEA导入tomcat的jar包”就能解决。