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

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

缺陷编号:wooyun-2015-0120767

漏洞标题:中国国旅修改任意用户密码/秒改

相关厂商:中国国旅

漏洞作者: 路人甲

提交时间:2015-06-16 09:15

修复时间:2015-06-16 18:01

公开时间:2015-06-16 18:01

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

危害等级:高

自评Rank:15

漏洞状态:厂商已经修复

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-16: 细节已通知厂商并且等待厂商处理中
2015-06-16: 厂商已经确认,细节仅向厂商公开
2015-06-16: 厂商已经修复漏洞并主动公开,细节向公众公开

简要描述:

第一次提交几天没有审核,最后给个未通过,好无语还以为是重复提交呢,结果原因是过程不详细,感觉挺详细的啊,那就再来一遍吧,看在写两次的份上给高分rank吧(过程很详细)!!!

详细说明:

先用一个用户走一遍正确的流程,提取正确响应码。

q.png


HTTP/1.1 200 OK
Server: CITS
Date: Mon, 15 Jun 2015 17:39:39 GMT
Content-Type: text/html; charset=UTF-8
Connection: keep-alive
Vary: Accept-Encoding
Content-Language: zh-CN
X-Powered-By: Servlet/2.5 JSP/2.1
Content-Length: 4947
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>重置密码</title>
<meta name="description" content="会员中心_重置密码">
<meta name="keywords" content="会员中心_重置密码">
<link href="http://file.cits.cn/online/images/cits_logo.ico" rel="icon" type="image/x-icon"/>
<link href="http://file1.cits.cn/online/images/cits_logo.ico" rel="shortcut icon" type="image/x-icon"/>
<link href="http://file1.cits.cn/css/b2c/common/??layout.css?v=1.0.1" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="http://file.cits.cn/js/b2c/jquery/??jquery-1.11.2.min.js,jquery.SuperSlide.2.1.js,jquery.jqtransform.js,jquery.DOMWindow.js,jquery.cookie.js,jquery.autocomplete.js,jquery.artDialog.js,jquery.lazyload.min.js?v=1.0.1"></script>
<meta name="location" content="province=河北;city=石家庄;coord=114.518502,38.052292">
<script>var _hmt =_hmt ||[];(function() {var hm =document.createElement("script");hm.src ="//hm.baidu.com/hm.js?e7bdd9d92a22943295c3a60a605361b3";var s =document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm,s);})();</script>
</head>
<body>
<div class="row m-t-0 bg_gray_1 top_style" id="headerTop" style="display: none;">
<div class="cav_1200">
<div class="atxt" id="memberStatus"></div>
</div>
</div>
<input type="hidden" id="loginID" value="">
<div class="headout">
<div class="headtop">
<a href="http://sjz.cits.cn"> <img src="http://file1.cits.cn/images/b2c/logo_1.png" alt="国旅在线" width="86" height="72"/>
</a> <a href="http://sjz.cits.cn"> <img src="http://file1.cits.cn/images/b2c/logo_2.png" alt="国旅在线" width="135" height="69" />
</a>
</div>
</div>
<script type="text/javascript">$.post("/member/status.html",function(data) {if (data.indexOf("登录") < 0) {$('#headerTop').show();$("#memberStatus").html(data);}
});</script>
<form id="form1" method="post">
<div class="login_con" align="center">
<div class="popoutUserS">
<h2 align="left">重置密码</h2>
<div class="popboxUserS">
<table class="tablebd">
<tr>
<td align="right">新密码</td>
<td align="left"><input type="password" name="password" id="password1" class="input_text" autocomplete="off" onblur="passwordCheck1()" onfocus="$('#password1Message').text('');" /></td>
<td width="40%"><font color="red" id="password1Message"></font></td>
</tr>
<tr>
<td align="right">确认密码</td>
<td align="left"><input type="password" name="password2" id="password2" class="input_text" onfocus="$('#password2Message').text('');" onblur="passwordCheck2()" /></td>
<td width="30%"><font color="red" id="password2Message"></font></td>
</tr>
<tr>
<td colspan="3" align="center"><input type="button" onclick="doSubmitForPswReset()" class="inpt_search" value="确定" /></td>
</tr>
</table>
</div>
</div>
</div>
<input type="hidden" id="password1Check" />
<input type="hidden" id="password2Check" />
<input type="hidden" name="submitType" id="submitType" />
</form>
<div class="footbox">
<div class="foottop">
联系我们:<a href="javascript:void(0)">service@cits.com.cn</a> | 咨询热线:<span>400-600-8888</span>
</div>
<div class="footbot">
Copyright © 2007-2014 中国国际旅行社总社有限公司<br />京ICP证020312号 | 京公网安备11010102000810号
</div>
</div>
<script type="text/javascript" src="http://file.cits.cn/js/b2c/common/??js.js,tabs.js,addMyFavorite.js,behaviorTrack.js,biaodan.js,common.js,device.min.js,iframeTools.js,headerNew.js?v=1.0.2"></script>
<script type="text/javascript" src="http://file1.cits.cn/js/b2c/json/keywords.js"></script>
<script type="text/javascript">try {addBehaviorTrack("","MEMBER","","","","","10f664c54232491fa6e2ca53fab7225f");} catch (err) {}
</script>
<div style="DISPLAY: none">
<script type="text/javascript">var cnzz_protocol =(("https:" ==document.location.protocol) ?" https://" :" http://");document.write(unescape("%3Cspan id='cnzz_stat_icon_1254452230'%3E%3C/span%3E%3Cscript src='" + cnzz_protocol
+ "s4.cnzz.com/z_stat.php%3Fid%3D1254452230' type='text/javascript'%3E%3C/script%3E"));</script>
<script type='text/javascript'>(function() {var s =document.createElement('script');s.type ='text/javascript';s.async =true;s.src =(location.protocol =='https:' ?'https://ssl.' :'http://static.')
+ 'gridsumdissector.com/js/Clients/GWD-002591-0C1D54/gs.js';var firstScript =document.getElementsByTagName('script')[0];firstScript.parentNode.insertBefore(s,firstScript);})();</script>
</div>
<script type='text/javascript'>window.BWEUM||(BWEUM={});BWEUM.info ={"stand":true,"agentType":"browser","agent":"tpm.oneapm.com/static/js/bw-send-411.4.1.js","beaconUrl":"tpm.oneapm.com/beacon","licenseKey":"AQ~aJeUVvRnYZe3J","applicationID":7526};</script><script type="text/javascript" src="//tpm.oneapm.com/static/js/bw-loader-411.4.1.js"></script>
<script type="text/javascript" src="http://file.cits.cn/js/b2c/channel/member.js"></script>
<input type="hidden" id="pageName" value="memberResetPassword" />
</body>
</html>


