Thứ Ba, 22 tháng 3, 2016

Những lỗi thường gặp khi lập trình web

Lập trình web hiện đang trở nên rất phổ biến tại Việt Nam, nhưng các vấn đề bảo mật cho web khi lập trình thì không phải ai cũng nắm rõ hoặc chú tâm. Chuyện lỗ hổng bảo một là câu chuyện chúng ta thường xuyên được nhắc đến. Sau đây là vài kinh nghiệm của một hacker "không chuyên" (đúng hơn là một kỹ sư CNTT tại một công ty phần mềm hàng đầu của Việt Nam), để những bạn mới lập trình web tham khảo. Nickname của anh là Vietnamman.


>>>  Có thể bạn quan tâm:
     -  Thiết kế đồ họa
     -  Học thiết kế đồ họa


"Tất cả những kinh nghiệm này đều được trải qua và kiểm nghiệm trong thực tế bởi... chính tôi. Những điều tôi viết, chắc mấy anh hacker có nghề sẽ cười khẩy mà bảo rằng 'dễ vậy mà cũng viết'. Thì cái gì biết rồi đều dễ mà! Đây chỉ là những kinh nghiệm mà những bạn quan tâm tới hoặc mới lập trình web nên tham khảo mà thôi".

"Đầu tiên, một lần tôi lang thang trên Net, ghé vào ngó nghiêng trang  http://www. hubm.edu.vn, chợt phát hiện rằng trang web này có một forum tự viết bằng asp. À há, tinh thần tự viết mà không dùng đồ có sẵn trên Net của webmaster trang web này rất đáng hoan nghênh. Nhưng tự viết thì chắc chắn sẽ có chỗ này chỗ nọ chưa hoàn thiện, phải không? Sau khi mò mẫm chọn kiểm tra các trang web có liên quan đến truy cập dữ liệu như các trang cập nhật thông tin, gửi bài, đổi mật khẩu… Tôi chợt phát khùng lên vì... sướng, khi thấy trang thay đổi mật khẩu được chứng thực bằng ID và chỉ ID mà thôi. Dễ như bóc kẹo, tôi nhẹ nhàng thay đổi chỉ số ID trên URL String bằng ID của admin, nghiễm nhiên tôi có mật khẩu của admin".

"Theo tôi, đây là một lỗi vô cùng ngớ ngẩn và quá nguy hiểm vì nó cho phép một cậu bé con cũng có thể xơi tái cả hệ thống. Theo tôi, các bạn nên chú ý khi lập trình web, tất cả các trang có tác động đến cơ sở dữ liệu phải có 2 cách kiểm tra: Hoặc xác nhận lại mật khẩu, hoặc sử dụng biến Session, không được chỉ kiểm tra ID".

"Một lần khác, khi lang thang tìm kiếm lỗi trên trang http:// ttvnol.com, tôi cũng phát hiện ra một lỗi ở phần upload file. Forum này có một lỗi quá nghiêm trọng: Đó là upload thì kiểm tra đuôi nhưng khi chạy cái file đuôi dạng hình ảnh thì hiển luôn cái nội dung file nếu không phải là file hình ảnh. Có nghĩa là nếu tôi viết 1 file HTML và đổi thành đuôi .gif thì đưa lên gọi bằng trình duyệt vẫn chạy HTML bình thường. Tôi đã sử dụng điều này để sửa điểm trò SNAKE trong ttvnol và làm 1 form lừa lấy hầu hết password của các admin. Tôi còn đưa lên cả backdoor và điều nguy hiểm hơn là trường password trong database chẳng được mã hóa gì hết... Có đường dẫn rồi, chỉ cần làm 1 file .asp bình thường là bọn tôi có thể lôi hết password của các thành viên trên diễn đàn về. Forum TTVNOL vậy là bị thu phục hoàn toàn".

"Nhắn thêm với các bạn một điều nữa khi làm web, đó là phải thiết lập cấu hình để máy chủ chỉ cho chạy các file có đuôi html hoặc .asp hay .php… và phải mã hoá trước khi lưu thông tin vào trường mật khẩu. Tất cả các lỗi trên tôi đã thông báo cho các admin và họ đã sửa hết rồi nên không còn đường để các bạn thực hành nữa đâu. Bài viết này cũng không có ý phá hoại chi hết mà chỉ nêu lên những lỗi thường gặp để các bạn biết mà chú ý khi làm web thôi".

Trên đây là một số lỗi thường gặp khi lập trình web, là một người lập trình web tất nhiên có những lỗi bạn không thể tránh được nhưng hãy cố gắng làm sao để giảm thiểu những lỗi đó xuống thấp nhất. Đó là điều để bạn tránh được những tổn thất sau này
Chúc các bạn thành công !!!

>>> Xem thêm:
    -  Khóa học lập trình
    -  Học lập trình PHP

Không có nhận xét nào:

Đăng nhận xét