1. Tìm kiếm trang bị dính lỗ hổng SQL Injection
Hiện nay có hàng triệu trang web trên internet. Vậy làm thế nào để biết được rằng trang web nào là bị dính lỗ hổng? Trước khi tìm được câu trả lời thì hãy giải đáp một số vấn đề như sau:
1.1 SQL Injection là gì?
Là một dạng lỗ hổng đánh vào Database. Nhằm khai thác thông tin được lưu trữ trong Database Server. Những thông tin được lưu trong đây có thể là username, password, số tài khoản, email, SĐT, thông tin khách hàng,...
Hacker sẽ chèn vào câu truy vấn SQL nhằm truy xuất dữ liệu lưu trữ. Hay nói cách khác là hacker sẽ giao tiếp gián tiếp với Database Server thông qua một bên thứ 3 (Có thể là một website).
1.2 Nguyên nhân xảy ra lỗ hổng?
- Do thiếu kiểm tra đầu vào trên trang web
- Do sử dụng câu truy vấn dạng nối chuỗi
- Do thiếu chính sách bảo mật về CSDL (user thường có thể truy cập vào db)
- Do sử dụng framework cũ đã bị dính lỗ hổng từ trước
Và một số nguyên nhân khác...
1.3 Cách nhận biết?
Thử nghiệm kiểm tra URL chứa php?id=1. Với "id" có thể thay bằng một số keyword khác như cat,... Và 1 là số nguyên, có thể là 2,3,4...
Vậy làm thế nào để kiểm tra được website nào chứa URL như vậy trong khi có hàng triệu trang web đang tồn tại trên google?
2. Cách tìm kiếm website dính lỗ hổng SQL Injection
Có 2 cách để tìm kiếm như sau:
2.1 Thủ công
Cách này chúng ta sẽ vào trang web bất kì và thu thập thông tin về domain của trang web đó bằng một số công cụ thự động như waybackurl, dirb...
Giả sử trang web này là target mà bạn đang muốn pentest SQL Injection
Chúng ta sẽ sử dụng waybackurls để lấy toàn bộ url mà website này chứa như sau
Lệnh này sẽ truy xuất toàn bộ URL trên trang target và lưu vào file txt
Tiếp theo chúng ta sẽ lọc ra kết quả bằng lệnh grep như sau
Có thể thấy rằng trên trang URL này chứa một tham số id=xx (Một số nào đó). Đây cũng là dấu hiệu nhận biết rằng website này đang tồn tại lỗ hổng SQL Injection.
2.2 Sử dụng toán tử trên google
Toán thử "inurl" dùng để lọc những kết quả theo ý muốn cá nhân. Ví dụ như bạn muốn url xuất hiện "sqlinjection" thì chỉ cần nhập vào google: "inurl:"sqlinjection" " thì google sẽ trả về toàn bộ những trang web có URL chứa keyword "sqlinjection"
Áp dụng vào bài test này, chúng ta sẽ search như sau:
Lúc này kết quả google sẽ trả về những URL có php?id=1.
3. Khai thác lỗ hổng
Đầu tiên sẽ sử dụng sqlmap để thực hiện quét lỗ hổng trên trang target.

Với kết quả trả về là có 2 database đang tồn tại trên website này.
Tiếp tục, chúng ta sẽ sử dụng option -D là sử dụng database tìm thấy được (tranbien_hse) và option --tables để list ra các table tồn tại trong database tranbien_hse
Từ kết quả trả về, chúng ta có một list tables tồn tại. Chọn table account để testing kèm theo lệnh sqlmap với option -T và list ra các columns tương ứng
Từ kết quả cho thấy có column ten và matkhau đang tồn tại.
Chúng ta sẽ kiểm tra value của cả 2 column này với option --dumpKiểm tra value trên colum ten
Một số value được lưu dưới dạng cleartext ở column ten
Kiểm tra value trên colum matkhau Trái với column ten, colum matkhau đã được mã hóa
Với một số value mà column ten trả về thì hầu hết là SĐT. Ta kiểm tra SĐT bằng cách là search trên Zalo
Và còn một số thông tin khác như là dãy số này dường như là ngày tháng năm sinh của một khách hàng nào đó. Hacker có thể note lại và sử dụng chúng cho những nền tảng khác.
Từ đây có thể biết được là thông tin của khách hàng đã hoàn toàn bị lộ và hacker có thể đánh cắp nó. Dẫn đến việc khách hàng bị rò rỉ thông tin ra bên ngoài
4. Giải mã
Đầu tiên cần xác định thuật toán mã hóa mà target đang dùng là thuật toán gì?Sử dụng các công cụ giải mã để bẻ khóa password
Chúng ta thử sử dụng thuật toán MD5 để giải mã và tìm tool online. Sau đó paste matkhau mà muốn giải mã như ảnh dưới
Lúc này mã hash đã được giải mã là một dãy số 851978. Sau đó chúng ta có thể kết hợp username và password để login vào target.
NOTE: Blog này chỉ mang tính chất giáo dục, không
mong muốn sử dụng nhằm trục lợi cho cá nhân nào. Mọi hành vi cố tình sử dụng để
trục lợi, cố ý xâm hại riêng tư người khác hoặc không hợp pháp sẽ tự chịu trách
nhiệm trước pháp luật
Nhận xét
Đăng nhận xét