I. Tổng quan về công cụ Burpsuite
1. Burp Suite là gì?
Burp Suite là bộ công cụ kiểm thử bảo mật ứng dụng web được phát triển bởi PortSwigger. Đây là một nền tảng tích hợp nhiều công cụ phục iụ toàn bộ quy trình pentest, từ chặn và phân tích request đến thực hiện tấn công brute-force, fuzzing hay quét lỗ hổng tự động. Nhờ cơ chế hoạt động như một proxy trung gian, Burpsuite giúp quan sát toàn bộ lưu lượng HTTP/HTTPS giữa trình duyệt và máy chủ. Điều này cho phép pentester kiểm soát mọi khía cạnh của dữ liệu, từ các tham số API cho đến cookie, token hay session. Burp Suite giúp người dùng đánh giá các tiêu chí bảo mật web như: Tiến hành kiểm tra cơ chế xác thực, kiểm tra các vấn đề về phiên bản người dùng hay liệt kê cũng như đánh giá các tham số đầu vào của ứng dụng trang web.
2. Công dụng của Burpsuite
Burp Suite được sử dụng trong hầu hết các hoạt động kiểm thử bảo mật web, từ đơn giản đến nâng cao. Một trong những ứng dụng quan trọng nhất là chặn và phân tích request-response. Burp Proxy cho phép người dùng quan sát toàn bộ dữ liệu trình duyệt gửi đi hoặc server trả về. Nhờ vậy, pentester có thể phát hiện điểm yếu trong tham số, cookie, token hoặc cấu trúc API.
Ngoài ra, Burp Suite còn hỗ trợ kiểm thử API từ REST, GraphQL đến SOAP. Việc chỉnh sửa request trở nên linh hoạt hơn bao giờ hết. Người dùng có thể gửi lại request nhiều lần bằng Burp Repeater để kiểm tra từng payload, hoặc sử dụng Intruder để tự động hóa các thử nghiệm brute-force, fuzzing hay khai thác tham số. Với bản Professional, Burp Scanner giúp tự động phát hiện hàng trăm lỗ hổng như SQL Injection, XSS, CSRF, SSRF, IDOR hay lỗi cấu hình bảo mật. Đây là tính năng cực kỳ giá trị trong môi trường doanh nghiệp.
Burp Suite cũng là công cụ mạnh mẽ trong kiểm thử logic nghiệp vụ, đây là một dạng lỗ hổng mà các công cụ tự động thường không thể nhận diện. Nhờ khả năng tùy chỉnh request dễ dàng, pentester có thể mô phỏng hành vi bất thường để xác định các điểm yếu trong quy trình như thanh toán, phân quyền hay xác thực.

