Tag Archives: developer

Series Bảo Mật Nhập Môn – Insecure Direct Object References – Giấu đầu lòi đuôi

Kì này, mình sẽ giới thiệu một lỗ hổng bảo mật khá “lạ” mang cái tên dài loằng ngoằng khó đọc: Insecure Direct Object References.

Lỗi gì mà tên dài rứa??

Lỗi này “lạ” ở chỗ nó nằm trong top 4 OWASP nhưng lại có rất ít tài liệu về nó. Nó cũng không nổi tiếng như XSS hay CSRF hay SQL Injection (Dù rank OWASP của nó cao hơn XSS hay CSRF nhiều).

Bản thân mình trước đây cũng chưa hề nghe báo chí hay tin tức gì nhắc tới lỗi này. Có thể là do chưa có vụ án nổi tiếng nào liên quan đến nó, hoặc do lỗi này có nhiều biến thể phức tạp chăng?

Nguyên nhân chính gây ra lỗ hổng này là sự bất cẩn của developer hoặc sysadmin (Gặp lỗi này là phải lôi thằng dev ra chém trước, sau đó chém tester).

Lỗ hổng này xảy ra khi chương trình cho phép người dùng truy cập tài nguyên (dữ liệu, file, thư mục, database) một cách bất hợp pháp, thông qua dữ liệu do người dùng cung cấp. Để dễ hiểu hơn, hãy đọc ví dụ phía dưới nhé.

Continue reading Series Bảo Mật Nhập Môn – Insecure Direct Object References – Giấu đầu lòi đuôi

Review sách: The Clean Coder – Trở thành coder chuyên nghiệp và “có tâm”

Mấy tuần trước, khi đi lang thang trên dạy nhau học, mình có thấy anh Đạt, founder daynhauhoc dành khá nhiều lời khen ngợi cho cuốn sách này.

screen-shot-2016-11-08-at-9-19-31-pm

Tò mò nên mình tìm về đọc thử. Quả thật sách không làm mình thất vọng! Có nhiều đoạn tác giả nói đúng đến mức không thể đúng hơn, hoặc đưa ra những lời dạy bảo vô cùng chí lí.

Do vậy, mình viết bài này, vừa review sách, vừa tóm tắt những điều tâm đắc mà mình rút ra được từ cuốn sách.

Continue reading Review sách: The Clean Coder – Trở thành coder chuyên nghiệp và “có tâm”

Series Bảo Mật Nhập Môn – SQL Injection – Lỗ hổng bảo mật thần thánh

Kì này, các bạn sẽ được tìm hiểu thực hư về lỗ hổng bảo mật SQL Injection “thần thánh”, một trong những lỗ hổng bảo mật phổ biến và nguy hiểm nhất mọi thời đại.

Tại sao SQL Injection lại “thần thánh”?

Những lý do sau đã tạo nên tên tuổi lừng lẫy của SQL Injection:

  • Cực kỳ nguy hiểm – Có thể gây ra những thiệt hại khổng lồ. Với SQL Injection, hacker có thể truy cập một phần hoặc toàn bộ dữ liệu trong hệ thống.
  • Rất phổ biến và dễ thực hiện – Lỗ hổng này rất nổi tiếng, từ developer đến hacker gần như ai cũng biết. Ngoài ra, còn có 1 số tool tấn công SQL Injection cho dân “ngoại đạo”, những người không biết gì về lập trình.
  • Rất nhiều ông lớn từng bị dính – Sony, Microsoft UK. Mọi vụ lùm xùm liên quan tới “lộ dữ liệu người dùng” ít nhiều đều dính dáng tới SQL Injection.

Dễ tấn công, phổ biến, gây ra hậu quả nghiêm trọng, đó là lý dó Inject (Không chỉ SQL mà OS và LDAP) nằm chễm chễ ở vị trí đầu bảng trong top 10 lỗ hỗng bảo mật của OWASP. Tất nhiên là XSS, CSRF, và không mã hoá dữ liệu cũng nằm trong list này nốt.

sql-injection2

Continue reading Series Bảo Mật Nhập Môn – SQL Injection – Lỗ hổng bảo mật thần thánh

Nguyễn Nhật Ánh sẽ nói gì về lập trình và… code?

Phóng tác dựa theo tản văn: Bắt đầu từ những con chữ của tác giả Nguyễn Nhật Ánh.

Tản văn này của bác nói về nghề văn và về con chữ. Xét thấy nghề này cũng có nhiều nét giông giống nghề code, mình xin mượn dăm câu chữ từ bài viết để viết nên bài này. Hi vọng bác Ánh đọc được sẽ không giận vì “đạo văn”.

 

Người bạn trẻ hỏi tôi: Làm thế nào để trở thành lập trình viên? Nghề lập trình bắt đầu từ đâu?

Tôi đáp: Từ sự yêu thích máy tính và phần mềm. Người bạn trẻ bảo: Tôi yêu thích.

Tôi lại nói: Thế thì bắt đầu từ năng khiếu và khả năng tư duy. Người bạn trẻ lại bảo: Tôi có năng khiếu.

Ồ, nếu cái gì bạn cũng có rồi thì có lẽ nghề lập trình bằng đầu từ… code! 

Continue reading Nguyễn Nhật Ánh sẽ nói gì về lập trình và… code?

Series Bảo Mật Nhập Môn – Ẩn giấu thông tin hệ thống – Tránh con mắt người đời và kẻ xấu

Trong bài viết hôm nay, mình sẽ giới thiệu một phương pháp bảo mật vô cùng đơn giản, hiệu quả nhưng lại được ít người biết và áp dụng. Đó là phương pháp: Giấu thông tin hệ thống.

Thông tin hệ thống là gì?

Có thể tạm hiểu thông tin hệ thống là những thông tin về cấu tạo và hoạt động của hệ thống đó.

Continue reading Series Bảo Mật Nhập Môn – Ẩn giấu thông tin hệ thống – Tránh con mắt người đời và kẻ xấu

Series Bảo Mật Nhập Môn – Lưu trữ cookie – Tưởng không hại ai ngờ hại không tưởng

Cookie là một khái niệm hết sức cơ bản mà ta được học khi mới lập trình web. Tuy nhiên, nếu sử dụng không đúng cách, nó sẽ thành “mồi ngon” cho vô số hacker.

Bài viết này sẽ đề cập đến những cách hacker mà có thể lợi dụng cookie để chiếm quyền người dùng, tấn công hệ thống, cùng với phương pháp sử dụng cookie đúng cách để ngăn chặn những lỗ hổng này nhé.

Continue reading Series Bảo Mật Nhập Môn – Lưu trữ cookie – Tưởng không hại ai ngờ hại không tưởng

Series Bảo Mật Nhập Môn – Lỗ hổng bảo mật XSS nguy hiểm đến mức nào?

Giới thiệu về XSS

XSS (Cross Site Scripting) là một lỗi bảo mật cho phép hacker nhúng mã độc (javascript) vào một trang web khác. Hacker có thể lợi dụng mã độc này để deface trang web, cài keylog, chiếm quyền điều khiển của người dùng, dụ dỗ người dùng tải virus về máy. Các bạn có thể xem thêm demo trong vụ hack Lotte Cinema trước đây.

Đây là một trong những lỗi bảo mật thường gặp nhất trên các trang Web. Các hệ thống từ lớn đến nhỏ như Facebook, Twitter, một số forum Việt Nam, … đều từng dính phải lỗi này. Do mức độ phổ biến và độ nguy hiểm của nó, XSS luôn được vinh dự được nằm trong top 10 lỗi bảo mật nghiêm trọng nhất trên OWASP (Open Web Application Security Project).

screenshot_25

Để tóm tắt, xin trích dẫn vài câu của thánh bảo mật Juno_okyo, người vừa hack 3 triệu tài khoản của server X nào đó.

"Ờ thì nghe cũng có vẻ nguy hiểm đấy, nhưng sao tôi thấy ông hay viết về XSS thế? Rảnh quá hả!?"

À... một lỗi vừa phổ biến, nằm top 10 OWASP, lại vừa nguy hiểm, có thể kết hợp tốt với các lỗi khác. Nhưng dễ tìm, dễ fix, đã thế còn được tính bug bounty nữa.

Continue reading Series Bảo Mật Nhập Môn – Lỗ hổng bảo mật XSS nguy hiểm đến mức nào?

Giới thiệu daynhauhoc và kipalog – 2 cộng đồng lập trình viên thú vị

Một số bạn sinh viên hay hỏi mình về việc nên cập nhật kiến thức ở đâu, nên tham gia các cộng đồng lập trình nào. Trước đây mình đã có một bài viết giới thiệu về Medium, Top 5 blog IT đáng đọc, …

Tuy nhiên, các trang này viết bằng tiếng Anh nên các bạn tiếng Anh không tốt sẽ khá khó tiếp cận. Do vậy, hôm nay mình sẽ giới thiệu 2 công đồng lập trình khá thú vị ở Việt Nam: kipalogdaynhauhoc. Hi vọng chúng sẽ có ích cho các bạn.

Continue reading Giới thiệu daynhauhoc và kipalog – 2 cộng đồng lập trình viên thú vị

Mừng 1 triệu view đầu tiên và 6k like fanpage

Dạo gần đây mình bận học hành ở UK, về tới Việt Nam thì bận ăn chơi nhảy múa du lịch nên cũng không để ý đến chỉ số của blog cho lắm. Đến lúc nhìn lại thì thấy cũng đã được một của view và 6k like trên fanpage rồi :o.

Theo thông lệ, mỗi lần blog đạt được một cột mốc nào đó, mình đều viết một bài ăn mừng kiêm cảm ơn độc giả kiêm bộc bạch kể lể tâm sự. Nội dung bài viết này cũng tương tự thế nhé.

sitebanner_gx2ThankYou

Continue reading Mừng 1 triệu view đầu tiên và 6k like fanpage

Series Phản Phác Qui Chân – Học thuật toán để làm vẹo gì???

Mình thường nghe các bạn sinh viên hỏi về tầm quan trọng của việc học thuật toán. Ý kiến của các bạn được chia làm hai luồng trái chiều như sau:

  • Thần thánh hoá thuật toán: Muốn lập trình giỏi phải giỏi thuật toán. Các công ty lập trình lớn toàn phỏng vấn về thuật toán còn gì.
  • Coi thường thuật toán: Thuật toán là cái thứ vô dụng, mấy anh đi làm nói là có dùng bao giờ đâu.

Bài viết này sẽ giúp các bạn trả lời câu hỏi “Học thuật toán để làm cái vẹo gì?”, cũng như có cái nhìn khách quan hơn về thuật toán.

Continue reading Series Phản Phác Qui Chân – Học thuật toán để làm vẹo gì???