Đánh cắp Cookie bằng cách lợi dụng lỗi bảo mật XSS

1668

Thông thường khi tạo TC cho một textbox ta sẽ có một case để check lổ hổng bảo mật XSS như bên dưới:

  1. Nhập đoạn test script sau vào textbox : <script>alert(“xss error”) </script>
  2. Xác nhận rằng script sẽ không được thực thi, không xuất hiện alert pop-up với nội dung “xss error”

Đại khái nội dung TC là thế, dùng để kiểm tra lỗi bảo mật XSS , chúng ta có thể kết luận TC là Fail nếu đoạn script trên được thực thi, alert pop-up xuất hiện nhưng thực sự lổ hổng này nguy hiểm như thế nào, và cách khai thác lỗ hổng này để đánh cắp thông tin người dùng thì chúng ta chưa được biết hoặc chưa nắm rõ. OK, mình sẽ demo cách lợi dụng lỗi bảo mật XSS để đánh cắp cookie

Có thể bạn quan tâm

  Lập trình đâu chỉ có những dòng code

Đầu tiên đây là những gì chúng ta cần

Không phải DEV nên mình google, khá là nhiều khi bạn tìm với keyword “cookie stealer” , sau nhiều lần tìm kiếm và thử nghiệm thì mình tìm được 1 đoạn code viết bằng php chạy hiệu quả như bên dưới, lấy xài luôn nhé

Copy vào notepad++ và save với extension php nhé ( ex: xssError.php ), ý nghĩa đoạn code trên chỉ là lấy cookie xong ghi vào file logs.txt thôi, tùy vào nội dung đoạn code mà mình có thể lấy được nhiều thông tin hơn như IP address, port number, user agent …. . À rồi, mình cần tạo thêm 1 file logs.txt nữa, để trống thôi không cần nội dung. Đến đây thì mình có 2 file: xssError.php Logs.txt

2. Cần có một free Web hosting service

Web hosting service để chứa 2 file trên, nhớ là free thôi nhé , demo chơi thôi mà, mình tìm hộ luôn , các bạn sử dụng https://www.000webhost.com nhé, ngon + bổ + rẻ

Bạn có thể sign-up nhanh bằng acc gmail , sign-up thành công ở Homepage sẽ có giao diện thế này :

Click vào Build Website nhé, tên web để trống cũng được, chọn pass thôi:

Nhấn Create sẽ đến màn hình này

Click vào Upload Own Website nhé, sau đó upload 2 files xssError.php và Logs.txt bạn chuẩn bị ở trên vào public_html folder như bên dưới, vậy là xong các bước chuẩn bị, bây giờ đi tìm nạn nhân thôi (go)

Video: Tăng mạnh doanh thu và trải nghiệm người dùng với Data Analytics

3. Nạn nhân để thực hành lổ hổng bảo mật XSS : http://www.techpanda.org/index.php

Account: admin@google.com / Password2010

Đây là trang được tạo ra để thực hành thử nghiệm XSS nhé. Sau khi đến Dashboard thì tạo record mới như bên dưới

  • Click Add New Contact
  • Nhập đoạn script bên dưới vào ô First name

Ngoài thao tác click thì ta có thể chèn script với thao tác onmouseover

Với đoạn script trên thì chỉ cần người dùng di chuyển mouse đến đoạn text XSSError thì cũng có thể bị mất cookie rồi.

Ngoài ra còn nhiều kiểu để chèn script đánh cắp cookie nữa mình sẽ bổ sung dần cho mọi người .

https://imploratory-carload.000webhostapp.com/XSSError.php << đây là link đường dẫn file XSSError.php mà mình upload ở phần 2, First name bây giờ sẽ hiển thị dưới dạng Hyperlink là XSSError , khi người dùng click vào thì sẽ chuyển đến trang php có đoạn code đánh cắp cookie ở trên, dĩ nhiên hiện tại mình chỉ demo đánh cắp cookie thôi nên nạn nhân sẽ thấy hiển thị 1 trang blank khá thô thiển) một số hacker có thể ngụy trang bằng cách hiển thị dưới dạng một đường link 404 – Page not found và một link di chuyển về Homepage để nạn nhân tiếp tục sử dụng mà không nghi ngờ mình đã bị đánh cắp cookie

Theo happy path thì ta sẽ có một nạn nhân ngờ nghệch click vào hyperlink trên, đến file logs để thu hoạch thôi : https://imploratory-carload.000webhostapp.com/logs.txt

Ta sẽ có được cookie là PHPSESSID của nạn nhân (len)

Happy Coding!

  Một số tool hữu ích dành cho web developer có thể bạn chưa biết (Phần 1)

TopDev via Viblo