Professional Documents
Culture Documents
1. Giới thiệu
SQL Injection không còn là một khái niệm quá mới nhưng nó vẫn đang là
một trong những kiểu tấn công mạng phổ biến hiện nay .SQL Injection là
một trong những phương thức hack bằng cách chèn các mã SQL
query/command vào input trước khi chuyển cho ứng dụng web xử lí.
Attackers có thể login mà không cần username và password, remote
execution, dump data và lấy thông tin truy cập của hệ quản trị cơ sở dữ liêu
như: MSSQL, MYSQL
Nếu ta thử gõ ‘ or 1=1# . Thì sẽ nhận được kết quả là 5 users. Dấu “#”
ở đây có ý nghĩa là chỉ cho My SQL server biết đã hết dòng query, mọi
thứ còn lại sau "#" sẽ bị bỏ qua.
- Ngoài ra ta cũng có thể gõ thử: %' or 2=2 union select null, version() #
và submit
Gõ 0’ or 0=0 union SELECT user, password FROM users#, ta sẽ nhận được
KQ là ngoài first_name và last_name ra sẽ nhận được cả password của users
đã được encrypt bằng mã hash. Để có thể lấy được password hoàn chỉnh của
các users này thì đơn giản ta chỉ cần decrypt các mã này bằng một số web
online trên mạng.
- Gõ: %' and 1=0 union select null, concat(table_name,0x0a,column_name)
from information_schema.columns where table_name = 'users' #
Ở phần này ta không thể lấy thông tin dễ dàng như ở mức Low được mà
sẽ cần nhờ hỗ trợ của Burp Suit để giúp ta khai thác lỗ hổng.
Đầu tiên bật HTTP proxy và lấy port 8080, ngay sau đấy ta có thể kết
nối được với Burp Suit. Thử lấy id = 1 và ấn submit
Và ta có thể thử các lệnh như level LOW để khai thác SQL như:
1 or 0=0# sẽ lấy được first_name và last_name.