Cách hiệu quả nhất để tìm và sửa chữa lỗi SQL Injection và XSS
Chào các bạn,
Mình là dev đang maintain lại dự án cũ hồi năm 2005.
Site này viết bằng Codeigniter, bị lỗi bảo mật gồm 2 phần SQL Injection và Cross Site Scripting.
Mình không biết đi từ đâu để fix cũng như cách nào để tìm lỗi để mà fix.
Ví dụ như có tools nào hay là dấu hiệu nhận biết khi điền lên url?
Cách fix hiện tại của mình là sử dụng hàm: mysql_real_escape_string
.
Nhưng mình đọc ở comment đầu tiên tại link này, bạn này nói là có những cách khác tốt hơn và đừng sử dụng mysql_real_escape_string()
trong các tutorial đã cũ.
Cảm ơn các bạn.
Giả sử rằng bạn đang đề cập là web chạy bằng PHP - vì mình không chắc lắm?! Ngày nay các server hầu hết đã hỗ trợ phiên bản PHP 5.3 trở lên, do đó, bạn hãy sử dụng PDO thay vì các hàm MySQL hay MySQLi để thao tác CRUD với CSDL MySQL. Dùng các prepare statement và bindParam, bindValue để hạn chế các lỗ hổng về SQL Injection.
Sau khi làm web xong, để sửa được XSS thì phải hiểu nó là gì cái đã - rồi dùng tools quét , bạn vào khiêu chiến với BKAV để họ kiểm tra bảo mật cho web của bạn, và bạn sẽ chi 15K đô la để dảm bảo an toàn
Cảm ơn bạn nhiều nha.