当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-047113

漏洞标题:安居客支付漏洞0.01元可发布租房/商铺信息等

相关厂商:安居客

漏洞作者: 紫衣大侠

提交时间:2014-01-03 17:30

修复时间:2014-02-17 17:31

公开时间:2014-02-17 17:31

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-01-03: 细节已通知厂商并且等待厂商处理中
2014-01-03: 厂商已经确认,细节仅向厂商公开
2014-01-13: 细节向核心白帽子及相关领域专家公开
2014-01-23: 细节向普通白帽子公开
2014-02-02: 细节向实习白帽子公开
2014-02-17: 细节向公众公开

简要描述:

安居客代码逻辑设计不当,存在严重支付漏洞 。 另送备份文件下载、xss、csrf大礼包!

详细说明:


听朋友说安居客待遇还不错,能求一份扫地的工作么?哈哈~
废话不多说了,开始上图~~
注册帐号,然后发布二手房。

.png



点击立即发布,然后下一步。进入到“购买服务”,这里显示“支付100元您将获得:1个月房源展示”

.png


然后开始抓包,点击“付款”。 然后拦截数据包,am字段参数原本是100,现在修改成0.01

.png


之后forward,可以看到订单成功提交,金额变成了0.01.

.png


点击支付,由于没有逻辑判断,金额被修改成了0.01,成功购买!

.png



通过测试,发现全站发布二手房、租房、商铺等购买服务均存在该逻辑支付漏洞。0.01元就能发布个人住房,真值!


/////// 万恶的分割线 ////////
另外,通过测试该站的其他页面,发现了备份文件下载,多处反射型xss和csrf。这里选几个有针对性的地方演示~
1.备份文件下载,泄漏敏感信息。
URL : http://s.anjuke.com/config.php

<?php
$config['blocker_enable'] = false;
$config['memcached_server'] = '127.0.0.1';
$config['memcached_port'] = 11211;
$config['idc'] = 'IDC10';
/**
* patterns are defined just like unix shell filename matching.
* more info please reference fnmatch(3) of any linux or unix system.
*/
$config['invalid_ips'] = array(
'192.168.1.59',
// '192.168.201.*',
// '192.168.233.*'
);



2.xss,写字楼-楼盘
在搜索框输入:

"/><img src="#" onerror="alert(document.cookie)">



.png


xss, 商铺-物业

COOKIE.png



cookie存储了用户的帐号和md5加salt的密码。
3.CSRF,批量删除个人收藏,

.png


删除收藏 exp:

<form id="form" action="http://user.anjuke.com/ajax/favorite/del_favorite" method="POST">
<input type="hidden" name="cids" value="2185944_2185943_2185941">
</form>
document.getElementById('form').submit()


这里value值为收藏的房源的ID值。

漏洞证明:

支付逻辑漏洞:

.png


敏感信息泄漏:

<?php
$config['blocker_enable'] = false;
$config['memcached_server'] = '127.0.0.1';
$config['memcached_port'] = 11211;
$config['idc'] = 'IDC10';
/**
* patterns are defined just like unix shell filename matching.
* more info please reference fnmatch(3) of any linux or unix system.
*/
$config['invalid_ips'] = array(
'192.168.1.59',
// '192.168.201.*',
// '192.168.233.*'
);


xss漏洞:

COOKIE.png



修复方案:

1.支付漏洞属于逻辑错误,这里不应该将支付金额附带在GET请求中,就算调用了前台传递来的参数,也要过滤和筛选用户提交的数据。
2.重视安全测试,开发测试是一个整体,安全测试更是不能忽视的一个重要环节。
3.如何修复,程序猿懂的!

版权声明:转载请注明来源 紫衣大侠@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2014-01-03 21:28

厂商回复:

非常感谢您的报告,问题已着手处理。如果您有任何疑问,欢迎反馈,我们会有专人跟进处理

最新状态:

暂无