Bài viết mới nhất

Tổng 1775 bài
Bảo mật 02/09/2026 9 phút

Tham số hoá chặn sạch SQL injection — trừ đúng một chỗ, và ở đó tôi trích trọn khoá bí mật 18 ký tự chỉ bằng thứ tự sắp xếp

Tham số hoá là cách chặn SQL injection duy nhất thật sự đủ — nhưng chỉ ở vị trí giá trị. Có một chỗ nó không đặt vào được: tên cột trong ORDER BY. Tôi đo ở đó và đọc trọn một khoá bí mật không route nào hiển thị, một bit mỗi request, 144 request cho cả chuỗi.

DevOps 02/09/2026 9 phút

Chỉ mục của Loki chỉ chiếm 0,42% dữ liệu — bí quyết là nó đánh chỉ mục nhãn, không đánh chỉ mục nội dung; và thư mục WAL suýt khiến tôi kết luận ngược hẳn

200.000 dòng log 30,75 MB vào Loki còn 5,40 MB trên đĩa (nén 5,69 lần), chỉ mục vỏn vẹn 0,42%. Đó là toàn bộ triết lý Loki gói trong một con số: trả tiền chỉ mục cho 15 luồng, không cho 30 MB văn bản. Nhưng thư mục WAL 32 MB suýt làm tôi kết luận Loki phình 1,22 lần thay vì nén 5,69 lần.

Mạng 02/09/2026 9 phút

Người nhận không đọc một byte nào, tôi vẫn send() được 1,5 MB — rồi mới hiểu vì sao write() đôi khi đứng khựng

send() nuốt được khoảng 1,5 lần tổng hai đệm socket rồi mới chặn, dù người nhận đứng hình không đọc byte nào. Đó không phải lỗi mà là kiểm soát luồng của TCP tự ghìm người gửi theo người nhận. Đo thật, kèm cú bẫy kernel âm thầm nhân đôi đệm.

DevOps 02/09/2026 9 phút

svc-a mất 137 ms và trông như thủ phạm — nhưng nó chỉ tự làm 10 ms, kẻ ăn 101 ms nằm ở giữa chuỗi

Một yêu cầu đi qua bốn dịch vụ. Nhìn từ ngoài, hai sự cố khác hẳn nhau chỉ là một con số. Metric ở dịch vụ đầu bó tay, còn trace chỉ thẳng vào svc-c: tự làm 101,45 ms trong khi ba chặng kia đều quanh 10 ms. Bài học: đọc trace theo cột 'tự làm', đừng theo cột 'tổng'.

Bảo mật 02/09/2026 9 phút

Một dòng pickle.loads() và lệnh của kẻ tấn công chạy với quyền root — mà không có bước 'thực thi' nào cả; JSON cùng dữ liệu thì trơ như đá

Với pickle, 'đọc dữ liệu' và 'chạy mã' là cùng một hành động: tôi dựng payload thật, và chỉ tải nó lên đã cho ra uid=0(root). JSON cùng chuỗi ấy chỉ trả về một dict. Khác biệt không nằm ở cách dùng mà ở bản chất định dạng — cái này lưu dữ liệu, cái kia lưu cả cách gọi hàm.

Bảo mật 02/09/2026 9 phút

Không có PKCE, chỉ cần chặn được một mã là kẻ tấn công đổi được token của bạn — tôi đo đúng lỗ hổng đó trong 'Đăng nhập bằng Google'

Đo luồng authorization code của OAuth2: mã dùng một lần, redirect_uri khớp chính xác, và PKCE. Ba dòng cuối bảng đối xứng sáng tỏ — có PKCE thì chặn được mã vẫn vô dụng, không PKCE thì chặn được mã là chiếm được tài khoản. Vì sao authorization code + PKCE là luồng khuyến nghị cho MỌI ứng dụng.