代码编织梦想

这题说实话有好多新知识,关于JAVA的之前确实了解不够多,这里是考察web.xml泄露的

进入页面是这个样子

多收集一点信息,把F12按开刷新,看看请求头还有一些其他信息,看看源码,这一关请求头什么的没有什么信息,但是源码里有一个后缀docx的超链接,进去看看(其实就是下面那个help的超链接是同一个)

 点开超链接后的页面

同样不要放过任何一个页面,每个页面的页面源代码还有一些可以收集的信息都看看,不要嫌弃浪费时间, 虽然这关这些操作确实是浪费时间,但是有的ctf题目就是把一些重要信息藏在某一个页面源代码,而且是页面越多的情况,往往越容易被忽略

回到正题,很容易发现有一个help.docx的可疑目标,毫无疑问,下意识直接访问看看能不能得到一些代码,于是等访问完毕便得到回显是

肯定没有这么简单嘛,毕竟题目是easy java,肯定和java有关系滴,于是这里就需要引入一个知识,关于web.xml文件泄露的

WEB-INF/web.xml泄露

 具体原因就是往往一个网站会使用许多的服务器,但是如果出现了对静态资源的目录或文件的映射配置不当的时候,就会导致web.xml等文件能够被读取

那么怎么利用呢?

首先我们已经知道了文件名是help.docx读取文件就是前面配上/WEB-INF构成WEB-INF/web.xml的形式

传入url试一下

 

没有什么信息,那就再尝试一下POST传参(我使用的是burp抓包修改) 

改完POST传参后发现下载了一个文件

 

 打开看看咯

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <welcome-file-list>
        <welcome-file>Index</welcome-file>
    </welcome-file-list>

    <servlet>
        <servlet-name>IndexController</servlet-name>
        <servlet-class>com.wm.ctf.IndexController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>IndexController</servlet-name>
        <url-pattern>/Index</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>LoginController</servlet-name>
        <servlet-class>com.wm.ctf.LoginController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginController</servlet-name>
        <url-pattern>/Login</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>DownloadController</servlet-name>
        <servlet-class>com.wm.ctf.DownloadController</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>DownloadController</servlet-name>
        <url-pattern>/Download</url-pattern>
    </servlet-mapping>

    <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>

</web-app>

 这个就是文件里面的信息,聪明的你一眼就看到了flag

 <servlet-name>FlagController</servlet-name>
 <servlet-class>com.wm.ctf.FlagController</servlet-class>

可以看到这是提醒的信息com.wm.ctf.FlagController这个就是路径,而且在class里面

所以这时候就要用到 /WEB-INF/classes/

 /WEB-INF/classes/:含了站点所有用的 class 文件,
                    包括 servlet class 和非servlet class,
                    他们不能包含在 .jar文件中         

再抓包改一下 

打开之后

 

哇!乱码,一度以为自己错了,看到里面有个信息

ZmxhZ3szMDk4MDNmMC1hYmNiLTRhZmYtODhiMi02Zjc2MjUyODJiZDl9Cg==

看到两个等号90%就是base64编码了,解开看看

成功

---------------------------------------------------翻车分割线---------------------------------------------------------------

做题时,我不知道java这个文件泄露漏洞,于是我就打起了admin登陆的想法,输入admin,burp爆破,直接进去了

账号:admin

密码:admin888

进去后是这样

 我还一度以为在这里,然后help.docx我还以为要在Login目录下完成,卡了老长时间了

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_64201116/article/details/124758487

roarctf2019web题-easy-爱代码爱编程