Ưu điểm của việc chúng ta chọn burpsuite để sử dụng:
Burp Suite được đánh giá cao nhờ giao diện trực quan, dễ sử dụng ngay cả với người mới. Proxy của Burp là công cụ mạnh nhất trong số các giải pháp kiểm thử vì khả năng chặn và chỉnh sửa request linh hoạt. Bản Professional mang lại khả năng quét lỗ hổng sâu và hỗ trợ phát hiện nhiều dạng tấn công phức tạp. Hệ sinh thái plugin phong phú cũng giúp Burp có khả năng mở rộng gần như vô hạn.
II. Tổng quan về lỗ hổng IDOR
1. IDOR là gì?
IDOR là cụm từ viết tắt của Insecure Direct Object Reference (Tham chiếu đối tượng trực tiếp không an toàn). Lỗ hổng này nằm trong TOP 10 lỗ hổng nguy hiểm mà OWASP đã đưa ra IDOR. Lỗ hổng này xảy ra khi chương trình cho phép người dùng truy cập tài nguyên (dữ liệu, file, thư mục, database..) một cách trực tiếp thông qua dữ liệu do người dùng cung cấp nhưng kém an toàn. Những dữ liệu này thường là những dữ liệu quan trọng, dữ liệu nhạy cảm hoặc không quyền sở hữu của hacker, những dữ liệu public và cho phép bất kì ai truy cập không thuộc phạm vi của lỗ hổng này.
Một ví dụ cụ thể :
Giả sử một trang web có chức năng xem chi tiết thông tin người dùng bằng ID của mình, hiện tại sẽ có 2 người dùng A,B. Người dùng A có ID là 1000 và người dùng B có ID là 1002.
Theo logic đúng, người dùng A chỉ có thể xem thông tin chi tiết của mình với ID là 1000 và người dùng B cũng vậy với ID là 1002. Nhưng với một trang web triển khai sai, thì người dùng A có thể xem thông tin của người dùng B chỉ bằng cách thay ID từ 1000 thành 1002.
IDOR được chọn làm chủ đề nghiên cứu vì đây là một trong những lỗ hổng phổ biến và nguy hiểm nhất hiện nay, liên tục xuất hiện trong danh sách OWASP Top 10 dướ…
IDOR được chọn làm chủ đề nghiên cứu vì đây là một trong những lỗ hổng phổ biến và nguy hiểm nhất hiện nay, liên tục xuất hiện trong danh sách OWASP Top 10 dưới nhóm "Broken Access Control" — nhóm đứng vị trí số một từ năm 2021. Không giống các lỗ hổng đặc thù chỉ xuất hiện trên một nền tảng nhất định, IDOR có thể tồn tại trên hầu hết mọi ứng dụng web hiện đại, từ mạng xã hội đến hệ thống ngân hàng. Đặc biệt, đây là loại lỗ hổng dễ hiểu về khái niệm nhưng lại khó phát hiện và xử lý triệt để trong thực tế — điều đó khiến nó trở thành chủ đề vừa có giá trị học thuật, vừa mang tính ứng dụng thực tiễn cao.
2. Nguyên nhân và hậu quả
Nguyên nhân sâu xa của lỗ hổng IDOR nằm ở cơ chế phân quyền và kiểm soát truy cập người dùng trên website. Việc website không phân quyền đúng cũng như kiểm soát chặt chẽ việc truy cập tài nguyên của user trên hệ thống dẫn đến việc truy cập trái phép từ kẻ tấn công. Việc sử dụng tham chiếu truy cập tới đối tượng là một cách làm tiện lợi nhưng nếu không phân quyền rõ ràng theo ma trận phân quyền thì việc này lại tiềm ẩn nguy cơ lộ dữ liệu rất nguy hiểm.
IDOR không chỉ cho phép truy cập thông tin trái phép của người dùng khác mà còn có thể cho phép kẻ tấn công thực hiện thay đổi hoặc xóa dữ liệu của người dùng khác. Vì vậy lỗ hổng này có mức độ nguy hiểm rất cao, gây hậu quả nghiêm trọng tới người dùng. Đặc biệt là các hệ thống có dữ liệu quan trọng của người dùng như: mạng xã hội, tài chính - ngân hàng, y tế..
3. Ngăn chặn lỗi IDOR
Để ngăn chặn lỗi IDOR chúng ta chỉ cần ngăn chặn nguyên nhân gây ra lỗi:
- Phân quyền chặt chẽ người dùng
Nguyên nhân của lỗi IDOR nằm ở cơ chế phân quyền, vì vậy việc phát triển ứng dụng tuân thủ chặt chẽ việc phân quyền và kiểm tra quyền truy cập tới dữ liệu là điều quan trọng nhất. Luôn kiểm tra quyền truy cập của mỗi người dùng ở tất cả các request. Việc kiểm tra phân quyền luôn luôn cần thực hiện trên phía server, không kiểm tra ở phía client.
- Hạn chế tham chiếu trực tiếp tới đối tượng
Thay vì tham chiếu trực tiếp tới đối tượng như: users?user_id=123 chúng ta thực hiện hash giá trị id để thành chuỗi ngẫu nhiên dạng:
users?user_id=F1244AD6A71A9C6C9E08BA6D819D119FBD7944D0
Việc này không chống hoàn toàn lỗi IDOR nhưng sẽ khó khăn cho hacker có thể khai thác lỗ hổng vì chuỗi hash là rất khó đoán.
- Luôn luôn test cẩn thận ứng dụng.
- Luôn thực hiện kiểm tra đầy đủ ứng dụng theo các phương pháp test mà mình đã chia sẻ ở trên.
- Luôn bám sát tài liệu về phân quyền để kiểm tra ứng dụng tránh ứng dụng gặp lỗi IDOR.
III. Hướng dẫn cấu hình và cài đặt sử dụng Burpsuite
1. Cài đặt
Chúng ta sẽ cài Burp từ trang chủ của PortSwigger. Truy cập trang web https://portswigger.net/ để download bản cài đặt burpsuite về.

