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 cho em hỏi về căn bản sql injection với  XML
  [Question]   cho em hỏi về căn bản sql injection với 08/07/2009 02:05:14 (+0700) | #1 | 185697
thithop7749
Member

[Minus]    0    [Plus]
Joined: 06/07/2009 12:57:28
Messages: 8
Offline
[Profile] [PM]
em có 1 đoạn code như vậy :

$a="select * from Khachhang where TenDN='{$TenDN}' and MatKhau
='{$MatKhau}' ";
$check_login=mysql_query($a);
if (mysql_num_rows($check_login)>0)
{
$_SESSION["login"]=true;
$_SESSION["loi_login"]=null;
$_SESSION["TenDN"]=$TenDN;
echo "<script>window.location='index.php';</script>";
}

giờ em nên nhập là j thì họp lý em thử nhiều cách rùi mà ko dc nản
[Up] [Print Copy]
  [Question]   cho em hỏi về căn bản sql injection với 14/07/2009 22:19:36 (+0700) | #2 | 186236
lyhuuloi
Elite Member

[Minus]    0    [Plus]
Joined: 04/04/2003 11:29:17
Messages: 90
Location: TP HCM
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Hợp lý là thế nào bạn nhỉ ? câu hỏi ở trên là "sql injection" thì ở dưới bạn nên hỏi là nhập thế nào hoặc chặn sql injection bằng cách nào chứ ?
http://lyhuuloi.com smilie
[Up] [Print Copy]
  [Question]   cho em hỏi về căn bản sql injection với 16/07/2009 15:00:29 (+0700) | #3 | 186452
thithop7749
Member

[Minus]    0    [Plus]
Joined: 06/07/2009 12:57:28
Messages: 8
Offline
[Profile] [PM]
thế bây giờ em muốn hack nó thì fai như thế nào ? , đăng nhập ko cần pass ý thì phải nhập là gì đây ?
[Up] [Print Copy]
  [Question]   cho em hỏi về căn bản sql injection với 16/07/2009 21:30:13 (+0700) | #4 | 186466
lyhuuloi
Elite Member

[Minus]    0    [Plus]
Joined: 04/04/2003 11:29:17
Messages: 90
Location: TP HCM
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Code:
select * from Khachhang where TenDN='{$TenDN}' and MatKhau
='{$MatKhau}'

Ứng với câu lệnh thế này, thì bạn cần hiểu là:

$TenDN = ' or '1'='1
$MatKhau = ' or '1'='1

Thì câu lệnh sẽ trở thành:

Code:
select * from Khachhang where TenDN='' or '1'='1' and MatKhau
='' or '1'='1'

Hiển nhiên khi bạn chạy câu lệnh này nó sẽ là câu lệnh đúng, do vậy đó là cách bạn đăng nhập không cần password.

Khắc phục:

Bằng cách chèn dấu slash bằng hàm addslashes() để vô hiệu hóa dấu ' mà User nhập vào là OK.
http://lyhuuloi.com smilie
[Up] [Print Copy]
  [Question]   cho em hỏi về căn bản sql injection với 16/07/2009 21:32:19 (+0700) | #5 | 186467
lyhuuloi
Elite Member

[Minus]    0    [Plus]
Joined: 04/04/2003 11:29:17
Messages: 90
Location: TP HCM
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Ngoài ra để an toàn hơn, thông thường người ta chỉ kiểm tra username, sau đó giá trị trả về thì đem so sánh Password với nhau sẽ secured hơn.

Chưa kể bạn còn có thể mã hóa password bằng 2 lần md5() hoặc phân nó ra làm 2 fields sau đó gộp lại rồi mã hóa md5(), rất nhiều cách.
http://lyhuuloi.com smilie
[Up] [Print Copy]
  [Question]   cho em hỏi về căn bản sql injection với 17/07/2009 08:10:16 (+0700) | #6 | 186546
thithop7749
Member

[Minus]    0    [Plus]
Joined: 06/07/2009 12:57:28
Messages: 8
Offline
[Profile] [PM]
nhập là 'or '1'='1
ko dc anh à
[Up] [Print Copy]
  [Question]   cho em hỏi về căn bản sql injection với 17/07/2009 08:12:19 (+0700) | #7 | 186547
lyhuuloi
Elite Member

[Minus]    0    [Plus]
Joined: 04/04/2003 11:29:17
Messages: 90
Location: TP HCM
Offline
[Profile] [PM] [Email] [WWW] [Yahoo!]
Ở đây, box này là lập trình web, bạn muốn hack thì sang box khác, tạo một chủ đề khác để thảo luận nhé smilie Mình cũng đã nói những gì cần thiết cơ bản nhất trong Security về trường hợp này rồi.
http://lyhuuloi.com smilie
[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|