Cách hack trang web: Ví dụ về hack trang web trực tuyến

Mục lục:

Anonim

Nhiều người có quyền truy cập vào Internet hơn bao giờ hết. Điều này đã thúc đẩy nhiều tổ chức phát triển các ứng dụng dựa trên web mà người dùng có thể sử dụng trực tuyến để tương tác với tổ chức. Mã được viết kém cho các ứng dụng web có thể bị lợi dụng để truy cập trái phép vào dữ liệu nhạy cảm và máy chủ web.

Trong hướng dẫn này, bạn sẽ học cách hack các trang web và chúng tôi sẽ giới thiệu cho bạn các kỹ thuật hack ứng dụng web và các biện pháp chống lại bạn có thể áp dụng để bảo vệ khỏi các cuộc tấn công như vậy .

Các chủ đề được đề cập trong hướng dẫn này

  • Ứng dụng web là gì? Các mối đe dọa trên web là gì?
  • Làm thế nào để bảo vệ trang web của bạn khỏi bị tấn công?
  • Thủ thuật hack trang web: Hack một trang web trực tuyến!

Ứng dụng web là gì? Các mối đe dọa trên web là gì?

Ứng dụng web (hay còn gọi là trang web) là một ứng dụng dựa trên mô hình máy khách-máy chủ. Máy chủ cung cấp quyền truy cập cơ sở dữ liệu và logic nghiệp vụ. Nó được lưu trữ trên một máy chủ web. Ứng dụng khách chạy trên trình duyệt web của khách hàng. Các ứng dụng web thường được viết bằng các ngôn ngữ như Java, C # và VB.Net, PHP, ColdFusion Markup Language, v.v ... các công cụ cơ sở dữ liệu được sử dụng trong các ứng dụng web bao gồm MySQL, MS SQL Server, PostgreSQL, SQLite, v.v.

Hầu hết các ứng dụng web được lưu trữ trên các máy chủ công cộng có thể truy cập được qua Internet. Điều này khiến chúng dễ bị tấn công do khả năng tiếp cận dễ dàng. Sau đây là các mối đe dọa ứng dụng web phổ biến.

  • SQL Injection - mục tiêu của mối đe dọa này có thể là vượt qua các thuật toán đăng nhập, phá hoại dữ liệu, v.v.
  • Tấn công từ chối dịch vụ - mục tiêu của mối đe dọa này có thể là từ chối người dùng hợp pháp truy cập vào tài nguyên
  • Cross Site Scripting XSS - mục tiêu của mối đe dọa này có thể là đưa mã có thể được thực thi trên trình duyệt phía máy khách.
  • Cookie / Session Poisoning - mục tiêu của mối đe dọa này là để kẻ tấn công sửa đổi cookie / dữ liệu phiên để có được quyền truy cập trái phép.
  • Giả mạo biểu mẫu - mục tiêu của mối đe dọa này là sửa đổi dữ liệu biểu mẫu chẳng hạn như giá cả trong các ứng dụng thương mại điện tử để kẻ tấn công có thể nhận được các mặt hàng với giá giảm.
  • Code Injection - mục tiêu của mối đe dọa này là tiêm các đoạn mã như PHP, Python, v.v. có thể được thực thi trên máy chủ. Mã có thể cài đặt các cửa hậu, tiết lộ thông tin nhạy cảm, v.v.
  • Defacement - mục tiêu của mối đe dọa này là sửa đổi trang được hiển thị trên một trang web và chuyển hướng tất cả các yêu cầu trang đến một trang duy nhất có chứa thông điệp của kẻ tấn công.

Làm thế nào để bảo vệ trang web của bạn khỏi bị tấn công?

