banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành Windows Viết ch/tr scan sql inj  XML
  [Question]   Viết ch/tr scan sql inj 14/01/2008 04:50:20 (+0700) | #1 | 110091
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]
Để viết 1 ch/tr scan lỗi sql inj thì phải làm thế nào vậy? ví dụ viết với VB.NET
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 à ???
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 14/01/2008 13:48:19 (+0700) | #2 | 110158
[Avatar]
gamma95
Researcher

Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
[Profile] [PM] [ICQ]
nó ko bị SQL inject dạng $_GET ( trên URL) mà bị dạng $_POST thì sao, thậm chí trong Cookie thì scan sao ta?? lúc đó phân tích source kiều gì? smilie
ps: Xem lại thái độ khi hỏi
Cánh chym không mỏi
lol
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 14/01/2008 22:18:09 (+0700) | #3 | 110184
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 14/01/2008 23:41:09 (+0700) | #4 | 110217
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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) smilie . 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.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 20/01/2008 12:30:43 (+0700) | #5 | 111231
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]

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?
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 20/01/2008 15:49:48 (+0700) | #6 | 111255
[Avatar]
lion_king_lovely_1985
Member

[Minus]    0    [Plus]
Joined: 05/09/2006 20:13:20
Messages: 156
Location: HTTP://HTVSITE.COM
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
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ể!

Bởi Inject nó đâu có nằm ở những nơi dễ thấy ^^

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ân LKL!!!
HỌC THIẾT KẾ WEBSITE | HỌC LẬP TRÌNH WEBSITE | HỌC QUẢN TRỊ WEBSITE | HỌC LẬP TRÌNH PHP & MySQL
HTTP://HTVSITE.COM
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 21/01/2008 01:09:35 (+0700) | #7 | 111280
[Avatar]
azteam
Member

[Minus]    0    [Plus]
Joined: 17/03/2007 21:12:46
Messages: 177
Location: /dev/null
Offline
[Profile] [PM]
Thử tìm hiểu về secwatch xem sao. Được viết = cả PHP, cả C. Sử dụng đọc và phân tích syslog, tạo các cảnh báo theo thời gian thực. Hình như trên diễn đàn đã có giới thiệu qua rồi hay sao.
Download tại http://secwatch.sourceforge.net/v0.3/ cho source PHP.
Tại http://www.ducksfeet.com/nic/secwatchd/files.html nếu thích C.
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 21/01/2008 01:35:09 (+0700) | #8 | 111281
[Avatar]
gamma95
Researcher

Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
[Profile] [PM] [ICQ]
Mấy đồng chí bàn về sql injection thì được ... đồng chí nào cứ nhắc đến shop shop là tui locked nick đó nhá smilie
Cánh chym không mỏi
lol
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 21/01/2008 11:26:21 (+0700) | #9 | 111341
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]

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!
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 21/01/2008 17:56:20 (+0700) | #10 | 111392
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 22/01/2008 09:45:30 (+0700) | #11 | 111496
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]
"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 smilie
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 28/01/2008 10:46:34 (+0700) | #12 | 112563
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]
Hic! Ai giúp mình với....
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 28/01/2008 19:57:43 (+0700) | #13 | 112611
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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 smilie 


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.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 01/02/2008 03:46:13 (+0700) | #14 | 113182
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]
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
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 18/02/2008 04:10:39 (+0700) | #15 | 115166
CK
Member

[Minus]    0    [Plus]
Joined: 17/02/2008 03:14:35
Messages: 22
Location: vn
Offline
[Profile] [PM]
Đúng cái này cũng là cái mình đang nghiên cứu, muốn làm smilie Gặp đúng topic tưởng có gì bổ ích, hóa ra toàn "ai giúp mình với" thì chán hẵn smilie
Có ai đã từng làm về cái này chưa nhỉ?
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 18/02/2008 04:33:01 (+0700) | #16 | 115169
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 19/02/2008 13:36:08 (+0700) | #17 | 115416
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]
Đầu tiên thì mình muốn scan cấu trúc của web để lọc tấc cả các href trong pages. vậy thì phải get source từng page nhưng tổ chức lưu trữ như thế nào và sử dụng biến thế nào thì em tìm mãi trên net chẳng thấy demo code đâu cả. Nên tự viết thử dùng array kiểu string để lưu trữ.
Nhưng nhận thấy rằng cũng không thực tế lắm vì không biết được số lượng href để khai báo và array không đủ để lưu info. Ví dụ trong href đó có form nữa,....Nói chung là đang rối chuyện scan cấu trúc web. Hic
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 19/02/2008 14:19:16 (+0700) | #18 | 115432
[Avatar]
gamma95
Researcher

