首页 > 其他分享 >BMZCTF:hitcon_2017_ssrfme

BMZCTF:hitcon_2017_ssrfme

时间:2023-06-19 19:36:36浏览次数:45  
标签:ssrfme shell string BMZCTF exec PATHINFO flag path 2017


http://bmzclub.cn/challenges#hitcon_2017_ssrfme

BMZCTF:hitcon_2017_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__);
shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。
shell_exec ( string $cmd ) : string
shell_exec()的执行效果和执行操作符反引号(``)是一样的
escapeshellarg — 把字符串转码为可以在 shell 命令里使用的参数
escapeshellarg ( string $arg ) : string
pathinfo() 返回一个关联数组包含有 path 的信息。返回关联数组还是字符串取决于 options。
pathinfo ( string $path , int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ) : mixed
basename — 返回路径中的文件名部分
basename ( string $path , string $suffix = ? ) : string

首先解决下这里的沙箱路径问题,这里没有将$sandbox输出,所以需要自己计算出路径

$_SERVER["REMOTE_ADDR"]#是用户访问页面用的公网IP,百度输出IP直接搜索就能知道

BMZCTF:hitcon_2017_ssrfme_IP_02


最后的文件路径是:/sandbox/6dcb273e31b7c6e1cb3f2bb2b6b9236f/

BMZCTF:hitcon_2017_ssrfme_字符串_03


Forbidden就对了Not Found就错了例如构造?url=/&filename=mochu.html,然后访问/sandbox/6dcb273e31b7c6e1cb3f2bb2b6b9236f/mochu.html

BMZCTF:hitcon_2017_ssrfme_数组_04


然后当我尝试/?url=/flag&filename=flag.txt

然后再访问沙盒下的flag.txt

BMZCTF:hitcon_2017_ssrfme_IP_05


标签:ssrfme,shell,string,BMZCTF,exec,PATHINFO,flag,path,2017
From: https://blog.51cto.com/u_16159500/6517075

相关文章

  • BMZCTF:suspicion
    http://bmzclub.cn/challenges#suspicionvolatility-fmem.vmemimageinfovolatility-fmem.vmem--profile=WinXPSP2x86pslist将可疑进程TrueCrypt.exe进程dump出来volatility-fmem.vmem--profile=WinXPSP2x86memdump-p2012-D./使用EFDD打开,具体操作步骤如下查看E盘......
  • BMZCTF:2020sdnisc-左上角的秘密
    http://bmzclub.cn/challenges#2020sdnisc-%E5%B7%A6%E4%B8%8A%E8%A7%92%E7%9A%84%E7%A7%98%E5%AF%86enc.py#encoding=utf-8flag_enc=open("flag_enc.hex","wb")deffile_encode(flag):i=1whileTrue:byte_str=flag.read(1)......
  • BMZCTF:2018 HEBTUCTF 你可能需要一个wireshark
    http://bmzclub.cn/challenges#2018%20HEBTUCTF%20%E4%BD%A0%E5%8F%AF%E8%83%BD%E9%9C%80%E8%A6%81%E4%B8%80%E4%B8%AAwiresharkyoujun.pcapng打开直接尝试搜索关键字tcpcontains"flag"追踪流找到一个flag.txt解码这串base64得到flagPSC:\Users\Administrator>php-r"var_d......
  • BMZCTF:insomniteaser_2019_l33t_hoster
    http://bmzclub.cn/challenges#insomniteaser_2019_l33t_hoster文件上传,/?source回显源码<?phpif(isset($_GET["source"]))die(highlight_file(__FILE__));session_start();if(!isset($_SESSION["home"])){$_SESSION["home"]=......
  • BMZCTF:2018 redhat NotOnlyWireshark
    http://bmzclub.cn/challenges#2018%20redhat%20NotOnlyWiresharkNotOnlyWireshark.pcapngname中的值很明显是zip字节流数据,将这些长度426的URL中的name值提取出来tshark-rNotOnlyWireshark.pcapng-ehttp.request.uri-Tfields-Y'http.request.uri'|grep-P'name=[A-F0-......
  • BMZCTF:oldmodem
    http://bmzclub.cn/challenges#oldmodem使用file命令查看下,发现是wav文件但是修改后缀为wav后缀后并没有看出什么也没听出什么然后根据题目名称得知这是modem文件,装个minimoden去识别这个文件直接kali中:sudoapt-getinstallminimodem这个题目原来还有个提示没给就是这个modem......
  • BMZCTF:2020sdnisc-过去和现在
    http://bmzclub.cn/challenges#2020sdnisc-%E8%BF%87%E5%8E%BB%E5%92%8C%E7%8E%B0%E5%9C%A8flag{fc25cbb7b85959fe03738241a96bf23d}......
  • BMZCTF:网鼎杯 2018 minified
    http://bmzclub.cn/challenges#%E7%BD%91%E9%BC%8E%E6%9D%AF%202018%20minifiedflag_enc.png使用stegsolve打开,将每个色道的零通道取出来Alpha0Red0Green0Blue0将Alpha0和Green0进行ImageCombiner,当XOR时出现flagflag{7bb6db9f-d2eb-4e69-8dee-0002ce1e07f9}......
  • BMZCTF:TallShanBen
    http://bmzclub.cn/challenges#TallShanBen图片看起来高度有点问题,加上题目名称Tall估计是要修改这个jpg的图片高度,使用010Editor打开把高度改高一点flag{Sh4n_B3n}......
  • BMZCTF:rcee
    http://bmzclub.cn/challenges#rceeyouareinsandbox:c718030a6758042d932a08acf4a8c265<?php$sandbox=md5("box".$_SERVER['REMOTE_ADDR'].$_SERVER['HTTP_USER_AGENT']);echo"youareinsandbox:".$sandbox.......