解题
一看是一个登录界面,尝试弱口令。密码直接爆出来了,但是FLAG不在这(这是大佬说的,我跑了半天,不知道弱密码是什么)
![图片[1]-[RoarCTF 2019]Easy Java – buu刷题笔记-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/05/d2b5ca33bd97-84.png)
试了试,sql注入,半天感觉好像也不行,点一下help看看
是很熟悉的东西,抓一个包看看。
问题是GET怎么整都不行,试了一下POST,下载了一个help.docx 文件
打开
![图片[2]-[RoarCTF 2019]Easy Java – buu刷题笔记-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/05/d2b5ca33bd97-85.png)
。。。
于是我们再转变思路,因为不熟悉JAVA的开发,还是偷看了大佬的解题思路。这里我们需要利用web-inf这个目录
关于web-inf
WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问
**WEB-INF 目录的作用**
/WEB-INF/web.xml
Web应用程序配置文件,描述了 servlet 和其他的应用组件配置及命名规则。
/WEB-INF/classes/
包含了站点所有用的 class 文件,包括 servlet class 和非servlet class,
他们不能包含在 .jar文件中(是该目录不能包含在.jar文件中)。
/WEB-INF/lib/
存放web应用需要的各种JAR文件,放置仅在这个应用中要求使用的jar文件,如数据库驱动jar文件。
/WEB-INF/src/
源码目录,按照包名结构放置各个java文件。
/WEB-INF/database.properties
数据库配置文件
/WEB-INF/tags/
存放了自定义标签文件,该目录并不一定为 tags,可以根据自己的喜好和习惯为自己的标签文件库命名,
当使用自定义的标签文件库名称时,在使用标签文件时就必须声明正确的标签文件库路径。例如:当自定
义标签文件库名称为 simpleTags 时,在使用 simpleTags 目录下的标签文件时,就必须在 jsp 文件头声明
为:<%@ taglibprefix="tags" tagdir="/WEB-INF /simpleTags" % >。
/WEB-INF/jsp/
jsp 1.2 以下版本的文件存放位置。改目录没有特定的声明,同样,可以根据自己的喜好与习惯来命名。
此目录主要存放的是 jsp 1.2 以下版本的文件,为区分 jsp 2.0 文件,通常使用 jsp 命名,当然你也可以命名为 jspOldEdition 。
/WEB-INF/jsp2/
与 jsp 文件目录相比,该目录下主要存放 Jsp 2.0 以下版本的文件,当然,它也是可以任意命名的,
同样为区别 Jsp 1.2以下版本的文件目录,通常才命名为 jsp2。
META-INF
相当于一个信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序、扩展程序
、类加载器和服务
manifest.mf文件,在用jar打包时自动生成.
总的来说就是我们要访问目录需要查看WEB-INF里的web.xml文件
利用burp查询/WEB-INF/web.xml
//添加post
filename=WEB-INF/web.xml
打开下载的文件
<servlet>
<servlet-name>FlagController</servlet-name>
<servlet-class>com.wm.ctf.FlagController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FlagController</servlet-name>
<url-pattern>/Flag</url-pattern>
</servlet-mapping>
查到一个可能有FLAG的地方,再用burp试试
构建payload,这里把.改成/,应该是java的路径的意思吧,我也不懂
filename=WEB-INF/classes/com/wm/ctf/FlagController.class
![图片[3]-[RoarCTF 2019]Easy Java – buu刷题笔记-渗透云记 - 专注于网络安全与技术分享](https://b.encenc.com/wp-content/uploads/2022/05/d2b5ca33bd97-86-1024x562.png)
解密这串base64加密的文件,就可以得到flag了
ZmxhZ3thOGNiYTc1NC0yNmI0LTQ4ZDMtOWJiYS1jOTIxYzlkODA2MDl9Cg==
最终flag为flag{a8cba754-26b4-48d3-9bba-c921c9d80609}
© 版权声明
渗透云记的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
渗透云记拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。详情见本站的“免责声明”如果有侵权之处请第一时间联系我们删除。敬请谅解!E-mail:admin@encenc.com
THE END














请登录后查看评论内容