Phân Tích Pháp Y Bộ Nhớ: Hướng Dẫn Giải Các Thử Thách CTF Với Volatility
Bài viết này trình bày chi tiết cách tiếp cận và giải quyết các thử thách pháp y bộ nhớ từ nhiều cuộc thi CTF khác nhau, sử dụng chủ yếu Volatility Framework cùng với các công cụ phụ trợ khác. Chúng ta sẽ khám phá cách trích xuất thông tin nhạy cảm, phân tích hoạt động của hệ thống, điều tra mã độc và khôi phục dữ liệu từ các bản trích xuất bộ ...
Đăng vào ngày 5 tháng 8 lúc 17:24
Phân tích và Tấn công Mô ảo hóa AVM trong CTF
Phân tích Mô ảo hóa AVM trong CTF CISCN x 长城杯 2024
Đây là một bài tập về mô ảo hóa (VM) dành cho người mới bắt đầu. Tuy nhiên, bài này đòi hỏi nhiều kinh nghiệm trong lĩnh vực reverse engineering. Trước đây, tôi chỉ thực hiện các bài đã có sẵn, nhưng đây là lần đầu tiên tôi giải được một bài VM trong cuộc thi. Vì phương pháp reverse enginee ...
Đăng vào ngày 18 tháng 7 lúc 21:38
Giải mã Base64 Steganography trong C# .NET
Gần đây tôi được mời tham gia một cuộc thi CTF, và trong kỳ nghỉ lễ端午节, tôi đã làm thử một số bài tập trực tuyến. Một số bài yêu cầu lập trình, phần lớn hướng dẫn trên mạng đều viết bằng Python, trong khi ngôn ngữ backend tôi quen dùng là C#. Việc đọc hiểu script Python khá vất vả vì có nhiều hàm phải tra cứu cách sử dụng, nên tôi quyết định ...
Đăng vào ngày 12 tháng 7 lúc 17:46
Phân tích chuỗi thử nghiệm lỗ hổng tải lên upload-labs (Cấp 1–19)
Giới thiệu tổng quan
upload-labs là một môi trường thực hành bảo mật viết bằng PHP, được thiết kế để mô phỏng đa dạng các tình huống khai thác lỗ hổng tải lên (file upload vulnerabilities) trong kiểm thử xâm nhập. Dự án gồm 19 cấp độ, mỗi cấp áp dụng một cơ chế kiểm soát đầu vào khác nhau — từ xác thực client-side đơn giản đến các biện pháp lọ ...
Đăng vào ngày 5 tháng 7 lúc 21:51
Giải mã mật mã ba chữ số bằng phương pháp vét cạn trong deadsecCTF 2024
Một bài toán mật mã (crypto) từ deadsecCTF 2024 yêu cầu khôi phục flag từ chuỗi mã hóa được tạo bởi hàm FLAG_KILLER, với đặc điểm nổi bật: mỗi khối đầu vào chỉ gồm đúng 3 ký tự hex (tức 1.5 byte), tương đương giá trị nguyên trong khoảng [0, 4095]. Do đó, thay vì phân tích ngược thuật toán — vốn phức tạp do hàm sử dụng chuỗi phép biến đổi cơ số ...
Đăng vào ngày 5 tháng 7 lúc 12:25
Phân tích lại vòng bán kết CISCNx Great Wall Cup 2026
Từ khi bắt đầu học cao học, tôi ít tham gia CTF hơn trước. Tuy nhiên nhờ sự hỗ trợ của học弟 và may mắn, đội SSSec đã giành vị trí thứ 2 tại khu vực Hồ Bắc, đủ điều kiện vào vòng chung kết😀.
Cấu trúc cuộc thi năm nay:
Sáng thi AWDP (4 tiếng), chiều thi ISW (4 tiếng)
Không còn bài tập phản ứng khẩn cấp thú vị như trước, hy vọng vòng chung kết s ...
Đăng vào ngày 4 tháng 7 lúc 13:32
Giải Đáp Các Bài Toán Bảo Mật và Đảo Ngược trong Cuộc Thi CTF 0xGame 2021 – Tuần Đầu
Đây là tổng hợp lời giải chi tiết cho các bài tập thuộc nhiều thể loại (Crypto, Misc, Pwn, RE, Web) trong tuần đầu tiên của cuộc thi CTF 0xGame 2021. Nội dung được trình bày lại một cách kỹ thuật, rõ ràng và độc lập — không phụ thuộc vào kinh nghiệm cá nhân hay phong cách viết blog.
Mã Hóa & Giải Mã RSA Cơ Bản
Bài ABC Of RSA cung cấp hai số ng ...
Đăng vào ngày 29 tháng 6 lúc 05:34
Viết giải cho bài toán Reverse 'awa-jelly' tại vsCTF 2024
vsCTF là một trong những cuộc thi quốc tế mà tôi có thể tham gia, và đây là một bài toán reverse khá thú vị.
Bài toán JellyCTF có một số thử thách tuyệt vời về Jelly Hoshiumi, một trong số ít VTuber yêu thích CTF. Được truyền cảm hứng từ một thử thách, tôi đã tạo ra một bài dựa trên AWA5.0. Bạn có thể tìm thấy đầu vào bị che giấu nào khớp với ...
Đăng vào ngày 23 tháng 6 lúc 21:39
Khai thác lỗ hổng kết hợp để lấy cờ trong bài CTF sử dụng PHP
Truy cập mục tiêu, hệ thống cung cấp đoạn mã nguồn sau:
<?php
$inputA = $_GET["a"];
$inputB = $_GET["b"];
$inputC = $_GET["c"];
if (isset($inputA) && file_get_contents($inputA) === "hello from zjctf") {
echo "<br><h1>" . file_get_contents($inputA) . "</h1><br>";
if (strpos($inputB, "flag") !== false) {
...
Đăng vào ngày 22 tháng 6 lúc 18:38
WriteUp Cuộc thi West Lake Sword 2022 Vòng sơ loại
Crypto
MyErrorLearn
def XennyOracle():
r = getPrime(512)
d = invert(secret+r, p) - getPrime(246)
print('> r =', r)
print('> d =', d)
def task():
for _ in range(3):
op = int(input())
if op == 1:
XennyOracle()
elif op == 2:
ss = int(input())
if ss == secret:
...
Đăng vào ngày 16 tháng 6 lúc 01:21