- Thú thật, khi mình khai thác lổi sqli, nhiều nhà phát triển website để khách hàng của mình đặt mật khẩu chẳng mã hóa lun????
- Một số khác, cũng có mã hóa cái mật khẩu ấy, nhưng cực kì sơ sài. Bởi vì, họ chỉ quan tâm tới vẻ bên ngoài sao cho bắt mắt, đẹp và … chạy được là OK rồi! Buồn cười quá phải ko các bạn, nhưng đó là sự thật.
Vd 1 cách đặt pass phổ biến như:
1
2
3
| <!--?php$password = $_POST['password'];?--> |
Hoặc
1
2
3
| <!--?php$password = md5($_POST['password']);?--> |
Theo bạn, cách đặt như vậy có thật sự an toàn ko????
Nếu bạn nghĩ, nó là đã an toàn rồi thì thật sai lầm! Chẳng hạn như:
http://hashkiller.com/index.php?action=md5webcrack
http://www.cmd5.com/english.aspx
http://www.md5crack.com
http://md5-db.com
http://www.tmto.org/?category=main&page=search_md5
http://www.cmd5.com/english.aspx
http://www.md5crack.com
http://md5-db.com
http://www.tmto.org/?category=main&page=search_md5
Có thế sẽ làm các webmaster buồn tình với cách mã hóa pass như vậy….
Đây là 1 vài kinh nghiệm, mà có lẽ các bạn lập trình web, hay lập trình ứng dụng đi chăng nữa nên tham khảo (minh họa bằng php)
Vd1:
1
2
3
4
5
| <!--?phpfunction encrypt_pass($pass, $salt = '!@#$%^&*()'){return md5($pass.$salt)}?--> |
vd2: mở rộng hơn xíu xíu:
1
2
3
4
5
| <!--?phpfunction encrypt_pass($pass, $salt = '!@#$%^&*()'){return md5(md5($pass.$salt));}?--> |
vd3:
1
2
3
4
5
| <!--?phpfunction encrypt_pass($pass, $salt = '!@#$%^&*()') {return md5 ( base64_encode ($pass, $salt));}?--> |
vd4:
1
2
3
4
5
| <!--?phpfunction encrypt_pass($pass, $salt = '!@#$%^&*()') {return " PASSWORD({$pass}{$salt}) "; // password là 1 hàm trong CSDL mysql}?--> |
vd5: …vân vân và vân vân…….
Hy vọng, xíu kiến thức này sẽ giúp các nhà phát triển web ý thức thêm 1 phần nào đó!
Comments[ 0 ]
Đăng nhận xét