Affichage des articles dont le libellé est SQL injection. Afficher tous les articles
Affichage des articles dont le libellé est SQL injection. Afficher tous les articles

Nginx – Comment bloquer les attaques les plus courantes ?

Posted on dimanche 12 août 2012 - 0 commentaires -




Petite astuce si vous utilisez Nginx et que vous souhaitez vous prémunir simplement de la plupart des exploits, injections SQL, injections de fichiers, spam et pompeurs de bande passante et hackers aux user-agent plus que louche...

Il suffit de rajouter dans vos vhosts nginx la config suivante dans un conteneur server{}. Vous remarquerez probablement que la règle concernant wget est mise en commentaires.

C'est par précaution car souvent, les CMS que nous utilisons se servent de wget dans leurs jobs cron. Mais si ce n'est pas le cas pour vous, alors vous pouvez décommenter cette partie.



server {
    ## 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;
    }
    ## 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;
    }
    ## Block common exploits
    set $block_common_exploits 0;
    if ($query_string ~ "(<|%3C).*script.*(>|%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;
    }
    ## Block spam
    set $block_spam 0;
    if ($query_string ~ "\b(ultram|unicauca|valium|viagra|vicodin|xanax|ypxaieo)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(erections|hoodia|huronriveracres|impotence|levitra|libido)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(ambien|blue\spill|cialis|cocaine|ejaculation|erectile)\b") {
        set $block_spam 1;
    }
    if ($query_string ~ "\b(lipitor|phentermin|pro[sz]ac|sandyauer|tramadol|troyhamby)\b") {
        set $block_spam 1;
    }
    if ($block_spam = 1) {
        return 403;
    }
    ## Block user agents
    set $block_user_agents 0;
    # Don't disable wget if you need it to run cron jobs!
    #if ($http_user_agent ~ "Wget") {
    #    set $block_user_agents 1;
    #}
    # Disable Akeeba Remote Control 2.5 and earlier
    if ($http_user_agent ~ "Indy Library") {
        set $block_user_agents 1;
    }
    # Common bandwidth hoggers and hacking tools.
    if ($http_user_agent ~ "libwww-perl") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetRight") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GetWeb!") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go!Zilla") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Download Demon") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "Go-Ahead-Got-It") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "TurnitinBot") {
        set $block_user_agents 1;
    }
    if ($http_user_agent ~ "GrabNet") {
        set $block_user_agents 1;
    }
    if ($block_user_agents = 1) {
        return 403;
    }
}


Une fois que c'est en place, n'oubliez pas de redémarrer Nginx.

/etc/init.d/nginx reload


La Mole v0.3 en téléchargement - Outil automatique SQL Injection exploitation

Posted on lundi 16 juillet 2012 - 0 commentaires -


La Mole est un outil automatique SQL Injection d'exploitation. Tout ce que vous devez faire est de fournir une URL vulnérables et une chaîne valide sur le site que vous testez et The Mole permettra de détecter l'injection et de l'exploiter, soit en utilisant la technique de l'union ou d'une technique basée sur requête booléenne.


caractéristiques

  • Soutien pour les injections en utilisant MySQL, MS-SQL Server, Postgres et bases de données Oracle. Interface de ligne de commande. 
  • L'auto-complétion pour les commandes, les arguments de commande et les noms de base de données, tables et les colonnes. Prise en charge de filtres, afin de contourner certaines IPS ou IDS règles en utilisant des filtres génériques, et la possibilité d'en créer de nouveaux facilement. 
  • Exploits Injections SQL par le biais de GET / POST / Cookie paramètres. 
  • Développé en Python 3. Exploits injections SQL qui retournent des données binaires. 
  • Interpréteur de commandes puissant pour simplifier son utilisation. 




Vous pouvez télécharger la v0.3 Mole ici:
windows
linux