Joined: 20/05/2003 07:15:41
Messages: 1377
Location: aaa">
Offline
[Profile] [PM] [ICQ]
sao bạn ko thử xài một tool nào đã đã làm được chuyện này sau đó chạy nó rồi sniff lại coi nó làm gì?? sau đó học hỏi nó smilie
Cánh chym không mỏi
lol
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 21/02/2008 09:04:38 (+0700) | #19 | 115760
CK
Member

[Minus]    0    [Plus]
Joined: 17/02/2008 03:14:35
Messages: 22
Location: vn
Offline
[Profile] [PM]
bạn bật acunetix lên, (tớ đang xài bản 4) scan 1 cai' gi do se co log đại loại như vậy nè:

Start URL : http://testasp.acunetix.com
Server banner: IIS 6.0
Crawling started with start URL: http://testasp.acunetix.com
Login sequence:
Restricted links:
Setup starting request http://testasp.acunetix.com
Added request for URL http://testasp.acunetix.com
Added request for URL http://testasp.acunetix.com/favicon.ico
Added request for URL http://testasp.acunetix.com/robots.txt
Request done, http://testasp.acunetix.com
Added request for URL http://testasp.acunetix.com/styles.css
Added request for URL http://testasp.acunetix.com/Templatize.asp
Added request for URL http://testasp.acunetix.com/Templatize.asp?item=html/about.html
Added request for URL http://testasp.acunetix.com/Default.asp
Added request for URL http://testasp.acunetix.com/Search.asp
Added request for URL http://testasp.acunetix.com/Login.asp
Added request for URL http://testasp.acunetix.com/Login.asp?RetURL=%2FDefault%2Easp%3F
Added request for URL http://testasp.acunetix.com/Register.asp
Added request for URL http://testasp.acunetix.com/Register.asp?RetURL=%2FDefault%2Easp%3F
Added request for URL http://testasp.acunetix.com/showforum.asp
Added request for URL http://testasp.acunetix.com/showforum.asp?id=0
Added request for URL http://testasp.acunetix.com/showforum.asp?id=1
Added request for URL http://testasp.acunetix.com/showforum.asp?id=2
Added request for URL http://testasp.acunetix.com/Images/
Executing next queue
Request done, http://testasp.acunetix.com/Templatize.asp
Added request for URL http://testasp.acunetix.com/Login.asp?RetURL=%2FTemplatize%2Easp%3F
Added request for URL http://testasp.acunetix.com/Register.asp?RetURL=%2FTemplatize%2Easp%3F
Request done, http://testasp.acunetix.com/favicon.ico
Request done, http://testasp.acunetix.com/Search.asp
Added request for URL http://testasp.acunetix.com/Search.asp?tfSearch=
Added request for URL http://testasp.acunetix.com/Login.asp?RetURL=%2FSearch%2Easp%3F
Added request for URL http://testasp.acunetix.com/Register.asp?RetURL=%2FSearch%2Easp%3F
Request done, http://testasp.acunetix.com/Login.asp
Added request for URL http://testasp.acunetix.com/Login.asp
Added request for URL http://testasp.acunetix.com/Login.asp?RetURL=%2FLogin%2Easp%3F
Added request for URL http://testasp.acunetix.com/Register.asp?RetURL=%2FLogin%2Easp%3F
Request done, http://testasp.acunetix.com/Login.asp
Request done, http://testasp.acunetix.com/styles.css
Request done, http://testasp.acunetix.com/Templatize.asp
Added request for URL http://testasp.acunetix.com/Login.asp?RetURL=%2FTemplatize%2Easp%3Fitem%3Dhtml%2Fabout%2Ehtml
Added request for URL http://testasp.acunetix.com/Register.asp?RetURL=%2FTemplatize%2Easp%3Fitem%3Dhtml%2Fabout%2Ehtml
Request done, http://testasp.acunetix.com/Default.asp
Request done, http://testasp.acunetix.com/showforum.asp
Request done, http://testasp.acunetix.com/Images/

