¿Cómo crear paquetes udp en ssrf sin Gopher o con dict?

0

Hola, soy un investigador de seguridad en una empresa basada en productos y recientemente descubrí un ssrf de la siguiente manera: -

$imgurl = $_REQUEST['file_storefrontbanner']['C']; 
$filename= basename($imgurl);
$header_data = @get_headers($imgurl,1);

$size = $header_data['Content-Length'];
$extension = pathinfo($filename, PATHINFO_EXTENSION);
$banner = $company_id."_".time() ."_". $filename;
$images_path = DIR_ROOT.'/images/';
$image = getimg($imgurl); 
$imgSize = @getImageSize($imgurl);

if (in_array($extension, array('jpg','JPEG','png','gif')) && $size < 2097152 && $imgSize[0] == 731 && $imgSize[1] == 234) {                
file_put_contents($images_path.$banner,$image); 
} 

function getimg($url) {         
     $headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg';              
     $headers[] = 'Connection: Keep-Alive';         
     $headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';         
     $user_agent = 'php';         
     $process = curl_init($url);         
     curl_setopt($process, CURLOPT_HTTPHEADER, $headers);         
     curl_setopt($process, CURLOPT_HEADER, 0);         
     curl_setopt($process, CURLOPT_USERAGENT, $useragent);         
     curl_setopt($process, CURLOPT_TIMEOUT, 30);         
     curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);         
     curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);         
     $return = curl_exec($process);         
     curl_close($process);         
     return $return;     
} 

las envolturas que probé son file: // dict: // http: // https: // no gopher: // el servidor tiene ssh smtp y memcached a 127.0.0.1

¿Cómo puedo crear mi carga útil para establecer el valor en memcached con el paquete UDP sin Gopher?

    
pregunta Aayush 11.05.2018 - 19:06
fuente

0 respuestas

Lea otras preguntas en las etiquetas