File Thingie v2.5.5 File Security Bypass
Posted on 16 May 2010
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'><html><head><meta http-equiv='Content-Type' content='text/html; charset=windows-1251'><title>File Thingie v2.5.5 File Security Bypass</title><link rel='shortcut icon' href='/favicon.ico' type='image/x-icon'><link rel='alternate' type='application/rss+xml' title='Inj3ct0r RSS' href='/rss'></head><body><pre>======================================== File Thingie v2.5.5 File Security Bypass ======================================== Title: File Thingie v2.5.5 File Security Bypass Author: Jeremiah Talamantes (RedTeam Security) Website: http://www.redteamsecure.com/labs Date: 5/15/2010 Application: File Thingie Version: 2.5.5 Link: http://www.solitude.dk/filethingie/download Description: There are security controls in place that attempt to prevent users from uploading PHP files and also renaming them to PHP extensions. However advanced security controls do not exist that would prevent a user from uploading a text file containing PHP code. An attacker can exploit a weakness in the file rename process allowing the attacker to rename a text file (containing code) to a .php extension and execute the script. This exploit demonstrates a way to backdoor File Thingie by uploading an *.inc file that contains a backdoored copy of File Thingie, then uploading a *.txt file containing some PHP code that will overwrite ft2.php to execute the backdoored copy of File Thingie. But first the *.txt file has to be renamed to a *.php and then executed in the browser. Test Environment: * Tested on WAMP Server 2.0 * WAMP running on Windows XP, SP2 (EN) ==================================================================== Download the following file for more instructions and exploits: ==================================================================== http://inj3ct0r.com/sploits/12254.zip # <a href='http://inj3ct0r.com/'>Inj3ct0r.com</a> [2010-05-16]</pre><script type='text/javascript'>var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));</script><script type='text/javascript'>try{var pageTracker = _gat._getTracker("UA-12725838-1");pageTracker._setDomainName("none");pageTracker._setAllowLinker(true);pageTracker._trackPageview();}catch(err){}</script></body></html>