Một tổ chức có thể áp dụng chính sách sau để tự bảo vệ mình khỏi các cuộc tấn công của máy chủ web.

  • SQL Injection - làm sạch và xác thực các tham số của người dùng trước khi gửi chúng đến cơ sở dữ liệu để xử lý có thể giúp giảm nguy cơ bị tấn công thông qua SQL Injection. Các công cụ cơ sở dữ liệu như MS SQL Server, MySQL, v.v. hỗ trợ các tham số và các câu lệnh chuẩn bị sẵn. Chúng an toàn hơn nhiều so với các câu lệnh SQL truyền thống
  • Tấn công từ chối dịch vụ - tường lửa có thể được sử dụng để loại bỏ lưu lượng truy cập từ địa chỉ IP đáng ngờ nếu cuộc tấn công là DoS đơn giản. Cấu hình mạng và Hệ thống phát hiện xâm nhập phù hợp cũng có thể giúp giảm khả năng thành công của một cuộc tấn công DoS.
  • Cross Site Scripting - xác thực và làm sạch tiêu đề, các tham số được truyền qua URL, tham số biểu mẫu và giá trị ẩn có thể giúp giảm các cuộc tấn công XSS.
  • Ngộ độc cookie / phiên - điều này có thể được ngăn chặn bằng cách mã hóa nội dung của cookie, hết thời gian chờ cookie sau một thời gian, liên kết cookie với địa chỉ IP của ứng dụng khách đã được sử dụng để tạo ra chúng.
  • Ủ biểu mẫu - điều này có thể được ngăn chặn bằng cách xác thực và xác minh thông tin đầu vào của người dùng trước khi xử lý.
  • Code Injection - điều này có thể được ngăn chặn bằng cách coi tất cả các tham số là dữ liệu chứ không phải là mã thực thi. Sanitization và Validation có thể được sử dụng để thực hiện điều này.
  • Defacement - một chính sách bảo mật phát triển ứng dụng web tốt phải đảm bảo rằng nó bịt kín các lỗ hổng thường được sử dụng để truy cập vào máy chủ web. Đây có thể là cấu hình phù hợp của hệ điều hành, phần mềm máy chủ web và các phương pháp bảo mật tốt nhất khi phát triển ứng dụng web.

Thủ thuật hack trang web: Hack trang web trực tuyến

Trong kịch bản thực tế về hack trang web này, chúng tôi sẽ chiếm quyền điều khiển phiên người dùng của ứng dụng web tại www.techpanda.org. Chúng tôi sẽ sử dụng tập lệnh trang web chéo để đọc id phiên cookie sau đó sử dụng nó để mạo danh phiên người dùng hợp pháp.

Giả định được đưa ra là kẻ tấn công có quyền truy cập vào ứng dụng web và hắn muốn chiếm quyền điều khiển phiên của những người dùng khác sử dụng cùng một ứng dụng. Mục tiêu của cuộc tấn công này có thể là giành được quyền truy cập của quản trị viên vào ứng dụng web giả sử tài khoản truy cập của kẻ tấn công là tài khoản giới hạn.

Bắt đầu

  • Mở http://www.techpanda.org/
  • Đối với mục đích thực hành, bạn nên truy cập bằng cách sử dụng SQL Injection. Tham khảo bài viết này để biết thêm thông tin về cách thực hiện điều đó.
  • Email đăng nhập là Địa chỉ email này đang được bảo vệ từ spam bots, bạn. Bạn cần bật Javascript để xem nó., Mật khẩu là Password2010
  • Nếu bạn đã đăng nhập thành công, thì bạn sẽ nhận được bảng điều khiển sau
  • Nhấp vào Thêm Liên hệ Mới
  • Nhập tên sau làm tên

Tối

ĐÂY,

