php4fun找出PHP漏洞小遊戲

php4fun是一個很好玩的PHP資訊安全小測試的網站,提供8道不同的題目,您要從出現的訊息以及原始碼中找到漏洞進而解答取得目標。

以第一題為例,頁面上出現Invalid password!。

看一下原始碼


<!--
#GOAL: get password from admin;
error_reporting(0);
require 'db.inc.php';

function clean($str){
	if(get_magic_quotes_gpc()){
		$str=stripslashes($str);
	}
	return htmlentities($str, ENT_QUOTES);
}

$username = @clean((string)$_GET['username']);
$password = @clean((string)$_GET['password']);

$query='SELECT * FROM users WHERE name=\''.$username.'\' AND pass=\''.$password.'\';';
$result=mysql_query($query);
if(!$result || mysql_num_rows($result) < 1){
	die('Invalid password!');
}

$row = mysql_fetch_assoc($result);

echo "Hello ".$row['name']."</br>";
echo "Your password is:".$row['pass']."</br>";
-->
Invalid password!

了解是要取得admin…..接下來就要思考透過sql injection的技巧去解題了。
php4fun

http://php4fun.sinaapp.com/

我要留言

留言

發表迴響

你的電子郵件位址並不會被公開。