PortSwigger CSRF Challenge WriteUps

PortSwigger CSRF Challenge WriteUp Giới thiệu về CSRF (Cross-Site Request Forgery) Lỗ hổng CSRF là gì : Cross-Site Request Forgery hay còn gọi theo tiếng việt là giả mạo yêu cầu trên nhiều trang, là một lỗ hổng bảo mật cho phép attacker lừa người dùng đã được xác thực (đã đăng nhập) thực hiện các hành động không mong muốn trên 1 ứng dụng Web. Nói đơn giản thì attacker sẽ mượn danh tính và session của một victim để gửi đi một yêu cầu giả mạo đến ứng dụng mà victim không hề hay biết. Nếu ứng dụng dễ bị tấn công, nó sẽ không thể phân biệt được đâu là yêu cầu giả mạo đâu là yêu cầu hợp lệ của victim (User). CSRF hoạt động như thế nào : Để thực hiện tấn công CSRF cần có 3 điều kiện bao gồm : Hành động quan trọng : Ứng dụng phải có một function (hành động, action) mà attacker muốn thực hiện ví dụ như là đổi mật khẩu, đổi username, đổi email, chuyển tiền,…. Nói chung nó có lợi có attacker là tương hết hay còn gọi là attack surface ngon, nhiều. Xử lý request dựa trên cookie, session : Application phải chỉ dựa vào cookie của trình duyệt để xác định người dùng đang gửi yêu cầu. Không có cơ chế nào xác minh request. Không có tham số không thể đoán trước : Các tham số trong yêu cầu thực hiện hành động phải là những giá trị mà attacker có thể đoán trược hoặc là biết trước. Tại sao lỗ hổng này tồn tại : Lỗ hổng CSRF tồn tại do sự tin tưởng của ứng dụng web vào các cookie mà trình duyệt tự động gửi kèm theo mỗi yêu cầu. Ứng dụng chỉ kiểm tra “ai” đang gửi yêu cầu (dựa trên cookie session) mà không kiểm tra “ý định” của người dùng có thực sự muốn thực hiện hành động đó hay không. ...

December 12, 2025 · 22 min · Phat Mai

Ysoserial Commons Collections 5 Analyst

Ysoserial Commons Collections 5 Analyst Tổng quan CommonsCollections 5 trong Ysoserial CommonsCollections là một trong những gadget chain nổi tiếng nhất trong các cuộc tấn công khai thác Java deserialization không an toàn, đặc biệt khi ứng dụng sử dụng thư viện Apache Commons Collections. Trong bài viết này, chúng ta sẽ tập trung vào CommonsCollections5 (CC5) — một trong các chain được tích hợp sẵn trong công cụ ysoserial . Mình chọn phân tích CC5 vì đây là chain được nhiều người đề xuất để học do tính minh bạch và dễ debug. ...

December 11, 2025 · 9 min · Phat Mai

Java Deserialze - URLDNS Chain analysis (ysoserial)

Java Deserialze - URLDNS Chain analysis (ysoserial) Java Deserialize là gì? Java cung cấp cho người dùng hàm writeObject() để tiến hành quá trình serialize các object ở đây quá trình serialize sinh ra để chuyển một đối tượng Java thành chuỗi byte để lưu trữ (file, DB) hoặc truyền qua mạng (socket, RMI, JMS). Và để có thể đọc được dữ liệu được serialize từ ObjectInputStream ta có quá trình deserialize ở java sử dụng hàm readObject() cho quá trình đó. Khai thác Java Object Injection Rủi ro sẽ đến với các đối tượng xử lý deserialize các Untrusted Data. Attacker có thể lợi dụng các magic method, cách mà OOP vận hành từ đó tạo ra exploit chain hoàn chỉnh và tiến hành sử dụng payload. Tiến hành Setup môi trường test ...

December 6, 2025 · 10 min · Phat Mai

Spring Time CTF challenge WriteUp