smilie tớ cũng đang nghiên cứu mờsmilie
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 22/02/2008 14:23:19 (+0700) | #20 | 116024
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]
Cả 2 ý kiến đều rất hay, mình sẽ tham khảo.
Có một điều mình không làm được đó là:
Trong VB.NET mình dùng
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?
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 23/02/2008 00:17:23 (+0700) | #21 | 116077
CK
Member

[Minus]    0    [Plus]
Joined: 17/02/2008 03:14:35
Messages: 22
Location: vn
Offline
[Profile] [PM]
thế %27 thay vì ' có được ko vậy?
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 23/02/2008 00:52:34 (+0700) | #22 | 116091
gái quê
Member

[Minus]    0    [Plus]
Joined: 22/11/2007 12:52:14
Messages: 12
Offline
[Profile] [PM]
có 1 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á... smilie
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 23/02/2008 01:01:14 (+0700) | #23 | 116096
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]

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á... smilie 


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ả.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 23/02/2008 01:55:26 (+0700) | #24 | 116118
gái quê
Member

[Minus]    0    [Plus]
Joined: 22/11/2007 12:52:14
Messages: 12
Offline
[Profile] [PM]
dạ smilie
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 23/02/2008 03:14:58 (+0700) | #25 | 116144
[Avatar]
phstiger
Member

[Minus]    0    [Plus]
Joined: 23/01/2007 17:47:26
Messages: 261
Offline
[Profile] [PM]
Hic! Làm mãi chả được, tức wa' nên phải hỏi chứ sao bây giờ...
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 25/02/2008 18:10:08 (+0700) | #26 | 116549
CK
Member

[Minus]    0    [Plus]
Joined: 17/02/2008 03:14:35
Messages: 22
Location: vn
Offline
[Profile] [PM]

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á... smilie 


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ỉ smilie?

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 smilie fai ko nào?
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 20/03/2008 17:49:18 (+0700) | #27 | 120244
CK
Member

[Minus]    0    [Plus]
Joined: 17/02/2008 03:14:35
Messages: 22
Location: vn
Offline
[Profile] [PM]
Bạn PhSang còn quan tâm vấn đề này ko nhi?
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é?
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 20/03/2008 21:20:59 (+0700) | #28 | 120252
Mr.Khoai
Moderator

Joined: 27/06/2006 01:55:07
Messages: 954
Offline
[Profile] [PM]

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
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 20/03/2008 21:41:02 (+0700) | #29 | 120256
CK
Member

[Minus]    0    [Plus]
Joined: 17/02/2008 03:14:35
Messages: 22
Location: vn
Offline
[Profile] [PM]
500 = Internal Server Error
(http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html)
chưa khẳng định là inj hay sao cả mà,smilie tớ nghĩ thế, và ngược lại, Inj có thể được kiểm soát lỗi.
Ý trên tớ muốn giải thích cho PHS tại sao chương trình của bạn ý ko chạy thôi!
nó là C# mà Khoaismilie
[Up] [Print Copy]
  [Question]   Re: Viết ch/tr scan sql inj 20/03/2008 22:06:24 (+0700) | #30 | 120260
Mr.Khoai
Moderator

Joined: 27/06/2006 01:55:07
Messages: 954
Offline
[Profile] [PM]
hm, 1,2h sáng mắt mũi kèm nhèm smilie nhìn con gà ra con...khác smilie

Việc scan một site có bị sql inj hay không thì bà con theo dõi từ đầu chủ đề sẽ thấy rõ. SQL Inj không chỉ có ở GET, POST, mà có thể ở cả COOKIES. Chỗ nào có user input và động đến database thì đều có thể bị SQL Inj.

Và, cho dù bạn scan hết mọi trường hợp thì dựa vào đâu để xác định (từ trang html được server trả về) là web app có bị SQL Inj hay không?

khoai
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|