Home / Thủ Thuật / Hacking / Web2: SQL injection – Các con đường khai thác khác

Web2: SQL injection – Các con đường khai thác khác

Thông qua cookies


Cookies là những tệp tin lưu trữ thông tin trạng thái của người dùng khi truy cập các ứng dụng web. Những thông tin này do người lập trình quyết định, được tạo ra ở server và lưu trữ tại client. Khi người dùng truy cập lại ứng dụng web, cookies được browser gửi lên server giúp phục hồi lại những trạng thái của người dùng trong lần truy cập trước đó. Do được lưu trữ ở client nên người dùng có thể chỉnh sửa tùy ý, vì vậy nếu ứng dụng web sử dụng những thông tin lưu trong cookies để xây dựng các truy vấn tới cơ sở dữ liệu thì hacker hoàn toàn có thể chèn vào cookies những script sql để thực hiện một cuộc tấn công Sql Injection.
Có nhiều công cụ cho phép xem, thêm mới và chỉnh sửa cookie, trong đó addon Cookies Manager của firefox là một công cụ khá tiện lợi. Ta có thể tải về và cài đặt vào firefox một cách dễ dàng.

Click image for larger version. 

Name:	image001.jpg 
Views:	215 
Size:	73.6 KB 
ID:	743

Bây giờ, chúng ta cùng thực hiện việc khai thác thông qua cookie.
Các bạn truy cập vào link sau: http://zerocoolhf.altervista.org/level4.php?id=1

Click image for larger version. 

Name:	image002.jpg 
Views:	215 
Size:	54.4 KB 
ID:	744

Ở đây, ta sẽ dụng addon Live HTTP headers của firefox để thực hiện việc khai thác.

Click image for larger version. 

Name:	image003.jpg 
Views:	215 
Size:	63.2 KB 
ID:	745

Sau khi khởi chạy Live HTTP headers, chúng ta tải lại trang lần nữa để Live HTTP headers bắt các request gửi lên server. Chọn lần lượt như hình sau:

Click image for larger version. 

Name:	image004.jpg 
Views:	216 
Size:	55.8 KB 
ID:	746

Một cửa sổ mới hiện ra cùng với nội dung cookie: exploit=1

Click image for larger version. 

Name:	image005.jpg 
Views:	216 
Size:	68.7 KB 
ID:	747

Sửa giá trị của exploit thành như sau: exploit=1’/**/union/**/select/**/1,@@version,database(),4/**/limit/**/1,1–%0b-
Chọn Replay và xem kết quả.

Click image for larger version. 

Name:	image006.jpg 
Views:	215 
Size:	91.7 KB 
ID:	748

Kết quả:

Click image for larger version. 

Name:	image007.jpg 
Views:	216 
Size:	90.3 KB 
ID:	749

Như vậy, ta xác định được phiên bản của hệ quản trị cơ sở dữ liệu là MySQL 5.1.71-community-log và tên của cơ sở dữ liệu là my_zerocoolhf.

Thông qua các biến server

Biến server có thể là một khái niệm tương đối lạ lẫm nhưng nó không hề mới. Một số ví dụ của biến server là Http header, Network header… Không phổ biến lắm nhưng các giá trị được lưu trong biến server có thể được ứng dụng web sử dụng như trong việc logging truy cập hay thống kê truy cập theo user agent… Những công việc này đều có sự tương tác với cơ sở dữ liệu nên các hacker hoàn toàn có thể sử dụng các biến server trong việc khai thác Sql Injection.

Các addon của firefox hỗ trợ rất tốt những việc này, Tamper Data hay Live HTTP headers (đã được ví dụ ở trên) có thể giúp chúng ta bắt những request gửi từ client lên web server, từ đó chúng ta có thể dễ dàng thay đổi các biến server (http header…) trước khi gửi chúng tới server. Việc khai thác thông qua các biến server tương tự như khai thác thông qua cookie.

Tamper Data:

Click image for larger version. 

Name:	image008.jpg 
Views:	213 
Size:	68.8 KB 
ID:	750


Second-order Injection

Đây là kỹ thuật ít được sử dụng vì rất khó để nhận biết một ứng dụng web có bị mặc lỗi này hay không. Kỹ thuật này được mô tả như sau : Trước hết, ta sẽ “inject” vào cơ sở dữ liệu một đoạn mã. Đoạn mã này chưa hề gây nguy hiểm cho hệ thống nhưng nó sẽ được sử dụng làm bàn đạp cho lần inject tiếp theo. Chúng ta hãy xem một ví dụ cụ thể để hiểu hơn về kỹ thuật này.

Chúng ta sẽ truy cập vào một ứng dụng web và tìm cách đăng ký một tài khoản có username là “administrator’ —“. Sau đó chúng ta sẽ thực hiện thao tác thay đổi mật khẩu. Thao tác thay đổi mật khẩu được ứng dựng web xử lý như sau :

Click image for larger version. 

Name:	image009.jpg 
Views:	215 
Size:	7.9 KB 
ID:	751

Với username đã đăng ký ở trên, câu truy vấn trên trở thành :

Click image for larger version. 

Name:	image010.jpg 
Views:	215 
Size:	6.1 KB 
ID:	752

Như vậy, ta có thể thay đổi được password của tài khoản administrator và hoàn toàn có thể đăng nhập dưới tên tài khoản administrator.

Print Friendly

About dongpolice

Check Also

cài đặt ffmeg

Cài đặt FFmpeg + FFmpeg-PHP +Lame + Ruby + Mplayer + Mencoder + flv2tool

Cài đặt FFmpeg + FFmpeg-PHP +Lame + Ruby + Mplayer + Mencoder + flv2tool Để …