来源:自学PHP网 时间:2015-04-17 11:59 作者: 阅读:次
[导读] 在近期的渗透测试项目中,在短信平台相关功能都出现了一些问题,现对渗透过程中发现,及wooyun上出现的相关短信平台的几类问题做个整理。一、短信发送无频率限制通过wooyun上搜索...
在近期的渗透测试项目中,在短信平台相关功能都出现了一些问题,现对渗透过程中发现,及wooyun上出现的相关短信平台的几类问题做个整理。
一、短信发送无频率限制 通过wooyun上搜索可见,该类漏洞是最为常见的。 漏洞相关链接: 万网发验证信息,无限时。无限次数形成短信轰炸 盛大网络短信ddos攻击漏洞 http://www.2cto.com/Article/201110/106666.html 漏洞成因: 对发送信息功能调用未做任何限制 漏洞危害: 1、可针对某用户短时间内发送大量垃圾短信,造成短信轰炸攻击; 2、对于企业,每发一条短信,都是需要向运营商交付一些费用,尽管比个人用户费用低,但是一旦被恶意利用大量发送后,造成较大的直接经济损失。 漏洞修补: 1、限定同一手机号在一时间段内发送次数,如每分钟发送1次,具体落实需结合用户体验综合考虑; 2、使用强壮的验证码机制。 补充:曾在测试中发现某客户的验证码有效期为2分钟,即2分钟内无需修改验证码直接成功回放请求包,同样可造成短信炸弹工具。因此,务必保证验证码的强壮型,并采用一次一用机制。 二、短信发送内容来自客户端 这类漏洞一般不直观,直接由用户输入来定义短信内容的问题确实没遇到过,这里的漏洞是把短信内容放在的POST表单中,从页面上无法发现,需要抓包分析才能看到。 相关漏洞: (知道这漏洞是哪家的同学也请嘘,咱不讨论它是谁的,另漏洞已经修补了) 某系统可以在WEB页面上选择手机品牌和型号,填入手机号码可发送下载地址至手机,具体操作界面如下图: 抓包查看该POST表单的内容 正常情况下,用户收到的短信即为客户端提交的内容:“var1下载:var2”,var1和var2分别为手机品牌和手机型号。 例如“NOKIA N97下载:wap.abc.com.cn/abc.sisx”。 由于短信内容为客户端定义的,即修改var1=NULL,var2=“恭喜您中奖,请登陆XXX领取”。此时目标手机收到短信为:“下载:恭喜您中奖,请登陆XXX领取”。最终造成钓鱼攻击。 漏洞原因: 直接原因是客户端可控制短信内容。但更深层次去追究,实际上是开发人员追求性能和效率,把重要的操作分发给客户端去做,而忽视其中安全问题导致的,这也是开发人员考虑问题重心偏移和安全从业者不同的体现。类似,为追求性能而导致有意思的漏洞:sohu邮箱任意用户密码重置 漏洞危害: 该类漏洞一般被用户钓鱼欺诈,直接受害者为最终用户,也使得企业方遭受名誉损失。 漏洞修补: 短信发送文字内容应由服务器来定义,客户端应触碰不到。可以制定为键-值对,客户端只能选择键,然后在服务端匹配到键相应的值,再把值内容发送给用户手机。 三、手机验证过程中pin码可爆破 这类问题常出现在“密码找回”、“绑定手机”等功能处。正常工作流程一般为在页面提交手机号,然后短信平台会发送一个pin码给手机,再将pin码提交回给服务器,完成身份认证或绑定。 相关漏洞: 微信任意用户密码修改漏洞 http://www.2cto.com/Article/201209/154411.html 该漏洞在爆破pin码阶段相当精彩,先赞一个。 only_guest大牛说了: 因此,这类漏洞成因: 1、pin码太弱,短位的纯数字组合,极易爆破; 2、高频由同一源发类似请求包,这么像CC攻击了,服务器总该做点反应吧。 漏洞危害: 需根据实际功能来定,大则如漏洞标题,任意用户密码修改。且即便看似难以利用,在大牛手上将会用神奇的构思,来证明漏洞的危害。近期,pysolve大牛就在做这样的事情。 漏洞修复: 使用长度和复杂性足够强壮的Pin码,防止被爆破。 四、短信平台自身的问题 先不论短信平台的应用层面的漏洞,我在测试过程中遇到的问题是:弱口令!直接登陆到短信平台。 漏洞成因: 维护人员的安全意识问题。 该短信平台只能通过IP访问,未绑定URL。我知晓其存在是由于客户提供了资产列表。站在客户的视角,外部用户难以发现短信平台入口,因此并不重视其安全性。但后续我发现通过Google hack也是能找到这个短信平台的。且有数字浏览器如此强大的存在,怎么可能产生互联网孤岛呢? 另外短信平台一般是由第三方提供,企业做为使用者难以保证其安全性,因此也可能存在常规WEB应用漏洞。 漏洞危害: 短信平台的操作权限一旦被恶意攻击者获取,上述提及的几类漏洞危害都有可能导致。 漏洞修复: 站在企业的角度,对于这样一个第三方系统,进行代码审计、渗透测试,成本投入都略显过大,因此对于短信平台,建议使用最直接、最暴力也是我认为最合适的方案——制定合适的ACL,限定仅内网特定用户访问,如确实有外网用户需要使用系统,也需采用VPN接入。 总结: 以上四类问题是我遇到和见到的,但是,由于我能力和视野有限,考虑得肯定是不够全面的,也请有经验的大牛给予指点。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com