ホームページ バックエンド開発 PHPチュートリアル 3 つの簡単なステップで SQL Server インジェクションの脆弱性をブロック_PHP チュートリアル

3 つの簡単なステップで SQL Server インジェクションの脆弱性をブロック_PHP チュートリアル

Jul 13, 2016 pm 05:02 PM
sql sqlserver 存在する 時間 とは 注射 抜け穴 ユーザー プログラム 単純 書く Webサイト

SQLインジェクションとは何ですか?
多くの Web サイト プログラムを作成する場合、ユーザー入力データの合法性が判断されず、アプリケーションにセキュリティ リスクが発生します。ユーザーはデータベース クエリ コード (通常はブラウザのアドレス バーで、通常の www ポート経由でアクセス) を送信し、プログラムから返された結果に基づいて知りたい特定のデータを取得できます。これがいわゆる SQL インジェクションです。つまり、SQL インジェクションです。
SQL インジェクションは、Web ページを通じて Web サイトのデータベースを変更します。管理者権限を持つユーザーをデータベースに直接追加できるため、最終的にはシステム管理者権限を取得できます。ハッカーは取得した管理者権限を利用して、Web サイト上のファイルを恣意的に取得したり、Web ページにトロイの木馬やさまざまな悪意のあるプログラムを追加したりして、Web サイトや Web サイトを訪問するネットユーザーに多大な損害を与える可能性があります。
SQL インジェクションを防ぐ素晴らしい方法があります
ステップ 1: 多くの初心者は、SQL ユニバーサル アンチインジェクション システムのプログラムをインターネットからダウンロードし、他のユーザーが実行するのを防ぐためにインジェクションを防ぐ必要があるページのヘッダーにそれを使用します。手動注入テスト。
しかし、SQLインジェクションアナライザーを使えば、アンチインジェクションシステムを簡単にスキップして、そのインジェクションポイントを自動的に分析することができます。その後、管理者アカウントとパスワードが分析されるまでに数分しかかかりません。
第二段階:注入分析装置の予防について、著者は実験を通じて簡単で効果的な予防法を発見した。まず、SQL インジェクション アナライザーがどのように機能するかを知る必要があります。操作中に、ソフトウェアが「admin」管理者アカウントではなく、権限 (flag=1 など) に指示されていることがわかりました。このように、管理者アカウントがどのように変更されても、検出を逃れることはできません。
ステップ 3: 検出を逃れることはできないため、2 つのアカウントを作成します。1 つは通常の管理者アカウント、もう 1 つはインジェクションを防ぐためのアカウントです。著者は、虚偽の印象を作成し、ソフトウェアによる検出を誘導する最高の権限を持つアカウントを見つけ、そのアカウントのコンテンツが 1,000 文字を超える漢字である場合、ソフトウェアが強制的にフルロード状態になり、このアカウントを分析するときにもリソースを使用してください。次にデータベースを変更しましょう。
1. テーブル構造を変更します。管理者のアカウントフィールドのデータタイプを変更し、テキストタイプを最大フィールドの255に変更し(実際にはこれで十分ですが、より大きくしたい場合はメモタイプを選択できます)、パスワードフィールドを同じに設定します方法。
2. テーブルを修正します。 ID1に管理者権限のあるアカウントを設定し、漢字を多め(できれば100文字以上)入力してください。
3. ID2以降の任意の位置(ID549など)に実際の管理者パスワードを入れます。
以上の3ステップでデータベースの修正が完了しました。
修正は完了しましたか?実際には、そうではありません。作成した ID1 アカウントは、実際には実際の権限を持つアカウントであることを理解する必要があります。これを計算する必要があるソフトウェアに遭遇した場合、これも危険です。この時点でほとんどの人がすでに方法を考えていると思います。はい、管理者がログインするページ ファイルに文字制限を書き込むだけです。相手がこのアカウントのパスワードを数千文字使ってもブロックされてしまいますが、実際のパスワードは制限されません。


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631099.html技術記事 SQLインジェクションとは何ですか? 多くの Web サイト プログラムは、ユーザー入力データの合法性を判断せずに作成されており、アプリケーションにセキュリティ リスクを引き起こします。ユーザーはデータベース クエリを送信できます...
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

GoogleマップをiPhoneのデフォルト地図にする方法 GoogleマップをiPhoneのデフォルト地図にする方法 Apr 17, 2024 pm 07:34 PM

GoogleマップをiPhoneのデフォルト地図にする方法

指定されたオブジェクトが sqlserver データベースにすでに存在するという問題を解決する方法 指定されたオブジェクトが sqlserver データベースにすでに存在するという問題を解決する方法 Apr 05, 2024 pm 09:42 PM

指定されたオブジェクトが sqlserver データベースにすでに存在するという問題を解決する方法

mdfファイルをsqlserverにインポートする方法 mdfファイルをsqlserverにインポートする方法 Apr 08, 2024 am 11:41 AM

mdfファイルをsqlserverにインポートする方法

Hibernate フレームワークにおける HQL と SQL の違いは何ですか? Hibernate フレームワークにおける HQL と SQL の違いは何ですか? Apr 17, 2024 pm 02:57 PM

Hibernate フレームワークにおける HQL と SQL の違いは何ですか?

sqlserver サービスを開始できない場合の対処方法 sqlserver サービスを開始できない場合の対処方法 Apr 05, 2024 pm 10:00 PM

sqlserver サービスを開始できない場合の対処方法

SQLサーバーのポート番号を確認する方法 SQLサーバーのポート番号を確認する方法 Apr 05, 2024 pm 09:57 PM

SQLサーバーのポート番号を確認する方法

sqlserverで誤って削除したデータベースを回復する方法 sqlserverで誤って削除したデータベースを回復する方法 Apr 05, 2024 pm 10:39 PM

sqlserverで誤って削除したデータベースを回復する方法

SQLserver データベースはどこにありますか? SQLserver データベースはどこにありますか? Apr 05, 2024 pm 08:21 PM

SQLserver データベースはどこにありますか?

See all articles