Skip to main content

Posts

Showing posts with the label security

Điều gì tệ hơn "mất bò mới lo làm chuồng"

Nửa tháng sau khi GitHub action tj-actions/changed-file bị hack , thế giới có gì thay đổi? Xưa các cụ có câu "mất bò mới lo làm chuồng", nhằm phê phán việc không quan tâm đến chuồng của con bò. Nhưng điều tệ hơn là gì? mất bò xong vẫn không làm chuồng Trong ngành IT (hay việc gì cũng thế), thất bại là chỗ người ta rút kinh nhiệm để tiến bộ hơn, phát triển hơn hôm qua. Thôi thì qua đã mất bò thì làm chuồng để mai không mất nữa. Nhưng như mọi "kinh nghiệm", nó không được học qua "chuyện kể"/"lời khuyên" mà chỉ thực sự thấm nếu đã phải trả giá. Internet vẫn tiếp tục dùng GitHub action không pinning tới SHA1 commit hash... Blog FAMILUG do 1 phút lười biếng cũng dùng GHA nelsonjchen/gh-pages-pelican-action@master , để rồi hôm nay trả giá 30 phút gỡ bỏ GHA này. GHA build blog FAMILUG giờ chỉ còn dùng action chính thức của GitHub. Mà nếu GitHub bị hack... thì mọi lo lắng khác đều không có nghĩa lý gì khi blog familug.github.io chạy trên GitHub pag...

[TIL] Bài học từ vụ GitHub Action tj-actions/changed-file bị hack

Ngày 14/3/2025, cộng đồng mạng hoảng loạn vì 1 GitHub Action có tên tj-actions/changed-file bị hack, thay đổi code, để in ra các token dùng khi chạy GitHub action. Lý do hoảng loạn: có tới hơn 23 nghìn repo sử dụng action này... để tìm các file đã đổi trong pull request. Bài viết report sự việc: https://www.stepsecurity.io/blog/harden-runner-detection-tj-actions-changed-files-action-is-compromised Các vấn về GitHub Action Có rất nhiều vấn đề khi nhìn lại ở đây, đơn giản như: tj-actions là ai? gõ mấy câu lệnh để tìm được file đã thay đổi trong 1 git pull request? uses: tj-actions/changed-files@v45 đã cố định ở v45? git tag không cố định (mutable) @v45 là sử dụng git tag v45 . v45 là 1 git tag, và có thể thay đổi, có thể point tới commit khác. Theo git tag --help : On Re-tagging What should you do when you tag a wrong commit and you would want to re-tag? .. 2. The insane thing. You really want to call the new version "X" too, even though others have already se...

Vài khoảng trắng không xóa đi lịch sử

Người dùng Ubuntu có một bí kíp để khiến cho câu lệnh vừa gõ trong bash không hiện trong lệnh "history": thêm dấu space trước khi gõ lệnh: $ docker run -it ubuntu:22.04 [0] root@19b65c7de3f6:/# echo you see me you see me root@19b65c7de3f6:/# echo you do not see my password is hunter42 you do not see my password is hunter42 root@19b65c7de3f6:/# history 1 echo you see me 2 history root@19b65c7de3f6:/# echo $HISTCONTROL ignoredups:ignorespace Bí kíp này ... chỉ có ở trên Ubuntu bash. Photo by Ling Tang on Unsplash HISTCONTROL Trong bash, biến môi trường HISTCONTROL dùng để config shell sẽ lưu cái gì vào "history". Mặc định trên Ubuntu từ xưa tới nay có giá trị: ignoredups:ignorespace Nhưng điều này không đúng trên Debian cũng như nhiều hệ điều hành khác như MacOS , cũng không đúng trên zsh (HIST_IGNORE_SPACE). $ docker run -it debian:bullseye-slim ...

[Sec|Django] Social media fingerprinting

Mới đây một website đã được tung ra để tự động hiển thị những trang mạng xã hội mà người dùng đã login vào. Việc này trông có vẻ đầy hư cấu và có cảm giác mình bị "hack", thế nhưng nó không phải là mới, dựa trên một lỗ hổng bảo mật mà nhiều hãng không thèm fix. Nó có tên "Social media fingerprinting". https://robinlinus.github.io/socialmedia-leak/#updates Cơ chế để trang này hoạt động rất đơn giản: Nếu website X cho phép redirect tới một địa chỉ (đặc biệt) khác thì tức là user đã đăng nhập. Nếu không redirect được đến địa chỉ đó thì có vẻ như user chưa đăng nhập hoặc site đã fix lỗi.

[Sec] SASL

Simple Authentication and Security Layer ( SASL ) Nhìn tên thì có vẻ gì đấy bí hiểm nhưng bạn sẽ ngạc nhiên khi mở trang wikipedia của nó [1] ra vì nó rất ngắn. Cộng với chữ Simple ở đầu, hãy tin rằng đây là một thứ dễ hiểu và bạn sẽ hoàn toàn hiểu nó sau khi đọc hết bài này. Thậm chí RFC4422 cũng chỉ dài có 31 trang [2]. SASL là gì? SASL là một framework cho việc cung cấp 2 dịch vụ: - Authentication (xác thực) - Security layer (tầng bảo mật) cho các protocol (giao thức) hướng kết nối [3] (TCP là một trong số đó). SASL để làm gì? khi một giao thức đã hỗ trợ SASL, bạn không cần phải code thêm để xác thực người dùng (cơ bản nhất là sử dụng một cặp username/password) mà chỉ việc "đá quả bóng trách nhiệm" sang cho SASL (có thể là một thư viện hay một daemon), SASL sẽ thực hiện công việc xác thực người dùng theo cách bạn đã chọn, đồng thời cũng cung cấp các tính năng security như khả năng đảm bảo dữ liệu khi truyền được nguyên vẹn và bí mật.

Popular posts from this blog

Tài liệu và hướng dẫn học Python

Để tiết kiệm thời gian, tốt nhất là đi học PyMI Updated: 130617 Sau đây là các tài liệu khuyên dùng: Vì nhiều lý do, nên học python2.7 tại thời điểm hiện tại (giờ là tháng 6/2013 - muốn biết tại sao thì tự tìm hiểu) python 3.5+ (giờ là tháng 2/2017) Chuẩn bị: 1. biết bật tắt máy 2. biết cài python 3. tập gõ 10 ngón - gõ 2 ngón hay 1 ngón cũng không sao, nhưng 10 ngón là cách dễ nhất để gõ nhanh nhất. Tài liệu - Nên dùng tài liệu tại trang chủ của Python làm chính, tham khảo thêm các tài liệu khác tại http://www.familug.org/2016/12/free-ebook.html Căn bản, mới học 1.1 Python PyMI.vn https://pymi.vn/tutorial/ 1.2. Python offical tutorial kết hợp làm bài tập trên HackerRank  (đề bài bằng tiếng Anh, nhưng Google translate 1 lúc cũng ra vì có nhiều ví dụ mẫu đi kèm). Học viên của Pymi.vn có rất nhiều học viên đã tự học với Learn Python the hard way nhưng chưa thấy ai thành công cả. Hai link dưới nên đọc sau khi đã nắm được những phần cơ bản của ngôn ngữ pytho...

The PyMiers

New FAMILUG