Computer >> Máy Tính >  >> Kết nối mạng >> An ninh mạng

Bộ mã trang web ou Laravel piraté? Vulnérabilités courantes de Codeigniter et Laravel avec Correctifs

Laravel et Codeigniter sont tous deux des frameworks PHP phổ biến các trang web. Leur Folkarité peut également être accréditée par la nature open source des deux framework. Cependant, les effisateurs doivent comprendre que le déploiement de sites usedisant ces framework ne les rend pas sûrs. Ce sont les pratiques de développement sécurisées qui comptent. L’injection SQL dans Codeigniter et l’injection SQL dans Laravel sont les deux sujets de sécurité les plus courants sur les forum d’aide. En dehors de SQLi, les pratiques de développement dangereuses font également les sites vulnérables aux XSS, CSRF, attaques RFI, v.v.

Trang web Codeigniter et Laravel piraté:exeamples

Des attaques com l’injection SQL dans Codeigniter ou Laravel peuvent compromettre le site Web. Ces attaques sont assez courantes et répandues. Par conséquent, un grand nombre d’utilisateurs souffrant d’attaques similaires peuvent être ladvés demandant de l’aide sur le forum de la Communauté Laravel ou le forum de la Communauté Codeigniter. Certains de ces exeamples sont donnés ci-tráng miệng.

Bộ mã trang web ou Laravel piraté? Vulnérabilités courantes de Codeigniter et Laravel avec Correctifs Bộ mã trang web ou Laravel piraté? Vulnérabilités courantes de Codeigniter et Laravel avec Correctifs

Dấu hiệu của Codeigniter ou Laravel Hack

  • Des pages de phishing Laravel ou Codeigniter conçues pour voler des informationations sensibles apparaissent sur le site Web.
  • Les Pracisateurs se plaignent d’être redirigés vers des site malveillants.
  • Le contenu de Gibberish apparaît sur le site de Laravel ou Codeigniter en raison du hachage de mots-clés japonais ou du hack Pharma, v.v.
  • Le site Web de Laravel ou Codeigniter chệch hướng cho vay et affiche des messages d’erreur.
  • Lors de l’utilisation d’un hébergement tiers, ”Votre compte a été Susu!” apparaît.
  • Le site Laravel ou Codeigniter est mis sur liste noire par les moteurs de recherche.
  • Les journaux d’erreurs montrent certaines attaques pra l’injection SQL dans Codeigniter sur le site.
  • Les journaux affichent la Connexion au site Web à partir d’adresses IP xa.
  • De nouveaux managementrateurs voyous apparaissent dans la base de données de Connexion.

Gây ra fondamentales de Codeigniter ou Laravel Hack

1) Codeigniter ou Laravel Hack:attaques par injection

a) Chèn SQL dans Codeigniter ou Laravel

L’injection SQL dans Codeigniter est une attaque très courante qui est largement répandue sur le Web. Comme son nom l’indique, l’attaque cible la base de données du serveur. Exploitant l’injection SQL dans Codeigniter, l’attaquant peut:

  • Récupérez les données de la base de données.
  • Bổ ngữ le contenu de la base de données (comprend la suppression de la base de données entière!)
  • Dans certains cas, obtenir un shell inversé.
  • Authentification de contournement en useisant une entrée com ou 1 =1.

b) Injection de code PHP dans Codeigniter / Laravel

L’injection de code PHP est un autre type de vulnérabilité courante qui permet aux attaquants d’exécuter du code sur le site Web Laravel / Codeigniter. Cependant, elle diffère de l’injection de commandes dans le sens où l’attaquant ne peut exécuter que les commandes de ce langage Specific. L’injection de commandes permet à un attaquant d’exécuter des commandes via un shell inversé. Par exemple, le paramètre vulnérable peut être Fourni avec un lien vers un fichier malveillant qui contient du code PHP à exécuter, à savoir https://testsite.com/?page=https://evilsite.com/evilcode.php

Ce fichier peut Contenir des fonctions comm phpinfo () qui peuvent être dùngisées pour obtenir des thông tin.

