ホームページ バックエンド開発 PHPチュートリアル PHP_PHP チュートリアルでの SQL インジェクション攻撃と XSS 攻撃の詳細な説明

PHP_PHP チュートリアルでの SQL インジェクション攻撃と XSS 攻撃の詳細な説明

Jul 21, 2016 pm 03:18 PM
php sql xss そして コード コピー 埋め込む 攻撃 書類 注射

例: SQL インジェクション攻撃
ですが、SQL インジェクションの根本的な問題を解決できるものはありません
コードを参照してください:

コードをコピーします
コードは次のとおりです:


mysql_connect ("localhost","root","123456") または die ("データベース接続に失敗しました!");
$user=$_post['uid']; ['pass'];
if(mysql_query("SELECT * from where
admin
= `username`='$user' or `password`='$pwd'"){
echo "ユーザーは正常にログインしました。 ";
} eles {
echo "ユーザー名またはパスワードが正しくありません"; } ?>
非常に単純なコードで、機能はユーザー名またはパスワードが正しいかどうかを確認することですが、一部の悪意のある攻撃者はいくつかの機密コード。その結果は想像できます。ポストは注入方法を決定します
1. フォームフォームのテキストボックスに「or'1'=1」または「and 1=1」を入力します。データベースにクエリを実行するステートメントは次のようにする必要があります:
SELECT admin from wherelogin = `user`= ''or'1'=1' or `pass`='xxxx'
もちろん、 or は and を意味するため、エラーは発生しません。 、または SQL ステートメント内で、SQL ステートメントを実行できることがわかったら、たとえば、正しい管理者アカウントとパスワードを使用してログを取得できます。
修復方法 1:
JavaScript スクリプトを使用して特殊文字をフィルタリングします (推奨されません。このインジケーターは問題を解決しません)
攻撃者が JavaScript を無効にしても、SQL インジェクション攻撃を実行できる可能性があります。 mysql の組み込み関数を使用してフィルタリングします。



次のようにコードをコピーします。


< ?php
// データベースへの接続などの操作を省略します。
$user=mysql_real_escape_string _POST['user']);
mysql_query("select * from admin whrer `username`='$user'")
?>


XSS 攻撃と防御について話しましょう。 。 。
フォームを送信します:



コードをコピーします

コードは次のとおりです:

< ;intup tyep="submit" name="sub" value="Submit">
ファイルを受信:



コードをコピー

コードは次のとおりです。


if(empty($ _POST['sub'])){
echo $_POST['test'];
} 非常に単純なコードで、ここでは使用シナリオをシミュレートするだけです。攻撃者が送信する<script>alert(document.cookie);</script>
返されたページには現在のページの Cookie 情報が表示されます。
これを一部の掲示板(事前にフィルタリングされていない)に適用し、管理者が変更された情報を確認する際に COOKIE 情報を盗み、攻撃者のスペースまたはメールボックスに送信することができます。 。攻撃者は Cookie 修飾子を使用してログイン侵入を実行できます。 。
もちろん、解決策はたくさんあります。 。最も一般的に使用される方法の 1 つを紹介しましょう。
修復 1: JavaScript を使用してエスケープします
修復 2: php の組み込み関数を使用してエスケープします
コードは次のとおりです:
[code]
if(empty($_POST['sub'])){
$str= $ _POST['test'];
htmlentities($srt);
echo $srt; [html] SQL インジェクション攻撃と XSS 攻撃のケースと修復方法については以上です。 もちろん他の解決策もあります: 例: php フレームワークを使用する
他の方法もあります。 。もちろん、XSS には数多くの幅広い適用範囲と攻撃方法があります。この記事は php の送信方法のみをフィルタリングしています。他にも自分で勉強する必要があることがあります ^_^~
この記事はここに公開されています: Aey uhost チーム (team.hake.cc)、転載する場合は著作権を提示してください。

y0umer
2012/6/7


http://www.bkjia.com/PHPjc/325589.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/325589.html

技術記事

例: SQL インジェクション攻撃

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles