WebApp Sec mailing list archives
RE: yet another injection question
From: "David Cameron" <dcameron () itis-now com>
Date: Wed, 16 Apr 2003 11:01:29 +1000
The error is very simple. You are inserting a NULL into a column that does not allow a NULL. Whether you filled in a HTML field in some form is barely relevant. This has also has nothing to do with sql injection or web app security, except that by displaying this error you are providing information about your database. I'm guessing we are talking ASP here from the fact that you are running SQL7, however this also applies to php. <simplification> Inserting data in web apps generally happens in the following form. Fill in HTML form and submit. The HTML form submits to a page that reads the POSTed data (Request, Request.Form in ASP, $_POST php). From this data either a SQL statement is generated (INSERT INTO tbl (<columns>) VALUES (<values>)) and executed, or a stored procedure is executed with a command object. </simplification> With that in mind the error is going to come from one of two sources: 1. forgetting to set a value in the INSERT statement (hence defaulting to NULL), ie not enough columns in the VALUES (). 2. explicitly setting a value to NULL. Judging from the question I'd suggest 1. is more likely. That means that either in your proc or your generated SQL statement you have missed a column. That is you have not correctly mapped the fields from the HTML form to the columns of your database. This question is more suited to an asp (or php) mailing list, not a web application security list. I'd suggest looking into some of the lists that are out there. http://www.google.com/search?sourceid=navclient&ie=UTF-8&oe=UTF-8&q=asp+mailing+list regards David Cameron nOw.b2b dcameron () itis-now com
-----Original Message----- From: ronen [mailto:ronen () avnet co il] Sent: Wednesday, 16 April 2003 3:22 AM To: 'Jacob Hurley'; 'web-app-sec list' Subject: RE: yet another injection question Thanks Jacob. However, It seems that I didn’t explained myself correctly. Thousand apologies. The request that creates the user has a 'FOO' field already, and I made sure that this field will have an explicit value. This was done using the credentials of an existing an privileged user (the account was accessed with good old injection techniques). Thanks again for the help and the quick response. Ronen. -----Original Message----- From: Jacob Hurley [mailto:jacobh () aos5 com] Sent: Tuesday, April 15, 2003 5:02 PM To: ronen; web-app-sec list Subject: RE: yet another injection question the problem is with your sql query to insert into the database, it's telling you that FOO can't be NULL.. so append to you INSERT / VALUE statement a value for FOO looks like the hard part is over, if it was hard :p Jacob Hurley -----Original Message----- From: ronen [mailto:ronen () avnet co il] Sent: Tuesday, April 15, 2003 2:49 AM To: web-app-sec list Subject: yet another injection question Hello all, While pen testing a web application, and bypassing the authentication using a basic injection, I've tried to add a user to the database through a built-in form. However, when sending the URL, I received the follows: [Microsoft][ODBC SQL Server Driver][SQL Server]Cannot insert the value NULL into column 'FOO', table 'BAR'; column does not allow nulls. INSERT fails. The request URL has a field named 'FOO', and I explicitly inserted a value to that field. I was logged in with a privileged user (seems to have the highest privileges available ). Any idea what's the reason for the mentioned ODBC error. BTW, the system is a 'Microsoft SQL Server 7.00 - 7.00.1063' running on Windows NT 5.0 (Build 2195: Service Pack 3). Thanking you all in advance. Ronen
Current thread:
- yet another injection question ronen (Apr 15)
- Re: yet another injection question Kevin Spett (Apr 15)
- <Possible follow-ups>
- RE: yet another injection question Jacob Hurley (Apr 15)
- RE: yet another injection question ronen (Apr 15)
- RE: yet another injection question David Cameron (Apr 15)