2) Codeigniter ou Laravel Hack:Cross-Site Scripting dans Codeigniter / Laravel

La vulnérabilité XSS se produit dans les trang Web Laravel / Codeigniter en raison du manque de nettoyage des entrées. Các cán bộ của Les deux ont des fonctions de sécurité spécialement conçues pour éviter ces attaques. Exploitant une attaque XSS, les attaquants peuvent:

  • Les useisateurs de phishing pour voler des cookies et autres données de session sensibles.
  • Redirigez les effisateurs so với un site malveillant.
  • Utilisé pour contourner la stratégie de même origine.

3) Laravel ou Codeigniter Hack:falsification de suggest interite dans Codeigniter / Laravel

Cette attaque vise à inciter les effisateurs à effectuer des action indésirables. Cependant, ce type d’attaque ne peut être usedisé que pour sportsuler les données (đàn áp de formulaires, v.v.) et non pour les voler ou les lire. Dans le pire des cas, si la victime est l’administrateur, l’application entière peut être détruite. Cette attaque using des astuces d’ingénierie sociale pour inciter les victimes à cliquer sur un lien qui exécute des commandes comm la suppression d’un compte en comeère-plan.

Bộ mã trang web ou Laravel piraté? Vulnérabilités courantes de Codeigniter et Laravel avec Correctifs

Codeigniter ou trang web Laravel piraté ?. Envoyez-nous un message sur le widget de chat et nous serons heureux de vous aider à résoudre ce problème. Il. Trang web Correction de mon Web Laravel / Codeigniter piraté.

4) Protéger votre trang Web Codeigniter / Laravel

Codeigniter ou Laravel Hack:éviter l’injection SQL dans Codeigniter

Codeigniter est livré avec des tonnes de fonctionnalités de sécurité. Certains d’entre eux incluent des fonctions et des bibliothèques pour éviter l’injection SQL dans Codeigniter. Bài báo của Dans cet, j’expliquerai 3 méthodes hiệu trưởng đổ đồng ý la tâche une par une.

Codeigniter ou Laravel Hack:échapper aux yêu cầu dans Codeigniter

Échapper les données avant de les soumettre à l’application PHP les désinfecterait. C’est donc une pratique sûre qui doit être suivie régulièrement. Même les suggest d’échappement peuvent être effectuées qua trois méthodes:

  1. $ this-> db-> Escape (): détermine le type de données avant de s’échapper
  2. $ this-> db-> Escape_str (): ne détermine pas le type de données, l’échappe simplement.
  3. $ this-> db-> Escape_like_str (): Peut être useisé avec des điều kiện.

Đổ bộ làm sạch davantage, consultez l’extrait de code ci-tráng miệng.

$ email =$ this-> input-> post (’email’);
$ query =‘SELECT * FROM subscriber_tbl WHERE user_name =’. $ this-> db-> Escape ($ email);
$ this-> db-> query ($ query);
?>

Mã Dans ce, la fonction $ this-> db-> Escape () détermine d’abord le type de données afin d’échapper độc đáo les données de chaîne. Ngoài ra, tôi sẽ bắt đầu tự động hóa theo phương pháp tự động hóa les guildlemets simples autour des données d’entrée. Cela empêche l’injection SQL dans Codeigniter.

Codeigniter ou Laravel Hack:recêtes de liaison dans Codeigniter

Les suggest de liaison peuvent également simplefier le code en plus de nettoyer les entrées du site Codeigniter Web. Cette méthode permet au système de poser des suggest, réduisant ainsi la complexité pour le développeur. Phần chú giải, liên quan đến mã số ci-tráng miệng.

db-> query ($ sql, array (‘active’, ‘[email protected]’));?>

Ici, vous pouvez remarquer des points d’interrogation dans la première ligne au lieu de valeurs. En raison de la liaison de suggest, ces points d’interrogation sont remplacés à partir des valeurs du tableau sur la deuxième ligne. Dans l’exemple précédent, nous avons vu une sweête manuelle s’échapper, mais ici, cette méthode l’accomplit automatiquement. De ce fait l’arrêt de l’injection SQL dans Codeigniter.

