攻防世界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需要大写。
posted @ 2019-09-14 19:39  Mke2fs  阅读(2675)  评论(4编辑  收藏  举报