Spring Time CTF challenge WriteUp Web App được chia làm 2 services khác nhau bao gồm: gateman : port 8080 newsman : port 8082 Phân tích từng chức năng từng service Gateman Nó được chạy bằng port 8080 bên cạnh đó nó còn gọi cloud cùng với đó là expose include ra các chức năng như health , info , gateway. Vậy nên có thể biết được đây là service Spring Cloud với chức năng routing đến các routes. ...

December 5, 2025 · 14 min · Phat Mai

Java Deserialize CBJS Lab

Java Deserialize CBJS Lab Giải thích chi tiết về lỗ hổng Deserialization 1. Deserialization là gì? Serialization là quá trình chuyển đổi một object (đối tượng) trong bộ nhớ thành một định dạng có thể lưu trữ hoặc truyền tải (như byte stream, JSON, XML). Deserialization là quá trình ngược lại - chuyển đổi dữ liệu đã được serialize trở lại thành object trong bộ nhớ. 2. Nguyên nhân Lỗ hổng xảy ra khi: ...

December 4, 2025 · 14 min · Phat Mai

Pentester Lab From Sql Injection to Shell

Pentester Lab From Sql Injection to Shell Fingerprinting Sử dụng nmap với cú pháp: sudo nmap -sV 192.168.179.132 -T4 Kết quả trả về cho thấy đang có 2 port đang được mở đó là port 22 và 80 như ta đã biết port 22 là SSH còn 80 là Apache httpd thì có nghĩa là nó đang host 1 cái web nào đó. Tiến hành curl đến xem thử có tồn tại không và để lấy được source code của web được host ở đây nó đưa cho ta thông tin về server và web được code bằng PHP/5.3.3-7+squeeze14. ...

December 3, 2025 · 3 min · Phat Mai

Web Cache Deception Demo Lab

Web Cache Deception Demo Lab Tổng quan Web Cache Deception Lỗ hổng “web cache deception” (đánh lừa bộ nhớ đệm web) là một dạng lỗ hổng bảo mật web, cho phép kẻ tấn công lừa hệ thống cache (bộ nhớ đệm web) lưu trữ và phục vụ lại những nội dung nhạy cảm hoặc riêng tư cho các bên không được ủy quyền. Đây là một hình thức khai thác sự khác biệt trong cách các server cache và server gốc xử lý các request—đặc biệt là về quy tắc lưu cache cho các tài nguyên động (như trang tài khoản người dùng, trang admin, v.v.). ...

December 2, 2025 · 4 min · Phat Mai

NoSQL Injection Vulnerability Challenge Java

NoSQL Injection Vulnerability Challenge Java Tổng quan về NoSQL Injection Tấn công NoSQL injection là một lỗ hổng bảo mật trong các ứng dụng web sử dụng cơ sở dữ liệu NoSQL. NoSQL (viết tắt của “Not Only SQL”) là các hệ thống cơ sở dữ liệu không sử dụng ngôn ngữ truy vấn có cấu trúc SQL, mà thay vào đó dùng các định dạng dữ liệu linh hoạt hơn như cặp khóa-giá trị, tài liệu (document), hoặc đồ thị dữ liệu. ...

December 1, 2025 · 9 min · Phat Mai

Broken Access Control Vulnerability Lab

Broken Access Control Vulnerability Lab What is Broken Access Control (BAC) Broken Access Control là một loại lỗ hổng bảo mật web xảy ra khi người dùng có thể truy cập vào các tài nguyên hoặc thực hiện các hành động vượt quá quyền hạn cho phép của họ. Đây là một trong những rủi ro bảo mật nghiêm trọng nhất đối với các ứng dụng web, theo danh sách của OWASP Top 10. ...

November 30, 2025 · 4 min · Phat Mai

XXE Injection Vulnerability Lab

XXE Injection Vulnerability Lab XXE Injection là gì? XXE (XML External Entity) Injection là một lỗ hổng bảo mật web cho phép kẻ tấn công can thiệp vào quá trình một ứng dụng xử lý dữ liệu XML. Lỗ hổng này xảy ra khi một trình phân tích (parser) XML được cấu hình yếu xử lý các thực thể bên ngoài (external entities) do người dùng cung cấp trong tài liệu XML. ...

November 29, 2025 · 13 min · Phat Mai