Codeigniter ou Laravel Hack:enregistrement de classe active dans Codeigniter

La fonction d’enregistrements actifs de Codeigniter nous permet d’effectuer des opérations de base de données avec un Minimal de lignes de code ou de scripts. Puisqu’il s’agit d’une fonction du système lui-même, l’échappement de la suggest se fait automatiquement. Par exemple, toutes les données de la table peuvent être récupérées par une simple recête:

$ query =$ this-> db-> get (‘mytable’);

Codeigniter ou Laravel Hack:éviter l’injection SQL dans Laravel

Le mappage Relationsnel-objet de Laravel sử dụng la liaison de données d’objet PHP pour désinfecter les entrées optiisateur, ce qui empêche à son tour l’injection SQL Laravel. La liaison de paramètres ajoute également des guildlemets automatiquement, empêchant ainsi une entrée dangereuse comm ou 1 =1 de contourner l’authentification.

$ results =DB ::select (‘select * from users where id =:id’, [‘id’ => 1]);

Voici une implémentation d’une sweête de liaison nommée dans Laravel.

Codeigniter ou Laravel Hack:éviter les scripts xen kẽ dans Codeigniter

Pour éviter d’éventuelles attaques XSS, Codeigniter est livré avec un filtre XSS pré-construit. Dans le cas où ce filtre rencontre une demande malveillante, il la converttit en son Rights de caractère, protégeant ainsi l’application. Có thể truy cập Ce filtre est qua la méthode xss_clean () :

$ data =$ this-> security-> xss_clean ($ data);

Cependant, les attaquants peuvent parfois injectioner du code malveillant dans les fichiers image. Pour éviter de telles attaques, la sécurité des fichiers téléchargés peut également être vérifiée. Par exemple, coiez le code donné ci-tráng miệng.

if ($ this-> security-> xss_clean ($ file, TRUE) ===FALSE)

{

// le fichier a échoué au thử nghiệm XSS

}

Mã Ce renverra une valeur booléenne Đúng si l’image est sûre et ngược lại. Cependant, il convient de noter ici qu’il est conseillé d’utiliser la méthode html_escape () si vous souhaitez filtrer les valeurs d’attribut HTML.

Codeigniter ou Laravel Hack:éviter les scripts Cross Site Laravel

En useisant une chaîne d’échappement, les attaques XSS peuvent être évitées sur les trang Web de Laravel. Les chaînes d’échappement empêcheront la đau khổ en œuvre d’une entrée non autorisée. Cependant, il est à noter ici que dans les phiên bản Laravel> 5.1, cette fonctionnalité est activée par défaut. Par conséquent, lorsque l’entrée com ceci:

{{$ task-> names}}
est Fournie aux phiên bản de Laravel au-tráng miệng de 5.1, l’application ne sera pas vulnérable en raison de l’échappement automatique des preferêtes. De plus, la limitation de la longueur des entrées fournies par l’utilisateur peut également empêcher certains type d’attaques XSS et SQLi. Cela peut être fait qua le code HTML donné ci-tráng miệng.

La même đã chọn peut être implémentée via une fonction JS. De plus, la cú pháp {% raw%} {{}} {% endraw%} dans Laravel peut par défaut échapper à toutes les entités HTML malveillantes transmises. De plus, certaines bibliothèques sont spécialement conçues pour cette tâche et pourraient être utilisées pour empêcher Laravel XSS. Si vous utilisez un moteur de modèle comme Blade, il utilisera automatiquement l’échappement pour empêcher de telles attaques.

Codeigniter ou Laravel Hack:empêcher les attaques CSRF dans Codeigniter

La protection CSRF peut être activée dans Codeigniter en modifiant le fichier application / config / config.php. Ajoutez simplement le code suivant au fichier:

$ config [‘csrf_protection’] =TRUE;

