3 cuộc tấn công WordPress phổ biến bạn có thể ngăn chặn

Hàng ngày có hàng triệu lượt truy cập vào các website được xây dựng trên mã nguồn WP và tất nhiên nó rơi vào tầm ngắm của Hacker, người quản trị luôn đảm bảo các website được an toàn và ổn định. Điều quan trọng là phải biết các cuộc tấn công đó là gì, vì vậy bạn có thể thực hiện các bước để tăng cường bảo mật và cung cấp sự an tâm cần thiết.

Như chúng ta đã thảo luận trong một bài viết trước, các cuộc tấn công tiêm mã – chẳng hạn như Cross-Site ScriptingSQL injection – vẫn là mối quan tâm ưu tiên cao đối với nhiều chủ sở hữu trang web. May mắn thay, việc bảo vệ trang web của bạn khỏi những xâm nhập này đơn giản là trường hợp sử dụng một số kỹ thuật thông thường, cùng với một đoạn mã hoặc hai mã.

Trong bài đăng này, chúng tôi sẽ đưa ra một gợi ý từ trang web nhà phát triển WordPress chính thức và chạy qua một số cuộc tấn công phổ biến nhất mà nền tảng phải đối mặt. Ngoài ra, chúng tôi cũng sẽ thảo luận cách khắc phục chúng. Băt đầu nào!

WordPress đã làm gì để chống lại tin tặc

3 cuộc tấn công WordPress phổ biến bạn có thể ngăn chặn

Điều đáng nói đến là WordPress đã được bảo mật cao, đó là những gì bạn mong đợi từ một nền tảng hỗ trợ rất nhiều web. Tuy nhiên, nếu bạn đã đi theo sự miêu tả của WordPress trên phương tiện truyền thông, bạn sẽ được tha thứ vì nghĩ rằng đó là một nền tảng không an toàn không thích hợp cho việc sử dụng chuyên nghiệp. Tất nhiên, không có gì có thể được thêm từ sự thật.

Trên trang bảo mật của họ, nhóm WordPress đã phác thảo rõ ràng cam kết của họ để đóng các điểm truy cập tiềm năng của hacker. Điêu nay bao gôm:

  1. Trình bày các bản sửa lỗi trên cơ sở gần như không đổi, thông qua cập nhật thường xuyên và cập nhật điểm.
  2. Cam kết về tính tương thích ngược, khuyến khích người dùng cài đặt các bản cập nhật thường xuyên đó.

Mặc dù tất cả những nỗ lực này, WordPress – giống như mọi ứng dụng web và Hệ thống quản lý nội dung (CMS) – vẫn cần một bàn tay giúp đỡ thường xuyên để ngăn chặn sự xâm nhập. Tin tốt là đây là thứ hoàn toàn nằm trong tầm kiểm soát của bạn.

3 cuộc tấn công WordPress phổ biến bạn có thể ngăn chặn

Như chúng tôi đã đề cập ở trên, không nền tảng nào có thể hoàn toàn an toàn. Trong phần này, chúng tôi sẽ đề cập đến ba trong số các cuộc tấn công phổ biến nhất theo nhóm phát triển WordPress và thảo luận cách bạn có thể giữ chúng ở chế độ chờ.

1. Cross-Site Scripting (XSS)

Đầu tiên, Cross-Site Scripting (XSS) là một trong mười rủi ro bảo mật hàng đầu của OWASP, vì vậy nó đáng chú ý đặc biệt. Đây là thành viên của nhóm tấn công “injection” và xảy ra khi JavaScript được tải thông qua các yếu tố trang web động dễ bị tấn công – chẳng hạn như biểu mẫu liên hệ và các trường nhập người dùng khác. Một trường hợp đáng chú ý của một cuộc tấn công XSS nghiêm trọng xảy ra vào năm 2013, nhắm mục tiêu Yahoo. Cuộc tấn công này để lại tài khoản người dùng trong tay của tin tặc.

Như bạn có thể tưởng tượng, một cuộc tấn công XSS có thể làm giảm đáng kể sự tin tưởng của khách hàng trong doanh nghiệp của bạn (hoặc của khách hàng của bạn). Như vậy, việc thực hiện các biện pháp cần thiết để ngăn chặn một cuộc tấn công như vậy sẽ là một ưu tiên. May mắn thay, bạn có thể đóng dấu XSS bằng cách đơn giản thoát khỏi đầu ra của bạn một cách chính xác, và loại bỏ các dữ liệu không mong muốn.

Lấy mẩu HTML này, ví dụ:

<img src="<?php echo esc_url( $great_user_picture_url ); ?>" />

Hàm esc_url () dành riêng cho WordPress và thay thế các ký tự nhất định để ngăn chặn các cuộc tấn công XSS. Ví dụ khác, hãy xem đoạn mã sau:

$allowed_html = array(
    'a' => array(
        'href' => array(),
        'title' => array()
    ),
    'br' => array(),
    'em' => array(),
    'strong' => array(),
);
  
echo wp_kses( $custom_content, $allowed_html );

Ở đây, wp_kses () đã được sử dụng để chỉ cho phép các phần tử HTML và các thuộc tính được chỉ định xuất hiện trong một chuỗi.

Đây là hai chức năng đặc biệt của WordPress để chống lại XSS trong các dự án của riêng bạn. Sử dụng các biện pháp này và các biện pháp tương tự là một cách thông minh để thắt chặt bảo mật trang web của bạn.

2. SQL Injection

