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