Pour les utilisateurs qui utilisent Form Helper, la fonction form_open () peut par défaut insérer un champ de jeton CSRF masqué dans les formulaires. L’autre façon de mettre en œuvre la protection CSRF consiste à utiliser get_csrf_token_name () et get_csrf_hash () . Pour référence, regardez les deux extraits de code ci-dessous d’un formulaire et d’une implémentation côté serveur.

$ csrf =tableau (

‘name’ => $ this-> security-> get_csrf_token_name (),

‘hash’ => $ this-> security-> get_csrf_hash ());

————————————————– ——————

” value =“” />

La régénération des jetons est également une autre pratique sûre pour empêcher les attaques Codeigniter CSRF. Cependant, la régénération des jetons peut être problématique car les utilisateurs peuvent avoir besoin d’une nouvelle validation après avoir navigué vers d’autres onglets. La régénération de jeton peut être effectuée par le paramètre de configuration suivant:

$ config [‘csrf_regenerate’] =TRUE;

Codeigniter ou Laravel Hack:prévenir les attaques CSRF dans Laravel

Les jetons sont implémentés sous des formes Laravel pour se protéger des attaques CSRF. Ces jetons sont ensuite appelés à l’aide d’un appel AJAX qui peut être trouvé intégré dans chaque formulaire. Les données du jeton de demande sont mises en correspondance avec celles stockées sur le serveur pour la session de l’utilisateur vérifiant les anomalies. Les jetons CSRF peuvent être transmis aux formulaires à l’aide du code suivant ( implémentation des modèles de lame ):

{!! csrf_field () !!}

Cependant, le jeton CSRF peut être ajouté par défaut lors de l’utilisation du package LaravelCollective / HTML.

Codeigniter ou Laravel Hack:Bloquer les rapports d’erreur

Les erreurs de fichier sont utiles dans l’environnement de développement. Cependant, sur le Web, les erreurs de fichier Codeigniter peuvent divulguer des informations potentiellement sensibles aux attaquants. Par conséquent, il est recommandé de désactiver le rapport d’erreurs.

Erreurs PHP

Pour désactiver le rapport d’erreurs PHP, utilisez le fichier index.php. Passez simplement zéro comme argument à la fonction error_reporting (). Regardez l’exemple donné ci-dessous pour référence.

error_reporting (0);

Cependant, pour CodeIgniter version 2.0.1 et supérieure, la constante d’environnement dans le fichier index.php peut être définie sur «production» afin de désactiver les sorties d’erreur PHP.

Erreurs de base de données

Les erreurs de base de données peuvent être désactivées en modifiant le fichier application / config / database.php. Définissez simplement l’option db_debug sur FALSE. Regardez l’exemple ci-dessous pour référence:

$ db [‘default’] [‘db_debug’] =FALSE;

Journalisation des erreurs

Un moyen intelligent serait de transférer les erreurs survenues dans les fichiers journaux, ce qui les empêcherait de s’afficher. L’option seuil de journalisation du fichier /config/config.php peut être définie sur 1 à cet effet. Regardez l’exemple donné ci-dessous.

$ config [‘log_threshold’] =1;

Utiliser un pare-feu d’application Web pour Laravel ou Codeigniter

Même les experts peuvent manquer certains paramètres qui pourraient rendre le site Laravel / Codeigniter vulnérable. De plus, les attaquants trouvent constamment de nouvelles façons de compromettre votre site. Par conséquent, une autre pratique sécurisée consiste à utiliser un pare – feu ou une solution de sécurité quelconque. Astra est une telle solution de sécurité conçue pour répondre à vos exigences flexibles. Payez uniquement pour ce que vous utilisez. Astra est une solution de sécurité prête à l’emploi avec des tarifs à partir de 9 $ par mois. Envoyez-nous un message et rapprochez-vous de la sécurisation de votre code PHP. Obtenez une démo maintenant!

Bộ mã trang web ou Laravel piraté? Vulnérabilités courantes de Codeigniter et Laravel avec Correctifs

Astra fournit un audit de sécurité complet pour votre site Web Laravel ou Codeigniter avec plus de 80 tests actifs, une bonne combinaison de tests manuels et automatisés.