<![CDATA[Latest posts for the topic "Viết ch/tr scan sql inj"]]> /hvaonline/posts/list/23.html JForum - http://www.jforum.net Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#110091 /hvaonline/posts/list/18415.html#110091 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#110158 /hvaonline/posts/list/18415.html#110158 GMT Re: Viết ch/tr scan sql inj

gamma95 wrote:
nó ko bị SQL inject dạng $_GET ( trên URL) mà bị dạng $_POST thì sao 
Mình nghĩ nếu dạng $_POST hay $_GET hay $_REQUEST gì cũng cần phải xét các trường hợp hết. Nhưng quan trọng là xử lý sao thì mình kôhng rõ, vì phần bắt và gửi header chưa rành lắm... Mong chỉ giáo]]>
/hvaonline/posts/list/18415.html#110184 /hvaonline/posts/list/18415.html#110184 GMT
Re: Viết ch/tr scan sql inj

phstiger wrote:
Hic! Mình hỏi vậy vậy cũng bị phản kích sao kà. Nếu có thì sorry mấy bồ nha, lần sau sẽ chú ý ngôn từ hơn.... Vì mình định viết 1 soft scan nhưng không hiểu cách viết như thế nà nên mới post lên nhờ giúp đỡ ấy mà....

gamma95 wrote:
nó ko bị SQL inject dạng $_GET ( trên URL) mà bị dạng $_POST thì sao 
Mình nghĩ nếu dạng $_POST hay $_GET hay $_REQUEST gì cũng cần phải xét các trường hợp hết. Nhưng quan trọng là xử lý sao thì mình kôhng rõ, vì phần bắt và gửi header chưa rành lắm... Mong chỉ giáo 
Câu:
Chẳng lẽ phải lấy address và phân tính source code rồi thêm ký tự ' ở sau address trong source code rồi gửi đến sever à ??? 
mang tính... thầy kiện (chất vấn) :P . Mình không rõ thì nói cụ thể mình không rõ chỗ nào thay vì dùng "chẳng lẽ". Nó giống như ai đã bày vẽ rồi nhưng bày vẽ không tới nơi nên phải hỏi ngược lại. Không nên bắt đầu một thắc mắc như thế. Muốn scan sql injection thì có 2 phần chính phải kiện toàn: 1) hiểu rõ sql injection là gì, do đâu xảy ra tình trạng này, thông thường nó xảy ra ở đâu? 2) hiểu rõ cơ chế GET và POST vì đây là phương tiện để thực thi sql injection. Nếu chưa rành HTTP header thì nghiên cứu thêm về HTTP header.]]>
/hvaonline/posts/list/18415.html#110217 /hvaonline/posts/list/18415.html#110217 GMT
Re: Viết ch/tr scan sql inj

conmale wrote:
1) hiểu rõ sql injection là gì, do đâu xảy ra tình trạng này, thông thường nó xảy ra ở đâu?  
Em đã từng test SQL Inj trên một số shop (có cái thành công, có cái không). Bác cho hỏi: có phải mọi lôi SQL Inj đều xảy ra ở câu query trong source code của shop nào đó không?

conmale wrote:
2) hiểu rõ cơ chế GET và POST vì đây là phương tiện để thực thi sql injection. Nếu chưa rành HTTP header thì nghiên cứu thêm về HTTP header.  
Cơ chế POST và GET thì giờ em đã hiểu rõ. Còn HTTP Header thì em tìm hiểu có câu hỏi như thế nà: Để viết soft scan thì mình phải gửi header thay vì Code:
GET index.php?id=1
Host: www.targer.com
Thì mình đổi lại thành Code:
GET index.php?id=1'
Host: www.targer.com
Sau đó nhận thông tin mã lỗi gừi về từ server là số mấy: ví dụ 200,500,... và tương ứng để nhận dạng lỗi phải không? Và nếu ta nhận được kết quả ở bước này. Ta có phải phân tích source code của file nhận được không? ]]>
/hvaonline/posts/list/18415.html#111231 /hvaonline/posts/list/18415.html#111231 GMT
Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#111255 /hvaonline/posts/list/18415.html#111255 GMT Re: Viết ch/tr scan sql inj http://secwatch.sourceforge.net/v0.3/ cho source PHP. Tại http://www.ducksfeet.com/nic/secwatchd/files.html nếu thích C. ]]> /hvaonline/posts/list/18415.html#111280 /hvaonline/posts/list/18415.html#111280 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#111281 /hvaonline/posts/list/18415.html#111281 GMT Re: Viết ch/tr scan sql inj

