Đây là bài kiểm tra tốt nhất về một lỗ hổng mà tôi từng thấy: thay vì tranh luận lý thuyết, ai đó dựng một server thật, để tiền thật trong đó, rồi mời tất cả cùng thử. Kết quả là một con số không thể tranh cãi.
Luật chơi
Trang chủ ghi: “My bitcoin was stolen after: 19.28 hours.” Giải thưởng tại thời điểm thắng là 0,02511679 BTC, tương đương 2.021,22 USD. Thời điểm thắng: 25/10/2026, 15:47 UTC. Ví giải thưởng công khai trên mempool.space để ai cũng kiểm tra được giao dịch.
Điều đáng chú ý không phải là bị hack
Mà là 20 giờ đầu không ai lấy được. Tác giả bài phân tích trên Lobsters ghi rõ: “stealmybitcoin.com was not vulnerable the first 20 hours, then got hacked within hours”. Nghĩa là lỗ hổng có thật, nhưng không phải kiểu mở một công cụ là xong.
- Kỹ thuật thắng khác với PoC phổ biến: gửi một request producer, rồi pipeline request consumer cho toàn bộ worker, để giảm xác suất request lạ xen vào giữa các bước.
- Điều kiện bắt buộc: request cuối phải rơi đúng vào cùng một worker, và phải biết chính xác số worker.
- Trên site nhiều container sau load balancer, mỗi container có layout ASLR riêng — kỹ thuật này gần như không dùng được. Session stickiness có thể thay đổi, nhưng không phải mặc định của load balancer phổ biến.
Vì sao đây là cách đúng để công bố một lỗ hổng
Tranh luận quanh php2shell tuần này chia làm hai: một bên nói phải patch trong 15 phút, một bên nói khuyến nghị đó phóng đại. Cả hai đều dựa trên suy đoán. Một site có tiền thật thì biến suy đoán thành phép đo — và phép đo cho kết quả ở giữa: lỗ hổng khai thác được, nhưng cần 19 giờ và một kỹ thuật mới.
Cũng nên đọc phần cập nhật của tác giả: Dan Guido (Trail of Bits) nói nhóm ông có exploit chạy được “under load” trước khi site bị lấy. Nếu đúng, thời gian thực tế còn ngắn hơn 19 giờ — và đó là lý do việc công bố lỗ hổng kèm một mục tiêu có thật đáng làm hơn mọi bài blog tranh luận.
Bối cảnh đầy đủ của lỗ hổng và vì sao nó chiếm ba bảng xếp hạng: bài php2shell. Nguồn: stealmybitcoin.com, I want my Wednesday back, writeup của người thắng, ví giải thưởng.