目录:
- 身份认证安全
- 数据篡改
- 未授权访问
- 密码找回
- 验证码突破
- 接口调用安全
一:身份认证安全
⑴暴力破解
在没有验证码限制或者一次验证码可以多次使用的地方,可以分为以下几种情况:
- 爆破用户名,当输入的用户名不存在时,会显示请输入正确用户名,或者用户名不存在
- 已知某个用户名,比如admin进行字典爆破(暴力爆破 -- 弱口令)
- 使用一个常用密码,比如123456对大量用户进行爆破
补天漏洞实例:
某系统用户密码可爆破导致公司敏感信息泄届
小猪短租某第三方系统从爆破用户到低权限用户命令执行
⑵撞库
撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。
漏洞成因:
1.用户所有网站使用同一组账号密码
2.网站不允许存储不加盐的明文(1.不能是明文,2.不能是未加盐的md5/sha1等,加盐算法不能公开)
PS:加盐:在密码算法里边,添加一些网站定义的字符,再进行各种算法,每个网站会存储不同的结果
补天漏洞实例:
百合网暴力破解用户名密码成功率极高
聚美优品某处设计逻辑缺陷导致摘库(成功账号证明)
⑶Cookie伪造
修改cookie中的参数,实现登陆伪造,伪造任意用户,伪造管理员等。
补天漏洞实例:
益云广告平台任意帐号登录
⑷Session
- 预测
通过已知的session值,推测出服务器将要生成或者已经生成的session值,比如说某一个账号登陆SESSID=1234,再使用另一个账号登陆发现SESSID=12346,有点类似算法逆向加暴力破解。php生成随机的session是极其复杂的并且难于被预测出来,这种漏洞一般出现在小型网站或者开发者自己编写的网站。
- 捕获
通过xss,嗅探等方法取得用户的session,修改数据包登陆网站。
⑸加密测试
前端加密,用密文去后台校验
补天漏洞实例:
某在线培训系统Base64编码后通用SQL盲注漏洞
二:数据篡改
⑴邮箱更改
抓包修改用户或者邮箱参数为其他用户或者邮箱
补天漏洞实例:
海尔集团某站逻辑漏洞泄届用户敏感信息(姓名+身份证+邮箱+手机)
⑵订单ID更改
通过修改订单ID号进行越权访问
补天漏洞实例:
广之旅旅行社任意访问用户订单
114票务网某站逻辑漏洞利用支付超时导致上万用户敏感信息泄漏
⑶商品编号更改
例如积分兑换处,100个积分只能换商品编号为001,1000个积分只能换商品编号005,在100积分换商品的时候抓包把换商品的编号修改为005,用低积分换取高积分商品。
补天漏洞实例:
联想积分商城逻辑刀导致支付漏洞
联想某积分商城支付漏洞再绕过
⑷用户ID更改
抓包查看自己的用户id,然后修改id(加减1)查看是否能查看其它用户id信息(横向越权)。
补天漏洞实例:
前程无忧越权访问个人简历
⑸手机号篡改
抓包修改手机号码,进入其他人的页面进行操作(横向越权)。
利用方式:
- 手机号用USEID关联
- 忘记密码
- 用USERID 用手机号发送验证码
- 然后抓包 进行修改能接收别的手机号
- 然后输入验证码 即可
⑹支付金额篡改
通过抓包修改支付金额等字段
补天漏洞实例:
12308订单支付时的总价未验证漏洞(支付逻辑漏洞)
destoon无限制增加账号资金
大疆某处支付逻辑漏洞可1元买无人机
酷我音乐会员0.01元购买成功存在支付逻辑届洞
美乐乐之用户名爆破+支付逻辑漏洞
⑺商品数量篡改
抓包修改商品数量等字段,将请求中的商品数量修改成任意数额,如负数并提交,查看能否以修改后的数量完成业务流程。
补天漏洞实例:
海航旗下供销大集支付逻辑漏洞(可0元支付)
蔚蓝团支付逻辑漏洞(可负数支付)
三:未授权访问
⑴横向越权
同级间的越权,如:学习网站 从一个学生调到另一个学生的资料
补天漏洞实例:
暴风某站平行越权(用户敏感信息泄露)
建行信用卡越权可批量遍历用户信息
⑵纵向越权
低权限到高权限,如:普通用户权利越权获得管理员用户权利
补天漏洞实例:
9game论坛后台未授权访问(可查看日志及私信)
大华DSS平台低权限账户越权直接修改system密码
招商银行某站未授权访问与弱口令安全隐患
四:密码找回
密码找回思维导图
⑴用户凭证暴力破解
进行一个用户凭证的爆破,如:重置密码
补天漏洞实例:
用户凭证暴力破解 -- 当当网 : 进行验证码的爆破 只有4位的验证码比较好跑出来
用户凭证暴力破解 -- 微信:微信密码重置漏洞
⑵返回凭证
根据返回凭证,抓响应包,进行利用
补天漏洞实例:
秀团网URL返回验证码
新浪谋站任意用户密码修改
丽子美妆严重逻辑漏洞
搜狐邮箱返回密码问题答案
⑶邮箱弱 - token时间戳的MD5
根据线索判断,进行推断token的规律,进行token的验证绕过
补天漏洞实例:
360 邮箱凭证为时间戳的md5值
⑶邮箱弱 - token服务器时间
根据线索判断,进行推断token的规律,进行token的验证绕过
补天漏洞实例:
某中关村网站返回服务器时间
⑷用户凭证有效性 - 短信验证码
通过短信的密码找回,重置用户密码
补天漏洞实例:
乐宿客官网密码找回逻辑漏洞,重置任意用户密码
⑸重新绑定 - 修改手机绑定
通过抓包修改为自身的手机号,进行重置修改其他用户密码
补天漏洞实例:
某彩票设计权限可修改任意用户密码
⑹修改凭证发送地址 - 修改邮箱地址
通过抓包修改为自身的邮箱地址,进行重置修改其他用户密码
补天漏洞实例:
和讯网修改任意用户密码漏洞
⑺服务器验证 - 不验证
邮件系统取回密码功能设计逻辑错误,存在认证绕过漏洞,通过抓取数据包可通过修改报文,将找回问题答案参数删除后,直接进行对密码更改
补天漏洞实例:
国土资源部存在问题答案绕过修改密码
⑻跳过身份验证直接重置密码
通过业务逻辑出错利用,跳过身份验证直接重置密码
补天漏洞实例:
中国电信某IDC机房信息安全管理系统设计缺陷致使系统沦陷
⑼本地验证 - 前端JS验证 浏览器里进行验证的
在客户端的浏览器进行前端验证码的验证在本地执行,通过修改response返回包进行控制
补天漏洞实例:
验证短信码等验证信息的动作在本地执行,可以通过修改response返回包进行控制
⑼本地验证 - 修改request包
在客户端的浏览器进行前端验证码的验证在本地执行,通过修改request包的通过信息
补天漏洞实例:
发送验证短信码等等验证信息的动作在本地进行,可以修改request包的通过信息
⑽token生成可控
token生成可控
补天漏洞实例:
天天网任意账号密码重置
天天网再一次重置任意账号密码
⑾注册覆盖
注册相同用户名,重置用户密码
补天漏洞实例:
注册相同用户名,重置用户密码
⑿session覆盖
通过session覆盖,重置用户密码
补天漏洞实例:
聚美优品任意修改用户密码(非爆破)
五:验证码突破
工具推荐:PKAV 进行爆破
验证码突破
常见类型:验证码暴力破解、验证码重复使用、验证码绕过、验证码回显、验证码自动识别
补天漏洞实例:
四川航空某处验证码突破导致泄漏员工敏感信息(10w员工信息)
易企秀绕过验证码进行撞库
中国人寿某省站点逻辑漏洞可导致全部员工敏感信息泄漏(姓名、电话、所在部门等)
爱卡汽车网某重要系统设计逻辑缺陷(成功绕过验证码限制)
365地产家居网主站奇葩验证码导致可撞库用户
银泰证券某理财平台后台弱口令(验证码缺陷)
中国铁塔运维监控系统绕过验证码爆破
六:接口调用安全
什么是接口?
接口也叫做API,APl,英文全称Application Programming Interface,翻译为“应用程序编程接口”。是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
简单接口实例介绍:
研发人员A开发了软件A,研发人员B正在研发软件B。
有一天,研发人员B想要调用软件A的部分功能来用,但是他又不想从头看一遍软件A的源码和功能实现过程,怎么办呢?
研发人员A想了一个好主意:我把软件A里你需要的功能打包好,写成一个函数;你按照我说的流程,把这个函数放在软件B里,就能直接用我的功能了!
其中,API就是研发人员A说的那个函数。
接口安全
应用的业务接口存在缺陷,可以通过业务接口直接进行恶意操作
补天漏洞实例:
新浪微博docker remote API未授权访问导致远程命令执行(root)
新浪微博某处SOAP接口外部实体注入
新浪某开发信息泄露导致api接口SQL注入(支持UNION)
贵州茅台酒厂某站点WebService接口SQL注入漏洞
逻辑漏洞总结
如何挖掘逻辑漏洞?
工具:
利用好BurpSuite即可
思路:
绕过真实用户身份或正常业务流程达到预期的目的放开固定的流程思路,大胆尝试