<
Tin Tức
-
Hội nghị các nhà phân phối imec 2018 - Heilbronn, Germany
Ngày 28/10/2018 Chi tiết
-
Thiết bị theo dõi nhiệt độ tự ghi theo Thông tư 02/2018 Bộ Y Tế
Ngày 01/04/2018 Chi tiết
-
Qui trình bảo quản vắc xin tiêm chủng mở rộng
Ngày 24/11/2015 Chi tiết
-
Đường đi của vắc xin từ tuyến tỉnh đến xã, phường
Ngày 17/10/2015 Chi tiết
Thống kê truy cập
- Lượt ghé thăm: 9,517,840
- Lượt truy cập: 12,943,891
- Đang xem: 5 (5 guest)
Bypass login là 1 kỹ thuật khá phổ biến mà hacker thích thử để tấn công website. Tỉ lệ thành công cũng khá cao, nhất là khi hacker gặp các website cùi bắp, như blog.itnet.vn chẳng hạn.
Bypass login là gì? Đây là 1 kỹ thuật mà hacker gõ 1 vài kí tự vớ va vở vẫn nào đó, nhằm vượt qua cơ chể kiểm tra của chương trình. Làm cho chương trình hiểu là chúng ta đang đường đường chính chính vào phần quản trị web.
Phân tích đăng nhập vào website
Khi xử lí thực hiện việc đăng nhập vào website của người dùng, Lập trình viên thông thường sẽ thực hiện 02 thao tác như sau:
1. Lấy thông tin người đăng nhập thông qua phương thức post, (ở đây, không có lập trình viên nào tồi đến nỗi sử dụng phương thức get đâu nhỉ?), ở đây chỉ có 2 trường dữ liệu là tài khoản đăng nhập và mật khẩu, ở đây mình tạm gọi là user, pass cho ... IT nhé.
2. Thực hiện câu lệnh SQL để kiểm tra user, pass có trùng trong dữ liệu hay không? nếu có thì ---> đăng nhập thành công và chuyển trang vào phần quản trị web để người dùng quản lí dữ liệu của mình.
Câu lệnh như sau: (Minh họa bằng code PHP và dữ liệu MySQL
Rõ ràng, xét về mặt logic thì đoạn chương trình trên hoạt động bình thường, cho kết quả đúng. Tuy nhiên, vấn đề không hề đơn giản như vậy. Hacker đầu óc nó quái dị (như mình chẳng hạn kaka ) - mình không chịu nhập vào những giá trị thông thường, mà hay nhập vào những thứ linh tinh vớ vẩn như sau:
Theo các bạn, chuyện gì sẽ xẩy ra?
Chúng ta kiểm tra từng bước nhé.
Dòng số 8 và dòng số 9, chương trình sẽ lấy 2 giá trị tương ứng, gán cho 2 biến $user và $pass.
Giá trị của chúng sẽ là:
$user = admin
$pass= ' OR '1'='1' --
Dòng số 10, 2 biến này sẽ được thay thế trong câu lệnh SQL
Câu lệnh SQL sẽ trở thành:
$sql = SELECT * FROM itnetvn_user WHERE user_name='admin' AND password='' OR '1'='1' --
Rõ ràng, trong mệnh đề OR, chỉ cần 1 đúng là tất cả đều đúng. Do đó, với câu lệnh này, chương trình sẽ lấy toàn bộ tài khoản có trong bảng: itnetvn_user.
Điều đó chứng tỏ dòng số 12 là mệnh đề đúng (ngoại trừ trường hợp bảng: itnetvn_user không có tài khoản nào )
Chuyện gì đến nó sẽ đến!
Xem thêm
Bài viết khác:
-
Bảo mật website – ý thức admin - người gát đền cho website của bạn - 11:31 | 08/06/2012
-
Cách chôm mật khẩu yahoo. Hacker đã trộm mật khẩu, hack mật khẩu của bạn như thế nào? - 11:29 | 08/06/2012
-
Nhận diện link an toàn trước khi nhấn chuột! Một cách bảo vệ máy tính của bạn tránh virus - 11:28 | 08/06/2012
-
Kiểm tra sự thâm nhập của hacker vào mã nguồn website 1 cách tự động - 11:26 | 08/06/2012
-
Website 5giay.vn bị hacker làm thịt rồi - bị chèn virus?! - 11:24 | 08/06/2012
-
Google, Facebook cảnh báo Internet sẽ bị phá sập vào 9/7 - internet sẽ đóng băng - 11:23 | 08/06/2012
Sản phẩm Xem nhiều
-
37072
Nhiệt kế tự ghi... call 29500
Thiết bị ghi nhiệt... call 26195
Nhiệt ẩm kế tự... call 24279
Chỉ thị đông băng... call
-
23653
Nhiệt ẩm kế tự... call 22049
Nhiệt kế tự ghi... call 18636
Nhiệt kế tự ghi PicoLite call 17632
Nhiệt kế tự ghi... call
-
16063
Thiết bị ghi nhiệt... call 15421
Thiết bị ghi nhiệt... call 13302
Nhiệt ẩm kế điện... call 13241
Nhiệt ẩm kế tự... call
