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

Mask

VIP Members
03/07/2013
31
25 bài viết
Web2: SQL injection - Các con đường khai thác khác
Web2: SQL injection - Các con đường khai thác khác


Các chuyên đề nhỏ cùng chủ đề:

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.

1490892980image001.jpg

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

1490892980image002.jpg

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

1490892980image003.jpg

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:

1490892980image004.jpg

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

1490892980image005.jpg

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ả.


1490892980image006.jpg



Kết quả:
1490892980image007.jpg

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:

1490892980image008.jpg


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 :
1490892980image009.jpg

Với username đã đăng ký ở trên, câu truy vấn trên trở thành :
1490892980image010.jpg
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.

Các bạn quan tâm có thể theo dõi chuyên đề tiếp theo - "Web3: SQL injection - Kỹ thuật khai thác: Các hướng khai thác"
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
  • Thích
Reactions: dinhlongbk
Bản
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
firefox của mình phiên bản 55.0.2 (64bit) thêm live http headers nó báo không đúng phiên bản. phải làm thế nào đây?
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
firefox của mình phiên bản 55.0.2 (64bit) thêm live http headers nó báo không đúng phiên bản. phải làm thế nào đây?
Live Http Headers đã lâu không cập nhật nên không tương thích với các bản Firefox mới như 55.0.2 bạn nhé.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mình đang nghiên cứu "Web2: SQL injection - Các con đường khai thác khác" liên quan cái này giờ phải cài bản cũ hay có cách khác ah?
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Mình đang nghiên cứu "Web2: SQL injection - Các con đường khai thác khác" liên quan cái này giờ phải cài bản cũ hay có cách khác ah?

Bạn có thể tìm công cụ khác hoặc dùng phiên bản cũ FireFox tương thích Live Http Headers.
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Web2: SQL injection - Các con đường khai thác khác


Các chuyên đề nhỏ cùng chủ đề:


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.

1490892980image001.jpg

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

1490892980image002.jpg

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

1490892980image003.jpg

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:

1490892980image004.jpg

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

1490892980image005.jpg

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ả.


1490892980image006.jpg



Kết quả:
1490892980image007.jpg

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:

1490892980image008.jpg


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 :
1490892980image009.jpg

Với username đã đăng ký ở trên, câu truy vấn trên trở thành :
1490892980image010.jpg
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.

Các bạn quan tâm có thể theo dõi chuyên đề tiếp theo - "Web3: SQL injection - Kỹ thuật khai thác: Các hướng khai thác"
tìm đuôi aspx id= của một trang web bất kỳ thì phải làm gì ??
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
em có thể replay trên google bằng cách nào ạ?
 
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Comment
Bên trên