Mục đích của hash password

Xin chào ạ,

Khi làm chức năng đăng nhập thì có một luật bất thành văn là cột password trong DB phải hash, kỹ hơn thì hash + salt chứ không được lưu plaintext. Em vẫn chưa thấy tác dụng bảo mật ở chỗ nào vì khi hacker hack được tới database thì mọi bảng khác hacker đều xem được, nếu em là hacker thì em sẽ không quan tâm tới cột password đã bị hash trong bảng account vì một khi đã access vào tới VPS thì em sẽ backup DB và download về để xem dần, nếu như muốn phá user nào đó thì em sẽ chạy lệnh SQL để edit hoặc insert data rác của user đó. Anh chị cho em hỏi việc hash password cuối cùng có tác dụng gì? Em cảm ơn.

Hackers are like lottery players. A hacker breaking into somewhere is pure luck, not a “skill”,. Of course, it is easier for any hacker if you keep your password in plain text. It is like you have a quite pricey scooter and you put it unlocked on the sidewalk. Locking your scooter is like hashing your password. A thief can pick a lock, so can a hacker.
Remember one thing: what is man-made can always be cracked by man. Everything is relative. The only purpose of a lock for your pricey scooter or hashing a password is to put an obstacle in the way of the thief or hacker. Why? Most thieves or hackers are lazy and don’t like to work hard and long on something.
Click HERE to learn how Hashing a Password works,

tại vì có nhiều users sử dụng chung password cho 2 hay nhiều dịch vụ khác nhau. Hackers cần raw password để login vào mấy dịch vụ khác đó :V

ví dụ 1 cái shop bán cây kiểng trên Shopee có dắt link tới trang nhà “tự làm”, có cho user lập tài khoản riêng ở trang nhà. Nhiều người dùng lơ mơ tạo tài khoản mới cùng username cùng password ở trang nhà tự làm đó. Trang nhà tự làm này do là hàng của đứa cháu họ sinh viên tự làm nên bị hack, và nó lưu password raw text. Hacker login thử N uname+pass vào ngược lại trang Lazada, Shopee và thấy có M account Shopee thành công. Vậy là tuy hacker ko hack được Shopee nhưng thông qua 1 website của shop ngoài mà login thành công được M users trên Shopee (giả sử bán thông tin cho hacker khác xịn hơn vượt qua phone verification gì đó được), rồi từ đó mua 1 đống đồ khác ngoài cây kiểng ra cho hacker, ví dụ mỗi account 2 cái iphone chẳng hạn :V :V

4 Likes

trừ khi website của bạn là ngân hàng hoặc quan trọng như web chính phủ thì hacker sẽ làm việc này.

còn thông thường, các website quan trọng như ngân hàng khi implement backend/deploy process thì họ phải có security standard để theo. security standard này rất gắt và khó nhằn để thâm nhập.

các hacker sẽ đi đường vòng như các website nhỏ lẻ, dễ hack hơn. giả dụ bạn có 2 accounts, 1 cho ngân hàng, 1 cho web linh tinh đều sử dụng chug username/password. bank thì có 100 tỷ.
nếu website linh tinh không hash password thì cái tk ngân hàng của bạn còn cái nịt.

còn nếu hash rồi thì chỉ còn cách mò từ hash sang password. điều này là không thể và bắt buộc phải brute force hoặc mò trong rainbow table. xui xui cái hash nó trong rainbow table thì cũng còn cái nịt. nên nhiều website phải thêm salt, để tránh mò rainbow table

2 Likes

Có nhiều lý đo như:

  • Không phải khi nào hacker cũng lấy được tới quyền admin để muốn backup db hay query tất tần tật điều được.
  • Cái hacker muốn lấy là những cái mà các account kia có quyền truy cập tới, không phải chỉ lấy cái user/password để ngắm.
  • Hack để âm thầm lấy thông tin, nằm vùng, khi nào chán thì ra không ai biết đó mới là mới là mấy thể loại hack nguy hiểm, Còn kiểu trẻ trâu vô phá banh hôm sau công an mời lên uống nước trà :slight_smile:
  • Tiếp theo ý 1, nhiều khi hacker chỉ copy được vài cái datafiles, nếu password không encrypted họ có thể đọc được cái file đó để lấy chuổi text của password (ko cần phải resorte database).

Tóm lại, những thông tin quang trọng trong DB cần phải được encrypted , vd như password, số creditcard, số cmnd,… đối những DB lớn có thể dùng thêm TDE cho datafiles và encryption connection.

2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?