zhanzuo.com的一个漏洞

//点击这里, 你可以看到服务器上的 /etc/passwd 里面的内容就会爆出来。仔细看一下URL。


// 注: 其中char(47,101,116, 99,47,112,97,115,115,119,100)是'/etc/passwd' 字母分割成一个一个后ord()一下生成的

#原理很简单,估计它查询是这样的
$user_id = $_GET['user_id'];
// 要解决很简单,直接 $user_id = (int) $_GET['user_id'];就行了。
SELECT * FROM user WHERE user_id = {$user_id}

然后$user_id 没有加任何的过滤。 大家注意啊,每一条SQL语句,新手特别容易错过 SELECT 查询的过滤。
我们Hellochina.com程序层采用的是我们自己写的一套MVC架构,所有的uri 都 rewrite 到 index.php ,然后建立一个统一处理uri请求的类,在一次请求启动的时候,加上层层的安全检测和过滤,安全性无疑比上面的要强多了。^_^,后面会慢慢和大家分享这个框架。

Hello world!

欢迎大家来到的我博客,我是dengjiuhong, 新的blog,初始化完成后,开始记录den的足迹。


<?php
/**
 * 天天天蓝入口
 *
 * @author Jiuhong Deng <dengjiuhong@gmail.com>
 * @version $Id$
 */
if (DIRECTORY_SEPARATOR === '\\') {
	define('ROOT', str_replace('\\', '/', dirname(dirname(__FILE__))));
} else {
	define('ROOT', dirname(dirname(__FILE__)));
}
define('APP_PATH', ROOT . '/code/');

require_once(ROOT . '/code/base/core.php');
core::getInstance()->run();
Back to Top