关于审计方法可以定位敏感关键字 , 回溯参数传递过程,定位敏感功能点,通读功能点代码。黑盒测试 + 白盒测试
把bluecms的源码导入到Seay源代码审计系统中,开始自动审计。审计完成后根据正则配到的疑似存在漏洞的文件进行审计。
SQL注入
有个ad_js.php文件中getone方法中疑似存在漏洞我们进去分析一下
ad_js.php文件代码
<?php
/**
* [bluecms]版权所有 标准网络,保留所有权利
* This is not a freeware, use is subject to license terms
*
* $Id:ad_js.php
* $author:lucks
*/
define('IN_BLUE', true);
require_once dirname(__FILE__) . '/include/common.inc.php';
$ad_id = !empty($_GET['ad_id']) ? trim($_GET['ad_id']) : '';
if(empty($ad_id))
{
echo 'Error!';
exit();
}
$ad = $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id);
if($ad['time_set'] == 0)
{
$ad_content = $ad['content'];
}
else
{
if($ad['end_time'] < time())
{
$ad_content = $ad['exp_content'];
}
else
{
$ad_content = $ad['content'];
}
}
$ad_content = str_replace('"', '\"',$ad_content);
$ad_content = str_replace("\r",