Trong tut này mình sẽ hướng dẫn các bạn cách chống Xss Exploits, Sql Injections, File Injections trên nginx

- Mở file vhost và thêm các đoạn sau vào trong phần server {}

1. Block SQL injections
SQL injections là Một cách mà hacker tận dụng lỗi trên trang web của bạn để hack vào cơ sở dữ liệu , rất nguy hiểm , để chặn ta dùng rules sau để block

Mã:
## Block SQL injections
    set $block_sql_injections 0;
    if ($query_string ~ "union.*select.*\(") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "union.*all.*select.*") {
        set $block_sql_injections 1;
    }
    if ($query_string ~ "concat.*\(") {
        set $block_sql_injections 1;
    }
    if ($block_sql_injections = 1) {
        return 403;
    }
2. Block file injections
Một dạng tấn công injections nhưng ở đây là vào file chứ không phải mysql , rules để block

Mã:
## Block file injections
    set $block_file_injections 0;
    if ($query_string ~ "[a-zA-Z0-9_]=http://") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=(\.\.//?)+") {
        set $block_file_injections 1;
    }
    if ($query_string ~ "[a-zA-Z0-9_]=/([a-z0-9_.]//?)+") {
        set $block_file_injections 1;
    }
    if ($block_file_injections = 1) {
        return 403;
    }
3. Block common exploits
Exploits hay xss

Mã:
## Block common exploits XSS
    set $block_common_exploits 0;
    if ($query_string ~ "(<|%3C).*script.*(>|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "(<|%3C).*.*(>|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "(<|%3C).*.*(|%3E)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "GLOBALS(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "_REQUEST(=|\[|\%[0-9A-Z]{0,2})") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "proc/self/environ") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "mosConfig_[a-zA-Z_]{1,21}(=|\%3D)") {
        set $block_common_exploits 1;
    }
    if ($query_string ~ "base64_(en|de)code\(.*\)") {
        set $block_common_exploits 1;
    }
    if ($block_common_exploits = 1) {
        return 403;
    }

Sau khi thêm các Rules muốn block xong thì phải khởi động lại nginx để có tác dụng nhé

Đăng nhận xét Blogger

 
Top