kids0407
W-------
-
14/02/2014
-
0
-
7 bài viết
Ý tưởng: cách mã hóa mật khẩu an toàn cho website
Xin chào các bạn. Hôm nay mình xin chia sẻ 1 tí ý tưởng về phần đăng nhập hạn chế 1 phần nào đó hack.
Kiến thức mình còn thiếu nhiều, nên mong các bạn cùng nhau chia sẻ góp ý thêm nếu có chỗ sai, xin cảm ơn.
Mình xin nói về mã hóa mật khẩu.
Khi các bạn bị tấn công thì theo mình biết, ưu tiên là sẽ tìm config chứa thông tin cơ sở dữ liệu.
Sau khi đã chiếm được csdl, việc tiếp theo là dịch ngược mật khẩu, đổi mật khẩu admin sang 123456 để login bằng cách theo mình biết như:
+ Nếu md5 thì thay thành e10adc3949ba59abbe56e057f20f883e để login 123456
+ Nếu cách khác thì tạo 1 acc rồi copy phần chứng thực thay thế cho admin
+ Dùng chế độ quên mật khẩu.
+ Can thiệp code để login không cần mật khẩu.
...
Cách mình đặt ra chống 3 cách đầu là:
Mã hoá ví dụ: md5 có thể dùng cái khác.
username = admin
pass = 123456
Khi login: File login sẽ nhận giá trị $_POST = admin và pass admin123456
việc thêm username vào trong mật khẩu trước hoặc sau, hoặc thêm id của username vào trước hoặc đâu đó trong mật khẩu là ý tưởng của mình để chống trường hợp 1 và 2.
Vậy người id = 1 pass 123456 và id = 2 pass 123456 sẽ có 2 pass được mã hoá khác nhau
1123456, 2123456. nhưng người dùng vẫn login với pass là 123456
Chặn quên mật khẩu với admin hoặc các username quan trọng. lưu 1 mã md5 của admin 123456 trước để phòng trường hợp quên mật khẩu hoặc tự tạo mật khẩu theo cơ chế mình đặt ra.
Hi vọng sẽ chống được trường hợp 3.
Còn trường hợp 4 thì chịu vô được đó rồi thì...
Các bạn cùng thảo luận cho hoàn thiện hơn nhé.
Cảm ơn nhiều
Kiến thức mình còn thiếu nhiều, nên mong các bạn cùng nhau chia sẻ góp ý thêm nếu có chỗ sai, xin cảm ơn.
Mình xin nói về mã hóa mật khẩu.
Khi các bạn bị tấn công thì theo mình biết, ưu tiên là sẽ tìm config chứa thông tin cơ sở dữ liệu.
Sau khi đã chiếm được csdl, việc tiếp theo là dịch ngược mật khẩu, đổi mật khẩu admin sang 123456 để login bằng cách theo mình biết như:
+ Nếu md5 thì thay thành e10adc3949ba59abbe56e057f20f883e để login 123456
+ Nếu cách khác thì tạo 1 acc rồi copy phần chứng thực thay thế cho admin
+ Dùng chế độ quên mật khẩu.
+ Can thiệp code để login không cần mật khẩu.
...
Cách mình đặt ra chống 3 cách đầu là:
Mã hoá ví dụ: md5 có thể dùng cái khác.
username = admin
pass = 123456
Khi login: File login sẽ nhận giá trị $_POST = admin và pass admin123456
việc thêm username vào trong mật khẩu trước hoặc sau, hoặc thêm id của username vào trước hoặc đâu đó trong mật khẩu là ý tưởng của mình để chống trường hợp 1 và 2.
Vậy người id = 1 pass 123456 và id = 2 pass 123456 sẽ có 2 pass được mã hoá khác nhau
1123456, 2123456. nhưng người dùng vẫn login với pass là 123456
Chặn quên mật khẩu với admin hoặc các username quan trọng. lưu 1 mã md5 của admin 123456 trước để phòng trường hợp quên mật khẩu hoặc tự tạo mật khẩu theo cơ chế mình đặt ra.
Hi vọng sẽ chống được trường hợp 3.
Còn trường hợp 4 thì chịu vô được đó rồi thì...
Các bạn cùng thảo luận cho hoàn thiện hơn nhé.
Cảm ơn nhiều