• 攻防世界WEB高手进阶之Zhuanxv


    1.一开始就是一个时钟界面

    2.扫描目录发现/list 目录

    打开是后台登陆,看了一下源码,也没发现什么,焦灼。。。

     3.百度上搜了一波wp,发现原来在css里面藏了东西

    后台的背景图片居然是这样读取的,估计可能有文件读取漏洞,

     另外,抓包发现页面是jsp写的

     尝试读取配置文件web.xml

    Payload:

    http://111.198.29.45:32744/loadimage?fileName=../../WEB-INF/web.xml

     本地用notepad++打开

    配置文件里面写的是Struts2,搜了下Struts2目录结构,

    参考链接:

    https://blog.csdn.net/u010004082/article/details/79351459

    https://www.cnblogs.com/pigtail/archive/2013/02/12/2910348.html

    apps-存放了所有Struts2的示例项目

    docs-存放了所有Struts2与XWork的文档

    lib-存放了所有Struts2相关的JAR文件以及Struts2运行时所依赖的JAR文件

    src-存放了所有Struts2的源码,以Maven所指定的项目结构目录存放

     继续读取struts.xml文件

    Payload:

    http://111.198.29.45:32744/loadimage?fileName=../../WEB-INF/classes/struts.xml

     记事本打开struts.xml

     这里class里面可以看到很多class类名,尝试了一下,都可以逐个下载,点号换成正斜杠,然后再在后面加个.class就可以下载了,下载后用jd反编译class文件

    http://111.198.29.45:32744/loadimage?fileName=../../WEB-INF/classes/applicationContext.xml

     这里发现一个user.hbm.xml

    逐个下载配置文件中的class,反编译一下

     这里对用户名进行了过滤,过滤空格和等号

    反编译之后可以直接看到查询语句(这里的sql语句与mysql不太一样,使用的是HSQL)

    hsql参考这篇文章,与mysql语句差别不大,但是也是有区别的

    https://www.cnblogs.com/fengyouheng/p/11013013.html

    4.注入

     可以尝试构造万能密码

     蓝色这一块就是拼接的语句

    这里对空格过滤了考虑用换行符稍微处理一下

    Payload:

    /zhuanxvlogin?user.name=admin%27%0Aor%0A%271%27%3E%270'%0Aor%0Aname%0Alike%0A'admin&user.password=1

    登陆进去了,但是没啥用,flag是在数据库里面


     后面的盲注语句直接参考的wp的

    https://www.jianshu.com/p/b940d0aaa9fa

    https://xz.aliyun.com/t/2405#toc-27

    flag如下

    嗯,最后说一句,提交的时候sctf需要大写。
  • 相关阅读:
    TS 3.1
    TS 3.1
    MDN 教程
    MDN 教程
    MDN 教程
    MDN 教程
    MDN 教程
    MDN 教程
    cookie会话技术
    数据库语法-1
  • 原文地址:https://www.cnblogs.com/mke2fs/p/11519039.html
Copyright © 2020-2023  润新知