Hiện tại có 3 phiên bản cài đặt, vì chúng ta chỉ đang đi vào kiểm thử lỗ hổng IDOR ở mức cơ bản nên chi cần sử dụng phiên bản miễn phí Community Edition.
Nhập Email vào ô trống và link download sẽ được gửi về Email.
Do Burp Suite viết bằng Java. Vậy nên, máy phải cài Java nếu muốn sử dụng Burp. Sau khi download, chỉ cần chạy file .JAR lên để mở chương trình.
Khi cài đặt chúng ta chỉ cần ấn Next cho đến khi bảng welcome hiện ra. Chọn Temporary project in memory và Next và start burp bảng dashboard của burpsuite sẽ xuất hiện.

2. Cấu hình
Burp được thiết kế để sử dụng cùng với trình duyệt. Nó hoạt động giống như một HTTP proxy server, và tất cả HTTP(S) traffic đều sẽ đi qua Burp. Trước khi tiến hành làm việc với Burp, cần cấu hình để trình duyệt của mình làm việc với nó.
Có nhiều cách để cấu hình proxy, ở đây tôi sử dụng Extension “Fox Proxy” trên browser
Hướng dẫn cấu hình proxy để sử dụng Burpsuite:
Bước 1: Cài Certificate của Burp (BẮT BUỘC)
Phải làm bước này trước khi cài proxy, nếu không sẽ không bắt được HTTPS
Trên CHROME:
Bước 1.1 — Tải certificate
Mở Chrome →
Vào địa chỉ: http://127.0.0.1:8080
→ Trang Burp Suite hiện ra →
→ Click "CA Certificate" góc trên bên phải →
→ File "cacert.der" tải về máy
Bước 1.2 — Cài certificate vào Chrome
Chrome → Click dấu 3 chấm (góc trên phải) →
Settings →
Tìm kiếm "certificates" →
Click "Security" →
Kéo xuống click "Manage certificates" →
Cửa sổ mới hiện ra →
Tab "Trusted Root Certification Authorities" →
Click "Import" →
Click "Next" →
Click "Browse" → chọn file "cacert.der" vừa tải →
Click "Next" →
Click "Next" →
Click "Finish" →
Click "Yes" khi hỏi xác nhận
Trên EDGE:
Bước 1.3 — Tải certificate (giống Chrome)
Mở Edge →
Vào địa chỉ: http://127.0.0.1:8080
→ Click "CA Certificate" →
→ File "cacert.der" tải về
Bước 1.4 — Cài certificate vào Edge
Edge → Click dấu 3 chấm (góc trên phải) →
Settings →
Tìm kiếm "certificates" →
Click "Manage certificates" →
(Cửa sổ Windows Certificate Manager mở ra)
Tab "Trusted Root Certification Authorities" →
Click "Import" →
Click "Next" →
Click "Browse" → chọn file "cacert.der" →
Click "Next" → "Next" → "Finish" →
Click "Yes" xác nhận
Bước 2: Cài FoxyProxy trên Chrome và Edge
FoxyProxy giúp bật/tắt proxy nhanh mà không cần vào Settings mỗi lần
Bước 2.1 — Cài FoxyProxy trên CHROME
Vào link:
https://chrome.google.com/webstore/detail/foxyproxy/gcknhkkoolaabfmlnjonogaaifnjlfnp
→ Click "Add to Chrome" →
→ Click "Add extension"
Bước 2.2 — Cài FoxyProxy trên EDGE
Vào link:
https://microsoftedge.microsoft.com/addons/detail/foxyproxy/gcknhkkoolaabfmlnjonogaaifnjlfnp
→ Click "Get" →
→ Click "Add extension"
Bước 2.3 — Cấu hình FoxyProxy (làm trên CẢ 2 trình duyệt)
Click icon FoxyProxy (góc trên phải trình duyệt) →
Click "Options" hoặc "Manage" →
Click "Add" →
Điền vào:
-Title: Burp
-Type: HTTP
-Hostname: 127.0.0.1
-Port: 8080
→ Click "Save"

