I. Lỗ hổng IDOR là gì ?
IDOR là một loại lỗ hổng kiểm soát truy cập phát sinh khi một ứng dụng sử dụng đầu vào do người dùng cung cấp để truy cập trực tiếp vào các đối tượng. Các lỗ hổng IDOR thường liên quan nhất đến việc leo thang đặc quyền theo chiều ngang, nhưng chúng cũng có thể phát sinh liên quan đến việc leo thang đặc quyền theo chiều dọc. 2 loại hay gặp:
- Lỗ hổng IDOR có tham chiếu trực tiếp đến các đối tượng cơ sở dữ liệu
Ví dụ: Khi thác lỗ hổng IDOR từ việc truy vấn dữ liệu back-end từ user_number theo URL: https://xxx/customer_account?user_number=132355
- Lỗ hổng IDOR có tham chiếu trực tiếp đến các tệp tĩnh
Lỗ hổng IDOR thường phát sinh khi các tài nguyên nhạy cảm nằm trong các tệp tĩnh trên hệ thống tệp phía máy chủ Ví dụ: Trang Web có thể lưu bản ghi tin nhắn trò chuyện vào đĩa bằng cách sử dụng tên tệp tăng dần và cho phép người dùng truy xuất những bản ghi này bằng cách truy cập một URL như sau:
https://insecure-website.com/static/12144.txt
Trong tình huống này, hacker có thể chỉ cần sửa đổi tên tệp để truy xuất bản ghi do người dùng khác tạo và có khả năng lấy được thông tin xác thực của người dùng cũng như dữ liệu nhạy cảm khác.
II. Cách khai thác
Chúng ta có thể sử dụng Burp Suite để khai thác lỗ hổng này bằng việc sử dụng 2 extension Autorize và AutoRepeater.
- Cài đặt extension Autorize
Autorize là một tiện ích mở rộng nhằm giúp người kiểm tra thâm nhập phát hiện các lỗ hổng ủy quyền, một trong những nhiệm vụ tốn nhiều thời gian hơn trong kiểm tra thâm nhập ứng dụng web. Chỉ cần cung cấp cho tiện ích mở rộng cookie của người dùng có đặc quyền thấp và điều hướng trang web với người dùng có đặc quyền cao là đủ. Tiện ích mở rộng tự động lặp lại mọi yêu cầu với phiên của người dùng có đặc quyền thấp và phát hiện các lỗ hổng ủy quyền. Cũng có thể lặp lại mọi yêu cầu mà không cần bất kỳ cookie nào để phát hiện các lỗ hổng xác thực bên cạnh các lỗ hổng ủy quyền. Plugin hoạt động mà không cần bất kỳ cấu hình nào nhưng cũng có khả năng tùy chỉnh cao, cho phép định cấu hình mức độ chi tiết của các điều kiện thực thi ủy quyền cũng như yêu cầu nào plugin phải kiểm tra và yêu cầu nào không. Có thể lưu trạng thái của plugin và xuất báo cáo kiểm tra ủy quyền ở dạng HTML hoặc CSV.
Trước tiên, chúng ta tải Jython tại: http://www.jython.org/download.html Sau đó vào BurpSuite và thực hiện theo các bước sau : Extender -> Options -> Python Environment -> Select File -> Select file jython.jar
Tiếp tục install Autorize tại BApp: Extender -> BApp -> Autorize -> Install
Mở Burp Suite, đi đến BApp Store tab.
setInterval(() => { window.open("A"); }, 240000);