WriteUp

2017-11-20  本文已影响0人  LittleReds

Crypto

题目

第一眼看题目提示base64,马上就进行一波解码


第一次解码

一眼看过去,感觉是16进制,再转一波码


image.png
感觉又是base64,再转一波
image.png
感觉又是16进制,再转一波
image.png

感觉又是base64,再转一波


image.png
发现字母全是大写,而且‘=’多于两个,判断不是base64,就尝试一下base32
image.png
字母又是全大写,就再尝试base32
image.png
又是一串数字,想到刚刚的16进制就再16进制解码一下
image.png
又再进行16进制解码
image.png
感觉这是明显的16进制,就在解码试试,然后就出现flag
flag

Misc

于是我猜测是字体太小或者字体颜色跟背景颜色一样,所以我就调了背景色,不停地放大字体,删掉几个字母就发现了flag


flag

web

<? php
class  GWHT  {
    private  $GDUFS ;
    public   $file ;

    public function  __construct ( $fileName ) {
        $this -> GDUFS  =  'gdufs' ;
        $this -> file  =  $fileName ;
    }


    public function  __toString () {
        return  file_get_contents ( $this -> file );
    }
}
$a = new GWHT("gWhT_FFFLag.php ");
echo  serialize ($a );
?>

运行后,输出下面结果


image.png

然后我就传参上去,发现毫无反应


image.png
我研究了很久,最后在网上发现了PHP的 serialize ( ) 函数有bug,于是我就改了一下输出的结果,再次传参
image.png

查看源代码就拿到flag了


flag

源码泄漏有很多种,无法确定是哪种,所以我就查了一下这个QQ号,发现这是个小号,点了添加好友,并且看了看它的空间,发现了一些有趣的线索

image.png
看到上面的“git push origin master”我想到了git泄漏,于是我就在网址后面加了/.git/
image.png
发现行不通,于是我就分别用GitHack和wget命令试试
image.png
image.png
发现并行不通,后来又想起QQ空间里面又提到个人网站,于是我就试了试 "www.pr0ph3t.com"
www.pr0ph3t.com
发现还是不行,我灵机一动,去GitHub查了“Pr0ph3t”这个帐号,意外地查到了
image.png
然后我就点击进去他的个人网站
image.png
感觉思路没错,又在网站后面加“/.git/”
image.png
发现还是失败,就用GitHack
image.png
还是失败,这时想到QQ空间提到的https,于是又试了一次
image.png
打开flag。php,就得到flag了
flag
上一篇 下一篇

猜你喜欢

热点阅读