Bước 2.4 — Cách bật/tắt proxy
Khi muốn BẮT request:
Click FoxyProxy icon → Click "Burp" ← proxy bật, icon đổi màu
Khi dùng bình thường:
Click FoxyProxy icon → Click "Turn Off" ← tắt proxy
Bước 3 — Kiểm tra Burp đã hoạt động chưa
Bước 3.1
Burp Suite →
Click tab "Proxy" →
Click tab "HTTP History"
Bước 3.2
Chrome (đã bật FoxyProxy) →
Vào bất kỳ website nào (vd: google.com) →
Quay lại Burp → HTTP History →
Nếu thấy có request xuất hiện → ✅ Đã hoạt động!
Nếu không thấy gì → ❌ Kiểm tra lại proxy
IV. Các chức năng của Burp Suite Community Edition (Free)
1. Proxy
Đây là trái tim của toàn bộ Burp Suite. Proxy hoạt động như một người trung gian (man-in-the-middle) đứng giữa trình duyệt và web server — mọi request bạn gửi đi và mọi response server trả về đều phải đi qua đây.
Để sử dụng, bạn cấu hình trình duyệt trỏ proxy về địa chỉ 127.0.0.1:8080, sau đó Burp sẽ lắng nghe và chặn toàn bộ traffic. Khi bật chế độ Intercept On, mỗi request sẽ bị treo lại trong giao diện Burp, cho phép bạn đọc toàn bộ nội dung — headers, body, cookie, tham số — rồi tuỳ ý chỉnh sửa trước khi nhấn Forward để gửi đi, hoặc Drop để huỷ hoàn toàn. Với HTTPS, bạn cần cài chứng chỉ CA của Burp vào trình duyệt để nó có thể giải mã traffic được mã hoá.
Proxy là bước đầu tiên trong hầu hết mọi quy trình kiểm thử bảo mật web — không có nó thì các công cụ còn lại gần như không có dữ liệu để làm việc.
2. HTTP History
Nằm bên trong tab Proxy, HTTP History tự động lưu lại toàn bộ request và response đã đi qua Burp trong suốt phiên làm việc, kể cả khi bạn không bật Intercept. Đây là nơi bạn có thể rà soát lại mọi thứ sau một phiên duyệt web — xem ứng dụng đã gửi những gì, nhận về những gì, endpoint nào được gọi, tham số nào được truyền.
Từ HTTP History, bạn có thể click chuột phải vào bất kỳ request nào để gửi sang Repeater, Intruder hay các công cụ khác để phân tích sâu hơn. Đây thực chất là một trong những nơi bạn sẽ dành nhiều thời gian nhất khi làm việc với Burp.
3. Repeater
Repeater cho phép bạn lấy một request bất kỳ (thường từ HTTP History hoặc Intercept) rồi gửi đi gửi lại nhiều lần, mỗi lần tự tay chỉnh sửa nội dung theo ý muốn và xem ngay response trả về.
Ví dụ, bạn phát hiện một endpoint có tham số id=5, bạn có thể thay thử id=6, id=1, id=0, id=-1... để kiểm tra xem server có lọc đúng không — đây là cách test IDOR (Insecure Direct Object Reference) cơ bản nhất. Tương tự với SQL injection, bạn có thể thêm dấu ', " OR 1=1 --, hay các payload khác vào từng trường rồi quan sát phản ứng của server.
Repeater rất mạnh vì nó cho bạn toàn quyền kiểm soát từng chi tiết của request mà không cần chặn lại từ Proxy, phù hợp cho giai đoạn khai thác và xác minh lỗ hổng.
4. Intruder
Intruder là công cụ dùng để tự động hoá việc gửi nhiều request với các payload thay đổi theo danh sách định sẵn. Bạn đánh dấu một hoặc nhiều vị trí trong request (gọi là payload position), rồi cung cấp một danh sách giá trị — Intruder sẽ lần lượt thay thế và gửi từng request một, sau đó hiển thị toàn bộ kết quả để bạn so sánh.
Các ứng dụng phổ biến gồm: brute-force mật khẩu, username enumeration, fuzzing các tham số để tìm lỗi, hay thử danh sách path để tìm endpoint ẩn. Intruder có 4 chế độ tấn công khác nhau (Sniper, Battering Ram, Pitchfork, Cluster Bomb) phù hợp với từng tình huống.
Điểm hạn chế lớn nhất của bản Community là Intruder bị giới hạn tốc độ một cách cố ý, khiến nó rất chậm khi dùng với wordlist lớn. Trong thực tế, dân pentest thường dùng công cụ ngoài như ffuf, wfuzz hay hydra cho những tác vụ nặng, còn Intruder trong bản Community phù hợp hơn cho các thử nghiệm nhỏ.
5. Decoder
Decoder là một tiện ích encode và decode dữ liệu nhanh, hỗ trợ nhiều định dạng phổ biến như Base64, URL encoding, HTML entities, Hex, ASCII, Gzip và các hàm hash như MD5, SHA-1, SHA-256.
Trong kiểm thử bảo mật web, bạn thường xuyên gặp các giá trị bị mã hoá — token trong cookie, tham số trong URL, payload trong body. Decoder giúp bạn nhanh chóng giải mã để đọc nội dung thật, hoặc mã hoá ngược lại một payload trước khi đưa vào request. Bạn cũng có thể áp dụng nhiều lớp encode/decode liên tiếp, ví dụ một chuỗi vừa được URL encode vừa được Base64 encode.
Tuy đơn giản nhưng Decoder tiết kiệm rất nhiều thời gian so với việc chạy lệnh tay hay tìm công cụ online.
6. Comparer
Comparer cho phép bạn đặt hai request hoặc hai response cạnh nhau rồi so sánh sự khác biệt theo từng từ hoặc từng byte, tương tự như công cụ diff trên Linux.
Công dụng thực tế rất đa dạng: khi test username enumeration, bạn có thể so sánh response khi đăng nhập với username đúng và username sai để phát hiện sự khác biệt dù server cùng trả về HTTP 200. Khi test logic ứng dụng, bạn so sánh response của hai vai trò khác nhau để xem dữ liệu có bị lộ không. Những khác biệt nhỏ về độ dài response, thời gian phản hồi, hay một trường ẩn trong body đôi khi là manh mối quan trọng dẫn đến lỗ hổng.
7. Target / Site Map
Target là nơi Burp tự động xây dựng bản đồ cấu trúc ứng dụng web dựa trên toàn bộ traffic đã đi qua Proxy. Mỗi domain, path, endpoint, tham số đều được liệt kê và tổ chức theo dạng cây thư mục, giúp bạn có cái nhìn tổng quan về bề mặt tấn công của ứng dụng mà không cần tự ghi chép tay.
Đây cũng là nơi bạn thiết lập scope — phạm vi kiểm thử. Khi đã định nghĩa scope, Burp sẽ chỉ ghi lại và xử lý traffic thuộc các domain bạn cho phép, giúp loại bỏ noise từ các domain bên thứ ba (quảng cáo, analytics, CDN...) không liên quan đến mục tiêu. Việc thiết lập scope đúng từ đầu là thói quen tốt, đặc biệt khi làm việc trong môi trường có nhiều domain.
V. Thực nghiệm kiểm thử lỗ hổng IDOR trên ứng dụng web
Case: Kiểm thử các chức năng xem file, tải file tại endpoint xem văn bản đến
Bước 1: Mở 2 trình duyệt đã cài Fox Proxy và đã cấu hình proxy lên đăng nhập vào web
1.1 Browser 1:
Truy cập vào website cần kiểm thử
Bật Extension Fox Proxy lên và đăng nhập vào 1 tài khoản thường bất kì
Truy cập vào endpoint cán bộ vận hành muốn kiểm thử
Khi đó các request của tài khoản thường sẽ được trả về Burp Suite trên tab Proxy à http history
Tìm đến request về endpoint mà cán bộ vận hành chọn để kiểm tra và chọn Send to repeater

