CTF Web安全

V&NCTF Easy_Laravel Writeup

Posted on 2021-03-15,2 min read

[题目标题]:

Easy_laravel

[题目描述]:

简单的漏洞复现

[FLAG]:

动态FLAG

[题目考点]:

1. CVE-2021-3129复现
2. 挖掘laravel 8.22.0 POP链
3. bypass disable_function

[题目环境]:

1. ubuntu1~18.04.1
2. Apache/2.4.38
3. php:7.4.3-apache

[题目writeup]:

  1. 进入主页很明显是Laravel Debug Rce 。由于源码中对一些已公开的pop链做了修改。并且php版本为7.4没有assert、web目录只有session和log目录有写权限。需要自己挖一个eval的POP链。
图片

ImportConfigurator类的destruct方法可以跳转到__call

图片

HigherOrderMessage类的__call方法存在任意类的方法调用

图片

MockTrait类的generate方法存在eval调用。并且值可控

图片

然后就可以eval执行代码

  1. 写一个phar在logs下,一直调用phar反序列化。eval执行代码
图片
  1. 调用phpinfo()发现有disable_funciton和open_basedir,发现禁用其他函数。但是可以用global协议查看根目录