RoarCTF2019web题-easy_java 作为团队最强的web选手(就我一个),这次的比赛也没时间打,把简单的题放一下,前面要说下,做web宁可把题目想简单,也不要想复杂,因为现在的web题出题人越来越厉害(gou

[roarctf 2019]easy calc-爱代码爱编程

1.知识点 1.1PHP的字符串解析特性 这是别人对PHP字符串解析漏洞的理解, 我们知道PHP将查询字符串(在URL或正文中)转换为内部$_GET或的关联数组$_POST。例如:/?foo=bar变成Array([fo

BUUCTF WEB [RoarCTF 2019]Easy Calc-爱代码爱编程

BUUCTF WEB [RoarCTF 2019]Easy Calc 打开网页是一个计算的!!随便输入可以计算,然后就没啥了,右键源代码: 存在waf,,还有个新的页面!进行访问,看到源代码: <?php error_reporting(0); if(!isset($_GET['num'])){ show_source(__FILE

[RoarCTF 2019]Easy Java-爱代码爱编程

WEB-INF主要通过找到web.xml文件,推断class文件的路径,最后直接class文件,在通过反编译class文件,得到网站源码 首先看到一个页面,点击下help看看啥情况。 发现输出一串 java.io.FileNotFoundException:{help.docx} 可能是报错信息,打开Brup截取请求信息 GET /Dow

re学习笔记(25)BUUCTF-re-[2019红帽杯]easyRE-爱代码爱编程

[2019红帽杯]easyRE新手一枚,如有错误(不足)请指正,谢谢!! 题目链接:BUUCTF-re-[2019红帽杯]childRE 题目下载:点击下载 IDA64位载入,shift+F12查看字符串,然后双击过去 "x"键交叉引用,切换到关键代码 F5反汇编显示 截取的部分代码 int i; // [rsp+Ch] [rbp-114h]

BUUCTF [RoarCTF 2019] Easy Calc-爱代码爱编程

BUUCTF [RoarCTF 2019] Easy Calc 启动靶机,打开页面: 一个简单的计算器页面,查看网页源码: 提示设置了WAF以确保安全,尝试访问calc.php: 得到了WAF源码,分析代码: 需要传入变量num的值设置了一系列黑名单的值如果传入的变量num中有黑名单包括的符号,将终止程序否则将输出num的内容根据PHP的解析

BUUCTF--Web--[SUCTF 2019]EasySQL-爱代码爱编程

猜测后端执行SQL语句 输入1,有回显输入2,有回显,输入非零数字都有回显,输入字母无回显 输入1’,没回显,应该存在sql注入,猜测可能关闭了错误回显,报错注入可能行不通了用order去试探有多少个字段,返回的都是Nonono,可能order by 参数被过滤了,联合查询就行不通了排除了报错注入和联合查询注入,试下盲注,布尔盲注 1 and len

BUUCTF_RoarCTF2019_EasyJava-爱代码爱编程

BUUCTF_RoarCTF2019_EasyJava 进去之后是一个登陆框,试一下admin和admin888进去了,但是没有任何信息,只是说flag is not here 点击help的页面出现异常,这里发送的是GET请求,想到servlet里面有doGet和doPost两个方法,于是改成POST请求再发一次 下载到了help.docx,但是没有

[RoarCTF 2019]Easy Calc 1-爱代码爱编程

查看源码 于是访问calc.php试试 给num参数传字母不行 WAF的问题:WAF不允许num传入字母,那我们可以在num前加个空格来绕过WAF 这里利用PHP的字符串解析特性来绕过WAF,如 calc.php? num=phpinfo(); 知识点 扫根目录下的所有文件,也就是scandir("/") ? num=print_r(scan

BUUCTF RoarCTF 2019]Easy Calc 1-爱代码爱编程

BUUCTF RoarCTF 2019]Easy Calc 1-刷题个人日记 小白一个,写给自己看。 进去后是这样: 随便输入几个运算,就是一个普通的计算器。尝试sql注入,输入1'和1'#: 好8,计算器怎么会连接数据库呢,想太多了。(不过实战也是能想到的方法都试试) ctrl+u看网页代码,发现了一个网页:calc.php 进去看看:所以之前的网页只

BUUCTF WEB [RoarCTF 2019]Easy Calc1-爱代码爱编程

看源码   有waf   有个calc.php 打开是过滤规则 <?php error_reporting(0); if(!isset($_GET['num'])){ //判断是否为空 show_source(__FILE__); }else{ $str = $_GET['num'];

BUUCTF [RoarCTF 2019]Easy Calc1-爱代码爱编程

一.打开题目后: 二.Ctrl+U查看源代码: 发现存在WAF和一个文件calc.php,这里我们就需要简单的了解下什么是WAF了: WAF的全称是(Web Application Firewall)即Web应用防火墙,简称WAF。 那么WAF能做什么?     WAF可以过滤HTTP/HTTPS协议流量,防护Web攻击。     WA

[BUUCTF][RoarCTF 2019]Easy Java-爱代码爱编程

[RoarCTF 2019]Easy Java 考点 WEB-INF/web.xml泄露 解题 打开是一个登陆界面,根据题目这是一道java题,我们先寻找本页面的信息,除了login之外还有一个help,点击跳转 /Download?filename=help.docx 内容为 java.io.FileNotFoundException:{

buuctf-[RoarCTF 2019]Easy Java-爱代码爱编程

[RoarCTF 2019]Easy Java 考点复现参考 考点 java web开发 复现 点击help发现现在不了,改成post成功 然后下载,WEB-INF/web.xml 得到 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xml

buuctf-[RoarCTF 2019]Easy Java(小宇特详解)-爱代码爱编程

buuctf-[RoarCTF 2019]Easy Java(小宇特详解) 1.先看题目 这里我尝试了万能密码和其他的sql注入的方法发现不行 2.点击一下help 提示:java.io.FileNotFoundException:{help.docx} 这里对WEB-INF进行一个简单的了解。 WEB-INF是java的WEB应用的安

web buuctf [RoarCTF 2019]Easy Java1-爱代码爱编程

考点: java web.xml配置文件漏洞 漏洞:【漏洞公告】Java web.xml 信息泄漏漏洞 - 阿里云安全产品和技术 - 阿里云 漏洞产生原因:通常一些web应用我们会使用多个web服务器搭配使用,解决其中的一个web服务器的性能缺陷以及做均衡负载的优点和完成一些分层结构的安全策略等。在使用这种架构的时候,由于对静态资源的目录或文件的映

Java使用jsoup爬取网页数据-爱代码爱编程

前置说明 虽然可以爬取数据,但是不能获取网页的视频(tika包可以)、音乐、Ajax数据,只能获取页面渲染出的元素和数据。必须联网。 1、引入maven包 <dependency> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifa