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