PHPのセキュリティ問題
Web 開発を行う場合、セットアップ時に「クライアント データを決して信頼しない」という基本的なセキュリティ知識を誰もが知っていると思います。そして、php は型付けが弱い言語です。多くの人は開発プロセス中に型変換を無視しており、パラメータのフィルタリングは計り知れない結果に直接つながります。
フィルター機能を使用しない場合、次のような状況が発生する可能性があります。
データベースに (SQL) が挿入されます。システムのクラッシュ、システム データの損失、ユーザー情報の損失を直接引き起こす可能性があります。 Web サイトがハッキングされた場合、ファイルが処理されると、Web サイトのファイルが削除される可能性があります。
多くの人が PHP セーフ モードをオンにしておけばすべてがうまくいくと考えていることにも言及しておく価値があります。実際にはそうではありません。多くのインジェクターは正面を迂回し、側面攻撃を実行します。
?0×7e、0×27 およびその他の (ASCII コード) 文字列を引用符として使用すると、PHP はそれらをフィルターできません。インジェクションの一般的な方法は、機密データ情報を取得するためにパラメータに多くの mysql?sql 構文を追加することです。
経験値:
|
mysql information_schema.tables はすべてのユーザーに表示され、すべてのテーブル構造情報とデータベース情報を見つけることができます。
PHP オープン ソース システムは数多くあります。多くのオープン ソース システムには、誰もが知っているデータ構造と機密情報テーブルがあります。 (もちろん犯罪者も含まれます)
ここでいう機密情報とは、多くの場合、ユーザー情報や管理情報のことです。現在、md5 の徹底的な検索が常に行われています。 md5 で暗号化されたパスワードの多くは、依然として平文に復号化できます。
多くのシステムでは、対応するセキュリティの改善が行われています。
以下に一般的なメソッドを紹介します:
フィルター関数を使用して、php filter security filter function.md5(?md5(‘ユーザーパスワード’) . ‘秘密キー’) で暗号化結果を取得します。一般的に使用される PHP オープン ソース システムのバックグラウンドでは、ディレクトリ名を変更する必要があります。多くのシステム バックエンドは、admin をバックエンドの入り口として直接使用します。 phpmyadmin などのデータベース オペレーティング ソフトウェアを Web サイトの表示ディレクトリに配置しないでください。
待ってください。 。その理由は、現在、そのような管理端末をスキャンするためのスキャン ツールが多数存在しているためです。
以下は衝撃的な写真です
?
?
mysql インジェクション
出典:?Martin Blog[http://www.blags.org/]
この記事のリンクアドレス:?http://www.blags.org/php-security-issue/
?