Task 10Proxy Proxying HTTPS:
Bạn sẽ nhận được một lỗi.
Cụ thể, Firefox cho biết rằng Tổ chức phát hành chứng chỉ Portswigger (CA) không được phép bảo mật kết nối.
May mắn thay, Burp cung cấp cho bạn một cách dễ dàng để giải quyết vấn đề này. Bạn cần đưa Firefox đến các kết nối tin cậy được bảo mật bằng chứng chỉ Portswigger, vì vậy bạn sẽ thêm chứng chỉ CA vào danh sách các tổ chức phát hành chứng chỉ đáng tin cậy của họ theo cách thủ công.
Đầu tiên, với phần đầu được kích hoạt proxy tới http://burp/cert; điều này sẽ tải xuống một tệp có tên
cacert.der
- lưu nó ở đâu đó trên máy của bạn.Tiếp theo, nhập
about:preferences
vào thanh tìm kiếm của Firefox và nhấn enter; điều này sẽ đưa bạn đến trang cài đặt FireFox. Tìm kiếm "chứng chỉ" trên trang và bạn tìm thấy tùy chọn để "Xem chứng chỉ":Nhấp vào nút "Xem chứng chỉ" cho phép bạn xem tất cả các chứng chỉ CA đáng tin cậy. Bạn có thể đăng ký chứng chỉ mới cho Portswigger bằng cách nhấn "Nhập" và chọn tệp mà bạn vừa tải xuống.
Trong menu bật lên, chọn "Tin cậy CA này để xác định trang web", sau đó nhấp vào Ok:
Giờ đây, bạn có thể tự do truy cập bất kỳ trang web nào hỗ trợ TLS!
Video sau đây cho thấy toàn bộ quá trình thêm chứng chỉ:
Task 11Proxy The Burp Suite Browser
Nếu một số nhiệm vụ có vẻ quá phức tạp, hãy yên tâm, chủ đề này sẽ đơn giản hơn rất nhiều.
Ngoài việc cung cấp cho bạn tùy chọn sửa đổi trình duyệt web thông thường của bạn để hoạt động với proxy, Burp Suite cũng bao gồm trình duyệt Chromium tích hợp được định cấu hình trước để sử dụng proxy mà không cần bất kỳ sửa đổi nào mà bạn vừa phải thực hiện.
Mặc dù điều này có vẻ lý tưởng, nhưng nó không được sử dụng phổ biến như quy trình chi tiết trong một vài nhiệm vụ trước đó. Mọi người có xu hướng gắn bó với trình duyệt của riêng họ vì nó mang lại cho họ nhiều khả năng tùy biến hơn; tuy nhiên, cả hai đều là sự lựa chọn hoàn toàn hợp lệ.
Bạn có thể khởi động Trình duyệt Burp bằng nút "Mở Trình duyệt" trong tab proxy:
Một cửa sổ Chromium bây giờ sẽ bật lên. Bất kỳ yêu cầu nào bạn thực hiện trong điều này sẽ được chuyển qua proxy.
Lưu ý: Có nhiều cài đặt cần thực hiện với Trình duyệt Burp trong các tab Tùy chọn dự án và Tùy chọn người dùng - hãy nhớ xem chúng!
Nếu bạn đang chạy trên Linux với tư cách là người dùng root, Burp Suite không thể tạo môi trường hộp cát để khởi động Trình duyệt Burp, khiến trình duyệt này gặp lỗi và chết:
- Tùy chọn thông minh: bạn có thể tạo một người dùng mới và chạy Burp Suite với tài khoản có đặc quyền thấp.
- Tùy chọn dễ dàng: bạn có thể đi tới
Project options -> Misc -> Embedded Browser
và chọnAllow the embedded browser to run without a sandbox
. Chọn tùy chọn này sẽ cho phép trình duyệt khởi động, nhưng lưu ý rằng nó bị tắt theo mặc định vì lý do bảo mật: nếu chúng tôi bị xâm nhập khi sử dụng trình duyệt, thì kẻ tấn công sẽ có quyền truy cập vào toàn bộ máy của bạn. Nhưng hãy ghi nhớ nếu bạn thử điều này trên bản cài đặt cục bộ của Burp Suite.
Task 12Proxy Scoping and Targeting
Cuối cùng, bạn sẽ đến với một trong những phần quan trọng nhất của việc sử dụng Burp Proxy:Scoping.
Việc Burp thu thập tất cả lưu lượng truy cập của bạn có thể trở nên vô cùng tẻ nhạt. Khi nó ghi lại mọi thứ (bao gồm cả lưu lượng truy cập đến các trang web mà bạn không nhắm mục tiêu), nó sẽ làm xáo trộn các nhật ký mà sau này bạncó thể muốn gửi cho khách hàng. Nói tóm lại, việc cho phép Burp nắm bắt mọi thứ có thể nhanh chóng trở thành một nỗi đau lớn.
Giải pháp là gì? Xác định phạm vi.
Đặt phạm vi cho dự án cho phép bạn xác định những gì được ủy quyền và ghi lại. Bạn có thể hạn chế Burp Suite chỉ nhắm mục tiêu (các) ứng dụng web mà bạn muốn thử nghiệm. Cách dễ nhất để làm điều này là bằng cách chuyển sang tab "Mục tiêu", nhấp chuột phải vào mục tiêu của chúng tôi từ danh sách của chúng tôi ở bên trái, sau đó chọn "Thêm vào phạm vi". Sau đó, Burp sẽ hỏi chúng tôi xem bạn có muốn ngừng ghi lại bất kỳ thứ gì không thuộc phạm vi hay không - hầu hết thời gian bạn muốn chọn "có" ở đây.
Bây giờ bạn có thể kiểm tra phạm vi của mình bằng cách chuyển sang tab phụ "Scope" (như được hiển thị trong ảnh GIF ở trên).
Tab phụ Scope cho phép bạn kiểm soát những gì bạn đang nhắm mục tiêu bằng cách Bao gồm hoặc Loại trừ miền/IPs. Đây là một phần rất mạnh mẽ, vì vậy bạn nên dành thời gian để làm quen với việc sử dụng nó.
Bạn vừa chọn tắt ghi nhật ký đối với lưu lượng truy cập ngoài phạm vi, nhưng proxy vẫn sẽ chặn mọi thứ. Để tắt tính năng này, chúng ta cần chuyển đến tab phụ Tùy chọn proxy và chọn "
And
URL
Is in target scope
" từ phần Yêu cầu ứng dụng khách chặn:Với tùy chọn này được chọn, proxy sẽ hoàn toàn bỏ qua bất kỳ thứ gì không có trong phạm vi, làm sạch đáng kể lưu lượng truy cập qua Burp.
Task 13 Proxy Site Map and Issue Definitions
Kiểm soát phạm vi có thể là khía cạnh hữu ích nhất của tab Target, nhưng nó không phải là cách sử dụng duy nhất cho phần này của Burp.
Có ba tab phụ trong Target:
- Sơ đồ trang web cho phép bạn vạch ra các ứng dụng mà bạn đang nhắm mục tiêu theo cấu trúc cây. Mọi trang bạn truy cập sẽ hiển thị ở đây, cho phép bạn tự động tạo sơ đồ trang web cho mục tiêu chỉ đơn giản bằng cách duyệt qua ứng dụng web. Burp Pro cũng sẽ cho phép bạn tìm kiếm các mục tiêu một cách tự động (tức là xem qua mọi trang để tìm các liên kết và sử dụng chúng để vạch ra phần lớn trang web có thể truy cập công khai bằng cách sử dụng các liên kết giữa các trang); tuy nhiên, với Cộng đồng Burp, bạn vẫn có thể sử dụng điều này để tích lũy dữ liệu trong khi thực hiện các bước liệt kê ban đầu.Sơ đồ trang web có thể đặc biệt hữu ích nếu chúng tôi muốn vạch ra một API, vì bất cứ khi nào chúng tôi truy cập một trang, bất kỳ điểm cuối API nào mà trang đó truy xuất dữ liệu trong khi tải sẽ hiển thị ở đây.
- Phạm vi: bạn đã thấy tab phụ Phạm vi - nó cho phép bạn kiểm soát phạm vi mục tiêu của Burp cho dự án.
- Định nghĩa vấn đề: Mặc dù bạn không có quyền truy cập vào trình quét lỗ hổng Burp Suite trong Cộng đồng Burp, bạn vẫn có quyền truy cập vào danh sách tất cả các lỗ hổng mà nó tìm kiếm. Phần Định nghĩa vấn đề cung cấp cho bạn một danh sách khổng lồ các lỗ hổng web (hoàn chỉnh với mô tả và tài liệu tham khảo) mà bạn có thể rút ra từ đó nếu bạn cần trích dẫn cho một báo cáo hoặc trợ giúp mô tả lỗ hổng.
Task 14 Practical Example Attack
Chúng ta sẽ bắt đầu tấn công thử tại
https://MACHINE_IP/ticket/
:Trong một ứng dụng web trong thế giới thực, bạn sẽ kiểm tra nhiều lỗi: một trong số đó sẽ là Cross-Site Scripting (hoặc XSS). Nếu bạn chưa gặp XSS, nó có thể được coi là việc đưa một tập lệnh phía máy khách (thường là trong Javascript) vào một trang web theo cách mà nó thực thi. Có nhiều loại XSS khác nhau - loại mà bạn đang sử dụng ở đây được gọi là XSS "Reflected" vì nó chỉ ảnh hưởng đến người đưa ra yêu cầu web.
Hãy bắt đầu nào.
Thử nhập:
<script>alert("Succ3ssful XSS")</script>
, vào trường "Email Liên hệ". Bạn sẽ thấy rằng có một bộ lọc phía máy khách ngăn bạn thêm bất kỳ ký tự đặc biệt nào không được phép vào địa chỉ email:May mắn thay cho bạn, các bộ lọc phía máy khách rất dễ bị bỏ qua. Có nhiều cách bạn có thể vô hiệu hóa tập lệnh hoặc chỉ ngăn nó tải ngay từ đầu.
Bây giờ chúng ta hãy tập trung vào việc bỏ qua bộ lọc một cách đơn giản.
Trước tiên, hãy đảm bảo rằng Burp Proxy của bạn đang hoạt động và hệ thống chặn đang bật
Bây giờ, hãy nhập một số dữ liệu hợp pháp vào biểu mẫu hỗ trợ. Ví dụ: "pentester@example.thm" dưới dạng địa chỉ email và "Kiểm tra tấn công" dưới dạng truy vấn.
Gửi biểu mẫu - yêu cầu sẽ bị chặn bởi proxy.
Với yêu cầu được ghi lại trong proxy, giờ đây bạn có thể thay đổi trường email thành tải trọng rất đơn giản của bạn từ phía trên:
<script>alert("Succ3ssful XSS")</script>
. Sau khi truyền vào payload, chúng ta cần chọn nó, sau đó mã hóa URL bằng phím tắt Ctrl + U
để gửi yêu cầu. Quá trình này được hiển thị trong GIF bên dưới:Cuối cùng, nhấn nút "Chuyển tiếp" để gửi yêu cầu.
Bạn sẽ thấy rằng bạn nhận được một hộp cảnh báo từ trang web cho biết một cuộc tấn công XSS thành công!
0 Comments