Request được chọn sẽ được gửi về tab Repeater lưu ý nhớ đổi tên cho Request đã bắt theo tên tài khoản Request để không bị nhầm lẫn

1.2 Browser 2:
Truy cập bằng 1 tài khoản khác có thể là tài khoản cấp cao hoặc tài khoản admin để kiểm tra các chức năng đặc quyền cao
Thực hiện các bước theo trình tự giống với Browser 1 lúc chọn tài liệu để kiểm tra hãy chọn tài liệu mật, tài liệu cần đặc quyền cao hoặc tài liệu mà tài khoản thường không sở hữu
Bước 2: Thay đổi tham số trên Request của tài khoản thường
Ta sẽ thay đổi tham số ID và Filename trên request chứa SessionID, Authen, Token của tài khoản thường thành tham số ID và Filename tài liệu của tài khoản admin
Khi sử dụng id và filename tài liệu thuộc quyền của tài khoản Admin

Sử dụng request của tài khoản thường sau đó thay id và filename của tài liệu đặc quyền cao của tài khoản admin vào request.
Khi đã thay xong tham số ta chọn nút Send ở request của tài khoản thường gửi đến website target

Bước 3: Kiểm tra response trả về
3.1: Trường hợp 1

Nếu response trả về HTTP code 200 OK như trên, response có trả về tài liệu, nội dung tài liệu, có thể xem tài liệu hoặc save tài liệu về để xem
Chuột phải vào phần response chọn tùy chọn Save selected text to file để lưu file về và kiểm tra nội dung

