sqli-labs: Các bài labs tuyệt vời để tìm hiểu lỗ hổng SQLi

DDos

VIP Members
22/10/2013
524
2.191 bài viết
sqli-labs: Các bài labs tuyệt vời để tìm hiểu lỗ hổng SQLi
SQL injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp. SQL injection có thể cho phép những kẻ tấn công thực hiện các thao tác, delete, insert, update, v.v. trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy.

Mặc dù, đã trải qua rất nhiều năm kể từ khi lỗ hổng SQLi đầu tiên được phát hiện, SQLi vẫn là lỗ hổng rất phổ biến trong ứng dụng web. Trên Whitehat cũng có một seri hướng dẫn về lỗ hổng này, các bạn có thể tham khảo tại đây.

Nhằm mục đích trau dồi kỹ năng phát hiện lỗ hổng SQLi, mình muốn giới thiệu tới các bạn sqli-labs project. Project này bao gồm 65 bài lab khác nhau với độ khó tăng dần. Nội dung của sqli-labs bao gồm gần như tất cả các con đường có thể dẫn tới lỗi SQLi như: GET/POST request, User-Agent, ... Mình tin chắc rằng nếu bạn có thể vượt qua được 65 bài lab này, bạn có thể dễ dàng tìm kiếm lỗ hổng sqli trên các website.

Để cài đặt sqli-lab, các bạn cần:
  • PHP
  • MySQL
  • Apache server
Bước 1: Tải sqli-labs tại đây.
Bước 2: Giải nén file vừa tải vào đường dẫn /var/www/html
Bước 3: Mở file db-creds.inc trong thư mục sql-connections vào thay đổi MYSQL database username và password
Bước 4: Khởi chạy Apache server và dùng trình duyệt truy cập đường dẫn: http://localhost/sqli-labs
Bước 5: Click vào đường dẫn setup/resetDB

sqli-labs.png
 
Các bạn ơi mình không hiểu lắm phần thay đổi thông tin trong file database, các bạn có thể chỉ mình được không. mình tạo một database trong phpmyadmin rồi đổi dbname trong file db-creds.inc còn uername vs passsuername mình để là: root và không có pass nhưng vẫn k được, hướng dẫn mình chưa hiểu lắm, mong các bạn chỉ rõ hơn, cám ơn các bạn
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Các bạn ơi mình không hiểu lắm phần thay đổi thông tin trong file database, các bạn có thể chỉ mình được không. mình tạo một database trong phpmyadmin rồi đổi dbname trong file db-creds.inc còn uername vs passsuername mình để là: root và không có pass nhưng vẫn k được, hướng dẫn mình chưa hiểu lắm, mong các bạn chỉ rõ hơn, cám ơn các bạn
Khi bạn cài đặt mysql, sẽ có phần thiết lập mật khẩu cho user mặc định là root.
MySQLPasswordLinux.png

Thì bạn sẽ điền trong mục user và pass trong file db-creds.inc là mật khẩu lúc bạn cài đặt mysql.
 
Comment
Mình làm như vầy thì nó báo lỗi như sau:
upload_2018-8-13_17-42-31.png


tài khoản user - pass phpmyadmin của mình là mặc định.

upload_2018-8-13_17-44-35.png


upload_2018-8-13_17-43-9.png
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Có lẽ là do sqli-labs chưa hỗ trợ php7. Bạn thử cài php5.6 xem.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Chỉnh lại php 5.6 thì vào được phần setup database nhưng sau khi tự động kiểm tra và tạo database tên security
(mình đã chỉnh lại file db-creds.inc như sau:)

upload_2018-8-14_21-52-5.png


Thì nó lại thông báo lỗi như vầy, không biết do lỗi ở đâu, bạn có thể chỉ mình được không
(chỉnh lại thông tin host thành $host = 'localhost'; vẫn bị như hình)
upload_2018-8-14_21-53-5.png
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
@nguyễn lê tuấn bạn cho mình hỏi server bạn đang dùng là gì vậy? LAMP hay ....

Để đơn giản hơn bạn có thể dùng docker với lệnh dưới đây:
docker pull tuxotron/audi_sqli
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên