SQLインジェクションに失敗しました

WBOY
リリース: 2016-06-13 13:10:28
オリジナル
1025 人が閲覧しました

エキスパート SQL インジェクションが失敗しました!
SQL インジェクションをテストするために独自のログインを作成しました。データベースでテストできますが、ここでは常に失敗します。アドバイスをお願いします。
login.php

HTML コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>登陆界面-SQl注入测试</title>
</head>

<body>
<form method="post" name="form1" action="loginCl.php">
<table>
<tr><td>用户名:</td><td><input type="text" name="username"/></td></tr>
<tr><td>密  码:</td><td><input type="password" name="password"/></td></tr>
<tr><td><input type="submit" value="登陆"/></td><td><input type="reset" value="重置"/></td></tr>

</table>
</form>
</body>
</html>


ログイン後にコピー


loginCl.php
PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<?php

$username = $_REQUEST['username'];
$password = $_REQUEST['password'];


$conn=mysql_connect('localhost','root','315824');
if(!$conn){
    echo "数据库连接失败".mysql_error();
}

mysql_select_db('test',$conn);

$sql="select * from users where username='$username' and password='$password'";

$res=mysql_query($sql,$conn);

if( mysql_num_rows($res) != 0 ){
    header("location:manageCenter.php");
}else{
    echo "用户名或密码错误,<a href='login.php'>重新登陆</a>";

}


?>

ログイン後にコピー


manageCenter .php
HTML コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>管理中心</title>
</head>

<body>
欢迎管理员,管理中心!
</body>
</html>

ログイン後にコピー


ユニバーサル パスワードをデータベースに挿入します。 ユーザー名 = 'sean' およびパスワード = 'cuwumima' または 1='1 のユーザーから * を選択します。 ' ;
成功する可能性がありますが、ログイン パスワードに cuwumima' または 1='1 を入力すると成功しません。 loginCl.php で受け取ったパスワードは次のようになります: cuwumima' または 1='1 これを解決するにはどうすればよいですか?よろしくお願いします!


-----解決策---------------------------- -
magic_quotes_gpc チェックしてください。オンに設定されているかどうかを確認してください。
------解決策---------
話し合う
magic_quotes_gpc と magic_quotes_runtime、php.ini でこれら 2 つの関数を ON に設定してみてください。 。 。 。 。

------解決策---------
悪者ci1699に教えてもらいましょう...
------解決策------------------
つまり、環境フィルタリングがオフになっていないということです。 。
phpinfo() php.ini のパスをチェックして、正しいものがあるかどうかを確認します。

設定は magic_quotes_gpc

get_magic_quotes_gpc() これは PHP 関数
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!