Kiểm tra Tên file, loại file, dung lượng, nội dung file khớp với thông tin trên tài khoản admin
à Xác nhận endpoint có lỗ hổng IDOR
3.2: Trường hợp 2

Nếu response trả về “khong co quyen” hoặc các mã lỗi sau đây:
HTTP/1.1 403 Forbidden
HTTP/1.1 401 Unauthorized
HTTP 200 nhưng trả về file của tài khoản thường
HTTP/1.1 404 Not Found
à Xác nhận không có lỗ hổng IDOR trong case này
VI. Tổng kết
IDOR là một trong những lỗ hổng phổ biến nhất trong bảo mật web, nhưng cũng là loại khó kiểm thử toàn diện vì nó có thể xuất hiện ở bất kỳ đâu — tham số trên URL, body của request, header, cookie, hay thậm chí trong các giá trị được mã hoá Base64 mà bạn không nhận ra ngay. Một ứng dụng thực tế có thể có hàng trăm endpoint, không phải endpoint nào cũng hiện ra rõ ràng trên giao diện, và không phải IDOR nào cũng đơn giản là thay một số nguyên tăng dần.
Burp Suite là công cụ mạnh, nhưng điều quyết định kết quả kiểm thử vẫn là tư duy của cán bộ vận hành — hiểu ứng dụng đang làm gì, dữ liệu nào đang được tham chiếu ở đâu, và liên tục đặt câu hỏi "nếu thay giá trị này thì chuyện gì xảy ra?". Công cụ chỉ hỗ trợ quá trình đó trở nên có hệ thống hơn, còn việc tìm ra lỗ hổng hay không phụ thuộc phần lớn vào sự quan sát và phân tích của chính người kiểm thử.