lion_king_lovely_1985 wrote:
Nói chung là hơi bị thiếu thực tế. Vì có phải site người ta bị SQL inject ở những link dễ nhận diện như index.... đâu. Mờ bik đâu nó bị ở 1 cơ số cái link khác. Pác có thể bin đựoc hết link, hết product... để mà test với từng link cũng như với từng phần get, post ko??? Quả là ko thể! 
Dĩ nhiên là không chỉ là index thôi, mình chỉ lấy ví dụ thôi mà. Vả lại mình cũng không biết cách viết như thế nào ngoài trường hợp check hết all các link, thế nên mình mới post lên đây hỏi mà...

lion_king_lovely_1985 wrote:
hơn nữa sài soft thì nó nhanh bởi cái vòng lặp và thống kê thật đấy. Nhưng đổi lại nó ko thể linh hoạt tới mức thông minh trong quá trình khai thác hết các lỗi được! 
Thật ra đây cũng là một trong những thắc mắc của mình, nhưng mình nghĩ thế này không biết những soft scan lỗi như Acunetix,Retina hay SQL Injection Pentesting TooL,... . có làm theo cách này không nữa? Ví dụ target có nhiều biến viewcard,product,... như vậy ứng với product nó có nhiều giá trị như: product.asp?id=xxx Theo mình nghĩ thì vòng lặp sẽ scan một vài giá trị xxx mà thôi (ví dụ 100) nếu gặp lỗi thì dừng lại được rồi. Đó là suy nghĩ của mình. Còn những soft có làm như vậy hay làm cách nào thì đó là câu hỏi mình muốn biết trong thread này. Mong chỉ giáo thêm!]]>
/hvaonline/posts/list/18415.html#111341 /hvaonline/posts/list/18415.html#111341 GMT
Re: Viết ch/tr scan sql inj

phstiger wrote:

conmale wrote:
1) hiểu rõ sql injection là gì, do đâu xảy ra tình trạng này, thông thường nó xảy ra ở đâu?  
Em đã từng test SQL Inj trên một số shop (có cái thành công, có cái không). Bác cho hỏi: có phải mọi lôi SQL Inj đều xảy ra ở câu query trong source code của shop nào đó không?  
"Có cái thành công" --> cái đó bị lỗi. "Có cái không" --> cái đó không bị lỗi. Đọc lại các tài liệu và thảo luận về SQL Injection trên forum này và những nơi khác xem SQL INJ xảy ra ở đâu.

phstiger wrote:

conmale wrote:
2) hiểu rõ cơ chế GET và POST vì đây là phương tiện để thực thi sql injection. Nếu chưa rành HTTP header thì nghiên cứu thêm về HTTP header.  
Cơ chế POST và GET thì giờ em đã hiểu rõ. Còn HTTP Header thì em tìm hiểu có câu hỏi như thế nà: Để viết soft scan thì mình phải gửi header thay vì Code:
GET index.php?id=1
Host: www.targer.com
Thì mình đổi lại thành Code:
GET index.php?id=1'
Host: www.targer.com
Sau đó nhận thông tin mã lỗi gừi về từ server là số mấy: ví dụ 200,500,... và tương ứng để nhận dạng lỗi phải không? Và nếu ta nhận được kết quả ở bước này. Ta có phải phân tích source code của file nhận được không?  
Mấy cái HTTP status 200, 500 chỉ là HTTP status. Nó không thể dùng để xác định sql inj có hay không. Muốn xác định được sql inj, phải phân tích trọn bộ response từ server.]]>
/hvaonline/posts/list/18415.html#111392 /hvaonline/posts/list/18415.html#111392 GMT
Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#111496 /hvaonline/posts/list/18415.html#111496 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#112563 /hvaonline/posts/list/18415.html#112563 GMT Re: Viết ch/tr scan sql inj

phstiger wrote:
"phân tích trọn bộ response từ server" là sao vậy, mình chưa rõ lắm. Mong Bác chỉ rõ thêm :) 
Thay vì tiếp tục bằng 1 câu "Ai giúp mình với" thì thử phân tích xem bài trả lời của tôi hàm chứa những gì? có bao nhiêu từ khóa để tìm hiểu? và chúng dẫn dắt đến việc phân tích sql injection ra sao? Muốn viết cả một chương trình để "scan sq inj" mà thụ động như thế sao? HTTP có requestresponse. Khi nào hiểu được điểm cốt lõi này rồi hẵng nghĩ đến chuyện khác.]]>
/hvaonline/posts/list/18415.html#112611 /hvaonline/posts/list/18415.html#112611 GMT
Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#113182 /hvaonline/posts/list/18415.html#113182 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#115166 /hvaonline/posts/list/18415.html#115166 GMT Re: Viết ch/tr scan sql inj

phstiger wrote:
Theo lời bác conmale mình cũng mới tìm hiểu xong về "request và response" em cũng đã hiểu rồi. Hiện giờ em đang thử viết scan SQL thừ bằng VB.NET nhưng gặp 1 vấn đề là không biết làm cách nào để tác động vào header. Tức là send request và get respone. Search trên mạng cả buổi vẫn không biết xài thế nào.... Bác nào có code scan bằng VB.NET thì share cho em với. Thanks 
VB.NET có lẽ là chọn lựa thiếu hợp lý cho công việc này. Cần dùng công cụ hoặc thư viện nào trực tiếp đến HTTP.]]>
/hvaonline/posts/list/18415.html#115169 /hvaonline/posts/list/18415.html#115169 GMT
Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#115416 /hvaonline/posts/list/18415.html#115416 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#115432 /hvaonline/posts/list/18415.html#115432 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#115760 /hvaonline/posts/list/18415.html#115760 GMT Re: Viết ch/tr scan sql inj Code:
webreq = System.Net.WebRequest.Create(url)
            webresp = webreq.GetResponse()
để truy cập đến trang web và lấy source code. Nhưng khi mình muốn test SQL inj thì dĩ như mỉnh sẽ dùng webreq = System.Net.WebRequest.Create(url & "'") thế nhưng không thể truy cập được url đó, mặc dù mình dùng trình duyệt vẫn báo lỗi SQL bình thường. --> Mình không biết trong phần GET header có thể thêm dấu ' nên không load được hay không nữa? Ví dụ: GET index.php?id=1' HTTP/1.1 Như vậy thì những soft scan lỗi SQL sẽ thử bằng cách nào nếu như những soft đó sẽ so sánh web source với chuỗi lỗi của SQL bằng cách này như thế nào?]]>
/hvaonline/posts/list/18415.html#116024 /hvaonline/posts/list/18415.html#116024 GMT
Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#116077 /hvaonline/posts/list/18415.html#116077 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#116091 /hvaonline/posts/list/18415.html#116091 GMT Re: Viết ch/tr scan sql inj

gái quê wrote:
Các bác muốn viết một chương trình scan sql injection mà tôi thấy hỏi từ đầu đến cuối, thậm chí còn rất mù mờ về SQL injection thì chán quá... :D 
Chỉ có 1 bác muốn viết chương trình scan sql inj ở đây chớ không hề có bác thứ 2 nào cả.]]>
/hvaonline/posts/list/18415.html#116096 /hvaonline/posts/list/18415.html#116096 GMT
Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#116118 /hvaonline/posts/list/18415.html#116118 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#116144 /hvaonline/posts/list/18415.html#116144 GMT Re: Viết ch/tr scan sql inj

conmale wrote:

gái quê wrote:
Các bác muốn viết một chương trình scan sql injection mà tôi thấy hỏi từ đầu đến cuối, thậm chí còn rất mù mờ về SQL injection thì chán quá... :D 
Chỉ có 1 bác muốn viết chương trình scan sql inj ở đây chớ không hề có bác thứ 2 nào cả. 
Nghĩa là sao nhỉ :-?? bạn phs đã thử %27 chưa nhỉ? (POST ', GET %27) Nếu trình duyệt báo lỗi như bình thường thì bạn cần tìm hiểu xem tại sao chương trình của bạn lại ko get được như trình duyệt :D fai ko nào?]]>
/hvaonline/posts/list/18415.html#116549 /hvaonline/posts/list/18415.html#116549 GMT
Re: Viết ch/tr scan sql inj Code:
using System;
using System.Net;
using System.IO;
using System.Text;

namespace HttpRequest
{
	/// <summary>
	/// Summary description for Class1.
	/// </summary>
	class Class1
	{
		
		/// <summary>
		/// The main entry point for the application.
		/// </summary>
		[STAThread]
		static void Main(string[] args)
		{
			
			string param1 = "vi";
			string param2 = "";

			ASCIIEncoding encoding = new ASCIIEncoding();
			
			string postData = string.Format("lang={0}&ignore={1}", param1, param2 );

			byte[]  buffer = encoding.GetBytes( postData );

			// Prepare web request...
			HttpWebRequest myRequest =
				(HttpWebRequest)WebRequest.Create("http://testasp.acunetix.com/showforum.asp?id=2'");
			// We use POST ( we can also use GET ) "select * from abc where id = '2''"
			myRequest.Method = "POST";

			// Set the content type to a FORM
			myRequest.ContentType ="application/x-www-form-urlencoded";

			// Get length of content
			myRequest.ContentLength = buffer.Length;

			// Get request stream
			Stream newStream = myRequest.GetRequestStream();
			
			// Send the data.
			newStream.Write(buffer,0,buffer.Length);

			// Close stream
			newStream.Close();


			try
			{
				// Assign the response object of 'HttpWebRequest' to a 'HttpWebResponse' variable.
				HttpWebResponse myHttpWebResponse= (HttpWebResponse)myRequest.GetResponse();
	
			// Display the contents of the page to the console.
			Stream streamResponse=myHttpWebResponse.GetResponseStream();

			// Get stream object
			StreamReader streamRead = new StreamReader( streamResponse );

			Char[] readBuffer = new Char[256];

			// Read from buffer
			int count = streamRead.Read( readBuffer, 0, 256 );

			while (count > 0) 
			{
				// get string
				String resultData = new String( readBuffer, 0, count);

				// Write the data 
				Console.WriteLine( resultData );

				// Read from buffer
				count = streamRead.Read( readBuffer, 0, 256);
				
			}
			
			// Release the response object resources.
			streamRead.Close();
			streamResponse.Close();
			
			// Close response
			myHttpWebResponse.Close();
			}
			catch (WebException webExcp) 
			{
				// If you reach this point, an exception has been caught.
				Console.WriteLine("A WebException has been caught.");
				// Write out the WebException message.
				Console.WriteLine(webExcp.ToString());
				// Get the WebException status code.
				WebExceptionStatus status =  webExcp.Status;
				// If status is WebExceptionStatus.ProtocolError, 
				//   there has been a protocol error and a WebResponse 
				//   should exist. Display the protocol error.
				if (status == WebExceptionStatus.ProtocolError) 
				{
					Console.Write("The server returned protocol error ");
					// Get HttpWebResponse so that you can check the HTTP status code.
					HttpWebResponse httpResponse = (HttpWebResponse)webExcp.Response;
					Console.WriteLine((int)httpResponse.StatusCode + " - "
						+ httpResponse.StatusCode);
	
					// Display the contents of the page to the console.
					Stream streamResponse=httpResponse.GetResponseStream();

					// Get stream object
					StreamReader streamRead = new StreamReader( streamResponse );

					Char[] readBuffer = new Char[256];

					// Read from buffer
					int count = streamRead.Read( readBuffer, 0, 256 );

					while (count > 0) 
					{
						// get string
						String resultData = new String( readBuffer, 0, count);

						// Write the data 
						Console.WriteLine( resultData );

						// Read from buffer
						count = streamRead.Read( readBuffer, 0, 256);
				
					}
			
					// Release the response object resources.
					streamRead.Close();
					streamResponse.Close();
			
					// Close response
					httpResponse.Close();
		
				}
			}
		
				Console.ReadLine();
			
			
		}
	}
}
showforum.asp?id=2' <~ 500 exception. Vay ban tiep tuc nhé?]]>
/hvaonline/posts/list/18415.html#120244 /hvaonline/posts/list/18415.html#120244 GMT
Re: Viết ch/tr scan sql inj

CK wrote:
showforum.asp?id=2' <~ 500 exception.  
hm, khoai chưa xem qua đám java code, nhưng đoán cái 500 là HTTP response status. Vậy reponse 500 là "bị" sql inj? Còn response 200 là không bị gì hết hay sao? khoai]]>
/hvaonline/posts/list/18415.html#120252 /hvaonline/posts/list/18415.html#120252 GMT
Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#120256 /hvaonline/posts/list/18415.html#120256 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#120260 /hvaonline/posts/list/18415.html#120260 GMT Re: Viết ch/tr scan sql inj /hvaonline/posts/list/18415.html#120280 /hvaonline/posts/list/18415.html#120280 GMT