到了修改密码的页面,code里的可以看到没有token,因此任意用户修改为正确的响应码就能修改任意用户密码。

w.png

漏洞证明:

用另一用户测试修改密码。

s.png


输入的验证码肯定是错误(除非走了狗屎运),把false修改成true。

v.png


b.png


放行后会看到返回的响应包系统异常,把code里正确的响应包替换掉放行,就能修改密码。

w.png


最后一步登录验证!

f.png


修复方案:

添加token验证,完善服务端验证,看在两天次的份上给高rank吧,深夜挖洞不易啊。

版权声明:转载请注明来源 路人甲@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:15

确认时间:2015-06-16 13:48

厂商回复:

非常感谢您的报告,问题已处理,十分感谢您对中国国旅的支持。

最新状态:

2015-06-16:已修复


漏洞评价:

评论

  1. 2015-06-16 19:35 | 这只猪 ( 路人 | Rank:5 漏洞数:2 | 南无阿弥陀佛!)

    求问下,改false 为TURE后怎么回调?

  2. 2015-06-16 20:44 | zhxs ( 实习白帽子 | Rank:32 漏洞数:19 | Jyhack-TeaM:http://bbs.jyhack.com/)

    求问下,改false 为TURE后怎么回调?

  3. 2015-06-16 22:57 | Observer ( 实习白帽子 | Rank:35 漏洞数:8 | 我在夕阳下奔跑,那是我逝去的青春)

    @这只猪 @zhxs action里的do intercept --> response this request

  4. 2015-06-17 12:18 | Ztz ( 普通白帽子 | Rank:152 漏洞数:40 | 自由职业)

    @zhxs @这只猪 intercept规则里面设置reponse body cotains "false",改成true后forward

  5. 2015-06-17 19:02 | zhxs ( 实习白帽子 | Rank:32 漏洞数:19 | Jyhack-TeaM:http://bbs.jyhack.com/)

    @Ztz 亲 亲吻为何我么有找到、的地方、找遍了都么有

  6. 2015-06-17 19:18 | qhwlpg ( 普通白帽子 | Rank:226 漏洞数:54 | 潜心代码审计。)

    思路不错,学习了,之前真没想到。。

  7. 2015-06-17 22:09 | Ztz ( 普通白帽子 | Rank:152 漏洞数:40 | 自由职业)

    @zhxs 一级标签Proxy -> 二级标签Options -> 找到Intercept Server Responses -> 勾上Intercept responses based on the following rules 和 automatically updates Content-length haerder,并取消选择所有复选框,单击左边add -> 逻辑选And,拦截条件选Body,匹配条件选Matches,关键词填false

  8. 2015-06-18 08:59 | 这只猪 ( 路人 | Rank:5 漏洞数:2 | 南无阿弥陀佛!)

    @Ztz 谢谢,涨姿势了!

  9. 2015-06-19 17:37 | 进击的zjx ( 普通白帽子 | Rank:295 漏洞数:61 | 工作需要,暂别一段时间)

    diao

  10. 2015-06-24 12:55 | zhxs ( 实习白帽子 | Rank:32 漏洞数:19 | Jyhack-TeaM:http://bbs.jyhack.com/)

    @Ztz 灰常感谢

  11. 2015-06-24 14:00 | flyfish ( 路人 | Rank:10 漏洞数:1 | 安全爱好者。)

    @Ztz 谢谢。

  12. 2015-07-17 13:18 | Seven.Sea ( 实习白帽子 | Rank:76 漏洞数:24 | 唯有安全与美食不可辜负。)

    学习了

  13. 2015-07-28 22:08 | Coeus ( 路人 | Rank:4 漏洞数:2 | 入门级小白,承接原子弹抛光/打腊、拆洗导...)

    @Ztz 灰常感谢现场教学~