漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2013-017641
漏洞标题:51比购网问题打包
相关厂商:51比购网
漏洞作者: 小胖胖要减肥
提交时间:2013-07-08 22:07
修复时间:2013-08-22 22:07
公开时间:2013-08-22 22:07
漏洞类型:设计缺陷/逻辑错误
危害等级:中
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2013-07-08: 细节已通知厂商并且等待厂商处理中
2013-07-09: 厂商已经确认,细节仅向厂商公开
2013-07-19: 细节向核心白帽子及相关领域专家公开
2013-07-29: 细节向普通白帽子公开
2013-08-08: 细节向实习白帽子公开
2013-08-22: 细节向公众公开
简要描述:
51比购网问题打包,多个问题,包括设计缺陷,页面绕过等
详细说明:
1 找回密码处发送邮件地址和发送验证邮件2个地方对于发送邮件没有限制,可导致邮件炸弹,其实更严重的是对于不存在地址的恶意发送导致ddos邮件服务器
见邮箱截图
2 查看用户名是无法查看全名的,有带*,但是在一些页面却没有导致用户名屏蔽失效
包括动态转发处和查看动态处
如图
漏洞证明:
好了,个人觉得上面2个都是小问题,下面一个比较大的问题了
开始之前先说说对于请求这个东西
请求分post和get
一般使用form表单或者ajax提交,ajax优势在于异步,提高用户体验
那么get和post的区别是什么呢,get是只有url传递参数的,全部参数都在url比较不安全,
因为可以通过浏览器历史记录查看,post的url只是一个接口,参数在表单里面,如果是加密传输基本很难被破解,想比比get安全很多,所以现在网站大多使用post提交。
不过很多程序员会犯的一个错误是解析请求的时候,即使全部使用了post提交,但是解析的时候还是分解析方式的
get使用Request.QueryString,post使用Request.Form,而部分的话直接Request.Name
如果程序员没有区分解析方式就会导致post请求使用get也能触发
意思就是表单参数内容可以放在url中传递
这样还是很危险的,比如51比购正好会有这个问题,发表动态或者引用站外图片的地方
详细讲讲站外图片处,由于没有直接对<img>标签做处理
那么我们就直接使用
和
可以进行刷关注(访问某某动态自动加关注)和自动发送动态的2个请求
虽然危害还不是特别高,但全站处理都是如此,不能保证没有高危的地方,
我也没有好好测试,那么具体看下效果截图吧
第一个自动加关注
第二个自动发送动态
修复方案:
1 限制验证码和找回邮件2个地方的邮件发送次数
2 屏蔽2处不该显示的用户全名,查看其他地方是否还有该问题
3 如果想好好解决这个问题就重新写一个请求类
要求为(1) 统一使用post请求
(2) 请求统一只解析form表单内容,不解析url内容
(3) referer判断(已做)
(4) 要更安全就再加一个token
差不多了,理论+实际,希望厂商重视,有的话给个小礼物
版权声明:转载请注明来源 小胖胖要减肥@乌云
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:4
确认时间:2013-07-09 09:29
厂商回复:
感谢反馈,部分小问题的确考虑不周全,已安排修复,希望能继续帮忙查漏,谢谢!
最新状态:
暂无