SQL injection có liên quan chặt chẽ với XSS, ở chỗ nó đòi hỏi một điểm vào dễ bị tổn thương dựa trên các nỗ lực vệ sinh của bạn. Tuy nhiên, sự khác biệt ở đây là các cuộc tấn công trực tiếp ảnh hưởng đến cơ sở dữ liệu của bạn, có thể có hậu quả tai hại. SQL injection có thể ảnh hưởng đến bất kỳ trang web, đáng chú ý nhất là cách của NASA trở lại vào năm 2009. May mắn thay, WordPress làm cho nó tương đối dễ dàng để ngăn chặn các cuộc tấn công SQL injection.

Các API WordPress tiêu chuẩn cung cấp một số hàm để giúp bảo vệ dữ liệu được nhập từ các lần tiêm SQL. Ví dụ: add_post_meta () cung cấp cho bạn cách bảo mật bằng cách sử dụng lệnh INSERT INTO của SQL, nghĩa là bạn không phải thêm các cuộc gọi cơ sở dữ liệu theo cách thủ công vào mã của mình.

Tất nhiên, một số truy vấn SQL của bạn sẽ không đơn giản như vậy và có khả năng API sẽ không tính đến chúng. Trong những tình huống này, bạn sẽ muốn chuyển sang lớp wpdb. Dưới đây là ví dụ về cách hoạt động:

$wpdb->get_var( $wpdb->prepare(
  "SELECT something FROM table WHERE foo = %s and status = %d",
  $name, // an unescaped string (function will do the sanitization for you)
  $status // an untrusted integer (function will do the sanitization for you)
) );

Như bạn có thể thấy, chúng tôi đã sử dụng hàm $ wpdb-> prepare () để thoát khỏi truy vấn SQL trước khi thực thi nó. Đây chỉ là đỉnh của tảng băng trôi, và có nhiều thứ hơn dưới sự che chở của WordPress để giúp ngăn chặn các cuộc tấn công SQL injection.

3. Cross-Site Request Forgery (CSRF)

Cuối cùng, chúng tôi có CSRFs – phát âm là “sea-surfs“. Tóm lại, đây là nơi một người dùng quên lãng bị lừa khi thực hiện hành động lựa chọn của kẻ tấn công. Để hiểu cách thức hoạt động của cuộc tấn công này, bạn nên xem xét các yêu cầu đơn giản (như nhấp vào liên kết) hoạt động như thế nào dưới mui xe. Cuối cùng, các yêu cầu này là một trong hai loại: GET hoặc POST. Trước đây là một yêu cầu cho một trang, và sau đó là khi dữ liệu được gửi đến máy chủ.

Hãy xem xét một tìm kiếm của Google cho WordPress, nơi mà trình duyệt để Google bắt đầu một phản ứng GET, và tìm kiếm WordPress trở thành yêu cầu POST. CSRF là khi điều này xảy ra mà không có sự đồng ý của người dùng. YouTube là một trong nhiều trang web không chống lại cuộc tấn công này và nếu trang web nổi bật có thể dễ bị tấn công, bạn cần phải làm tất cả những gì có thể để giữ cho trang web của mình an toàn nhất có thể.

Giải pháp ở đây là sử dụng ‘nonces’ – mã thông báo bảo mật sử dụng một lần được thiết kế để bảo vệ URL và biểu mẫu không bị xâm phạm. Hãy xem ví dụ mã này:

form method="post">
   <!-- some inputs here ... -->
   <?php wp_nonce_field( 'name_of_my_action', 'name_of_nonce_field' ); ?>
</form>

Ở đây, chúng tôi đã sử dụng hàm wp_nonce_field () để thêm một nonce vào biểu mẫu của chúng tôi. Điều này sẽ đảm bảo rằng người dùng có ý định thực hiện hành động (i.e. submitting the form) như mong đợi và rằng họ không cần phải làm gì ở giao diện người dùng.

Việc xác nhận nonce không yêu cầu cài đặt bất kỳ thông số cụ thể nào, nhưng có các tùy chọn liên quan đến hành động nhập liệu và tên có thể làm cho web của bạn an toàn hơn. Hơn nữa, cũng có các chức năng để thêm nonces vào URL, cũng như định dạng tùy chỉnh lý tưởng cho các yêu cầu AJAX.

Lời kết

Nền tảng hỗ trợ khoảng 30% web cần phải có tính chất vững chắc và điều này chắc chắn đúng với WordPress. Tuy nhiên, không nền tảng nào có thể đảm bảo an ninh 100%. Một số cuộc tấn công có thể làm tê liệt một trang web WordPress, vì vậy bạn cần phải làm những gì bạn có thể để đảm bảo rằng người dùng độc hại có một thời gian khó cố gắng để hack trang web của bạn.

Để giúp bạn bắt đầu, chúng tôi đã xem xét ba cuộc tấn công WordPress phổ biến và cách khắc phục chúng. Hãy tóm tắt lại một cách nhanh chóng:

  1. Cross-Site Scripting: Cuộc tấn công này có thể được sửa bằng cách thoát khỏi các đầu ra của bạn một cách chính xác.
  2. SQL Injection: Cuộc tấn công liên quan này lợi dụng việc dữ liệu kém bảo mật để truy cập cơ sở dữ liệu SQL .
  3. Cross-Site Request Forgery: WordPress nonces có thể giúp xác thực hành động của người dùng và đảm bảo rằng hành động đó là hợp pháp.

 

Bạn đã bao giờ bị ảnh hưởng bởi bất kỳ lỗ hổng nào chưa, và nếu có, kết quả là gì? Chia sẻ câu chuyện của bạn trong phần bình luận bên dưới!

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x