Uncategorized

Ai cũng có lúc mắc sai lầm #1

Để blog lâu quá không có bài mới, thấy cũng kì kì. Thôi nay đang rảnh, cố viết lại một bài ngắn ngắn vậy :))

Gần đây mình không viết được gì nhiều, chủ yếu là do công việc của mình không còn liên quan quá nhiều đến việc tìm lỗi bảo mật trong ứng dụng web như trước nữa. Thay vào đó, mình học lại lập trình, tập code bằng nhiều ngôn ngữ khác nhau (trước đây biết code mỗi Python). Cái gì cũng có cái vui, cái lợi và cái “chưa lợi” của nó. Code nhiều thì lên tay, nhưng phải hi sinh việc update kiến thức mới, lỗi mới, mà không update mấy cái đó thì rõ ràng là không chạy đua công nghệ được với các idol rồi :)) nên là mấy idol có nghía qua bài này hay blog này thì cũng đừng chửi “trình kém mà cứ thích viết tào lao” nhé :))

Đi code mới nhận thấy rằng đôi khi để “xúc” được một hệ thống, một ứng dụng chẳng cần những kỹ thuật gì cao siêu, lắm lúc chỉ cần một sai sót nhỏ xíu là đủ để “lên đường”.

Một trong những sai lầm mà mình thấy rất thường xuyên đó là dev đem source code lên GitHub nhưng để public, ai cũng đọc được. Thường thường mấy pha như vậy chẳng cần đọc code, cứ kiếm file config hoặc mấy file dump sql mà đọc, thế nào cũng có username và password xịn, cầm login thôi, đọc code chi cho mệt.

Một lỗi nữa cũng hay gặp, là dev “tiện tay” bỏ luôn tài liệu hướng dẫn sử dụng hệ thống lên GitHub luôn. Mà file hướng dẫn sử dụng thì thế nào cũng có link demo, username và password sẵn trong file. Có hướng dẫn thì cứ vậy mà dùng thôi, ngại quá :))

Cũng có trường hợp sau khi ngó nghiêng thử code thì nhận ra code có bug :)) SQLi đồ thì hiếm gặp, chứ mấy thể loại như này thì nhiều lắm:

...
$file = $_GET['file'];
$alias = $_GET["alias"];
require "home/controllers/$file.php";
...

Case này thực ra mình không biết cách nào đọc được /etc/passwd blahblah, nhưng, lại là may mắn, mình biết chỗ để đọc được “hướng dẫn sử dụng” =]]

Search những thông tin nhạy cảm này trên GitHub cũng không có gì là khó. Quan trọng là tìm đúng pattern để search, ví dụ đơn giản như “tên tổ chức” + “password”, “tên tổ chức” + “https”,… Nói gì thì nói, human mistake vẫn là cái khó phòng tránh nhất, vì ai mà chẳng mắc lỗi 😀

P/s: Khi mình viết bài này thì Github đã cho dùng private repository free rồi (cho cả team). GitHub cũng có thuật toán để cảnh báo người dùng khi trong source code có chứa những thông tin nhạy cảm luôn. Mong là developers nên tận dụng, lỡ có đưa source code lên thì nhớ để private repository, vậy là đủ, dư sức bảo vệ source code mình khỏi bị nhòm ngó bởi những vị khách không mời 😀

Happy coding, happy hacking!

New blog, new post

Hi, long time no see.

Bài post kỹ thuật gần nhất của mình trên blog cũ đã được gần 2 năm tuổi. Điều đó nghĩa là lâu nay mình chẳng có gì để viết, đúng hơn là không có được một bài chia sẻ nào về chuyên môn, chỉ toàn là chém gió với thị phi. Phần vì lười, phần vì… dốt. Thật hổ thẹn, nhất là khi thấy các đàn em càng ngày càng giỏi, còn mình thì dậm chân tại chỗ, thậm chí còn thụt lùi… Cuộc sống mà, khó khăn đủ đường. Bạn không thể vừa đi làm, vừa làm việc bạn thích, vừa đi làm bug bounty bên ngoài kiếm thêm thu nhập, vừa chơi CTF, vừa có thời gian chơi game, có thời gian đi xem phim với bạn gái,… trong một ngày được. Thế nên, đành phải hy sinh một vài thứ. Mà hy sinh vài thứ thì đồng nghĩa với việc quỹ thời gian được dành ra để viết lách, chia sẻ, vốn đã ít ỏi nay… biến mất luôn.

Mình cũng không rõ blog này là blog thứ bao nhiêu của mình nữa rồi, haha. Hy vọng nó sẽ là cái cuối. Mình sẽ cố gắng duy trì cái blog này lâu nhất có thể. Thêm nữa, blog này mình sẽ viết hoàn toàn bằng tiếng Việt.

Mục tiêu mình làm blog này, như đã nói ở trên, là để chia sẻ kỹ thuật, đặc biệt là các write-up của mình từ khi mình mới bắt đầu làm bug bounty. Thật ra thì trình mình cũng có hạn (nếu không muốn nói là kém), làm bug bounty trước giờ chỉ là cho vui, lấy tí fame, bounty cũng không có nhiều. Mình chưa hề có ý định làm fulltime bug bounty, hay sống bằng nghề này. Tuy nhiên, mình muốn góp một chút ít công sức của mình để các bạn đi sau không bị bỡ ngỡ như mình lúc đầu.

Kinh nghiệm bản thân cho thấy, lúc mới bắt đầu làm bug bounty, đa phần các bạn… không biết làm gì. Target public thì nhiều, nhưng đã bị bao nhiêu researcher khác “quậy” nát rồi. Target private thì không được join, vì profile trắng trơn ai mà mời. Rồi thì, tiền thưởng có bao nhiêu mấy anh trong private program lượm hết, public program đa số chỉ là VDP (Vulnerability Disclosure Program), không có tiền. Làm program không có tiền thì vừa chán, vừa chẳng có động lực gì. Thêm nữa, nhiều khi skill các bạn chưa đủ, cũng không có kinh nghiệm, nên rất dễ bị nản. Nói chứ đến bây giờ mình vẫn còn thấy nản mà :((

Bên cạnh đó, khi làm blog này em cũng mong được sự giúp đỡ của các anh đã có nhiều thành công trong nghề, các anh có những profile bug bounty khủng, đã gặp những case hay… mong các anh, nếu có thể được, thì bằng kinh nghiệm của mình, các anh có thể giúp tụi em phần nào bớt đi được những khó khăn hay sai lầm mà các anh đã gặp, hoặc chia sẻ cho tụi em những kỹ thuật hay, những tips, tricks hữu dụng trong việc pentest hằng ngày hoặc khi làm bug bounty. Rất biết ơn các anh.

Thôi nói vậy đủ rồi, bắt đầu hack dạo thôi!