Đoạn mã trên sử dụng JavaScript . Nó thêm một siêu liên kết với một sự kiện onclick . Khi người dùng không nghi ngờ nhấp vào liên kết, sự kiện sẽ truy xuất ID phiên cookie PHP và gửi nó đến trang snatch_sess_id.php cùng với id phiên trong URL

  • Nhập các chi tiết còn lại như hình bên dưới
  • Nhấp vào Lưu thay đổi
  • Trang tổng quan của bạn bây giờ sẽ giống như màn hình sau
  • Vì mã tập lệnh trang web chéo được lưu trữ trong cơ sở dữ liệu, nó sẽ được tải mỗi khi người dùng đăng nhập quyền truy cập
  • Giả sử quản trị viên đăng nhập và nhấp vào siêu liên kết cho biết Dark
  • Anh ấy / cô ấy sẽ nhận được cửa sổ với id phiên hiển thị trong URL

Lưu ý : tập lệnh có thể đang gửi giá trị đến một số máy chủ từ xa nơi PHPSESSID được lưu trữ, sau đó người dùng chuyển hướng trở lại trang web như thể không có gì xảy ra.

Lưu ý : giá trị bạn nhận được có thể khác với giá trị trong hướng dẫn hack trang web này, nhưng khái niệm thì giống nhau

Mạo danh phiên sử dụng tiện ích bổ sung Firefox và Tamper Data

Lưu đồ bên dưới cho thấy các bước bạn phải thực hiện để hoàn thành bài tập này.

  • Bạn sẽ cần trình duyệt web Firefox cho phần này và tiện ích bổ sung Tamper Data
  • Mở Firefox và cài đặt add như minh họa trong sơ đồ bên dưới
  • Tìm kiếm dữ liệu giả mạo sau đó bấm vào cài đặt như hình trên
  • Nhấp vào Chấp nhận và Cài đặt…
  • Nhấp vào Khởi động lại ngay bây giờ khi quá trình cài đặt hoàn tất
  • Bật thanh menu trong Firefox nếu nó không được hiển thị
  • Bấm vào menu công cụ rồi chọn Dữ liệu giả mạo như hình bên dưới
  • Bạn sẽ nhận được Cửa sổ sau. Lưu ý: Nếu Windows không trống, hãy nhấn vào nút xóa
  • Nhấp vào menu Start Tamper
  • Quay lại trình duyệt web Firefox, gõ http://www.techpanda.org/dashboard.php rồi nhấn phím enter để tải trang
  • Bạn sẽ nhận được cửa sổ bật lên sau từ Dữ liệu giả mạo
  • Cửa sổ bật lên có ba (3) tùy chọn. Tùy chọn Tamper cho phép bạn sửa đổi thông tin tiêu đề HTTP trước khi nó được gửi đến máy chủ .
  • Nhấn vào nó
  • Bạn sẽ nhận được cửa sổ sau
  • Sao chép ID phiên PHP mà bạn đã sao chép từ URL tấn công và dán nó sau dấu bằng. Giá trị của bạn bây giờ sẽ giống như thế này

PHPSESSID = 2DVLTIPP2N8LDBN11B2RA76LM2

  • Bấm vào nút OK
  • Bạn sẽ nhận lại cửa sổ bật lên dữ liệu Tamper
  • Bỏ chọn hộp kiểm hỏi Tiếp tục giả mạo?
  • Bấm vào nút gửi khi hoàn tất
  • Bạn sẽ có thể thấy bảng điều khiển như được hiển thị bên dưới

Lưu ý : chúng tôi đã không đăng nhập, chúng tôi đã mạo danh một phiên đăng nhập bằng giá trị PHPSESSID mà chúng tôi đã truy xuất bằng cách sử dụng tập lệnh trang web chéo

Tóm lược

  • Ứng dụng web dựa trên mô hình máy chủ-máy khách. Phía máy khách sử dụng trình duyệt web để truy cập các tài nguyên trên máy chủ.
  • Các ứng dụng web thường có thể truy cập được qua internet. Điều này khiến chúng dễ bị tấn công.
  • Các mối đe dọa ứng dụng web bao gồm SQL Injection, Code Injection, XSS, Defacement, ngộ độc Cookie, v.v.
  • Một chính sách bảo mật tốt khi phát triển các ứng dụng web có thể giúp bảo mật chúng.