最近在挖各大src,主要以逻辑漏洞为主,想着总结一下我所知道的一些逻辑漏洞分享一下以及举部分实际的案例展示一下,方便大家理解。
主要从两个方面看,业务方面与漏洞方面。(接下来就从拿到网站的挖掘步骤进行逐一介绍各个逻辑漏洞)
一 、业务
注册:
1.短信轰炸/验证码安全问题/密码爆破/邮箱轰炸
上面这个属于利用了burp中的intruder插件遍历了差数,导致短信**漏洞产生。遍历几个参数设置好payloads即可,具体看图操作。我个人来说特别喜欢测各种各样的短信**漏洞。其他测试方法接着往下看有专门写短信**。邮箱**与其相同方式。
2.用户任意注册/批量注册
3.枚举用户名
4.XSS (在这里的话其实就是说遇到框你就插xss即可,即使大部分不执行,还是会遇到一些奇葩的地方,不信你接着看图)
另外再注册名字的窗口处也可以插入xss,虽然危害小,但是你可以找找其他漏洞,打组合拳也说不定哦!
登录:
1.短信轰炸/验证码安全问题/密码爆破/邮箱轰炸
2.SQL注入
3.撞库
4.抓包把password字段修改成空值发送
5.认证凭证替换/比如返回的数据包中包含账号,修改账号就能登陆其他账号
6.Cookie仿冒
7.修改返回包的相关数据,可能会登陆到其他的用户
找回密码:
1.短信邮箱轰炸/短信邮箱劫持
2.重置任意用户密码/验证码手机用户未统一验证
3.直接跳过验证步骤
购买支付/充值(主要还是利用抓包需要仔细的去看每一个可用参数)
1. 交易金额/数量修改,替换支付模块 (这里也就是更换了支付的模块金额)
2. 交易信息订单编码/导致信息泄露
3. 整数溢出,int最大值为2147483647,超过最大值
4. 修改充值账户
5. 支付绕过
抽奖活动
1. 刷奖品/积分
2. 并发
优惠券/代金券
1. 并发逻辑漏洞(burp或者fd批量获取优惠劵等)
2. 修改优惠券金额/数量
订单信息
1. 订单信息遍历/泄露
2. 订单信息泄露导致用户信息泄露
3. 删除他人订单
会员系统
1. 修改个人信息上传文件,上传带弹窗的html
2. 如遇上上传xlsx/docx,可能存在xxe,上传恶意的文档盲测
3. 图片上传也可能遇到imagereagick命令执行,上传恶意图片
4. 视频上传如果使用ffmpeg<3.2.4(视频按帧分割成图片),上传恶意avi盲测ssrf
5. 用户横向越权访问/遍历/导致用户信息泄露
6. SQL注入/个人简介处存储XSS 个人信息注册的名称也可以插入xss
传输过程
1. 明文传输账号密码
2. 修改信息处无session/token导致csrf
3. POST/COOKIE注入
评论
1. POST注入/存储XSS
2. 无session/token导致CSRF
二、漏洞处
验证码问题
1. 万能验证码
2. 返回包中存在验证码
3. 删除验证码或者cookie中的值可以爆破账号密码
短信轰炸
1. 一直重放
2. 删除修改cookie,重放数据包
3. 遍历参数发送数据包
4. 手机号后面加空格或者前面加其他的比如+86或者逗号分号等,然后重发数据包
5. 请求参数修改大小写,或者添加请求参数比如&id=1
6. 一个站的登陆处可能做了防护,但是再找回密码处可能没有安全防护,或者在注册流程中没有安全防护,所以说多测试接口
7. 如果对手机号一天次数进行了限制的话,还可以在进行发送一次短信,DO intercept之后修改为成功回显
水平越权
1. 主要登陆后还是修改参数,主要找到多个接口不断测试
2. 关注网页源代码,有时候会有表单,但是被bidden(隐藏标签)给隐藏起来了,可以修改返回包然后尝试获取数据检测
3. 多个账号,主要分析请求参数
数据泄露
1. 在找回密码处,填写数据后抓包查看返回信息,有可能存在敏感数据返回
任意用户密码重置
1. 目前大部分都是在修改密码处参数修改
2. 有些是前端验证
三、支付逻辑漏洞
1.边界值问题 : 正常的逻辑是用户购买商品,然后价格累加得到一个总价进行扣款。这个时候就会产生逻辑问题:如果说用户购买的商品是负数了,那么计算的总数就是负数。反过来钱给用户
2.顺序执行缺陷:正常的逻辑是a-b-c-d 循环渐进的进行流程操作。这个时候就会产生逻辑问题:可以直接从中绕过某一个过程进入到下一步操作。如果说有一项是支付的操作,那么也就会产生支付绕过,如果说有一项是验证机制,就会绕过验证直接进入下一步。
3.金额直接传输导致篡改:直接对下单的金额进行修改值,这里可以使用fd或者burp抓包
4.确定支付之后还可以加入购物车:把商品放入购物车点击下单支付,会跳转到微信,支付宝等第三方支付平台。这个时候还可以继续在购物车中加入商品,支付结束之后,商家发放的商品是现在的购物车里面的东西。
5.请求重放:购买成功之后,继续重放请求,可以让购买的商品一直增加。购买成功之后,会有一个银行对商户网站跳转的过程,如果反复进行操作,有几率会导致商品反复购买和增加,但是不需要付更多的钱。
6.请求参数干扰:金钱做了签名认证之后,修改后不通过,但是在里面仍然会有一个参数对金额产生影响导致问题产生。
7.订单替换:订单替换发生在支付之后的事件处理,同时向服务器发起二次支付请求一个多一个少,支付金额少的,然后支付之后进行替换,告知服务器订单支付完成,并且过程可以反复的回放。
8.欺诈:需要两个收款人,一个是正常的商家,一个是伪造的商家
9.单位替换:产生在paypal类似的国际支付的场景。
10.用户替换:在支付过程中发生用户替换现象,首先登陆自己的账户,然后取得另外一个人的账户名等有效信息,在业务流程中用对方的用户名替换自己的用户名,用对方的余额购买完成后,再替换自己的账户名,这样就形成别人的钱买自己的东西
11.强制攻击:强制攻击发生在暴力破解的情况下,如果一个商家运用一个自己的网店,接入第三方支付接口,由于设计上的不当导致商家与第三方支付约定的密钥Key可以单独被MD5加密,导致可以使用MD5碰撞技术对密钥进行破解,攻击者可以设计简单的密钥加密信息使得MD5加密是可以用MD5碰撞技术进行暴力破解。
12.秘钥泄漏:内置支付功能的app为了设计上的方便有可能会把Md5或者是RSA的私钥泄漏导致攻击者反编译apk之后获取密钥信息使得交易信息可以被篡改。
13.函数修改:apk反编译之后的函数修改,可能导致商家在最后一步向支付方提交订单时未验证信息的准确性,仍然被篡改。
14.heart bleed:SSL(安全套接层)协议是使用最为普遍网站加密技术,而OpenSSL则是开源的 SSL 套件,为全球成千上万的web服务器所使用。Web服务器正是通过它来将密钥发送给访客然后在双方的连接之间对信息进行加密。URL中使用 https打头的连接都采用了SSL加密技术。在线购物、网银等活动均采用SSL技术来防止窃密及避免中间人攻击。
该漏洞被归为缓冲过度读取。缓冲过度读取错误是软件可以读取比应该被允许还多的数据。漏洞让特定版本的openSSL成为无需钥匙即可开启的“废锁”,入侵者每次可以翻检户主的64K信息,只要有足够的耐心和时间,就可以翻检足够多的数据,拼凑出户主的银行密码、私信等敏感数据。产生原因:数据在传输的两端是不加密的。一些数据如果在传输过程中不加密则会泄露个人数据等信息。
其实首先的话还是需要给原理明白以及操作的思路弄懂,学会变通才可以挖到更多新型逻辑漏洞
一些挖src逻辑的骚操作下期抽时间写一下,案例可以私聊我找我要漏洞报告
如有写的不正确处,望大佬斧正。谢谢!
*本文原创作者:听闻他叫无剧,本文属于FreeBuf原创奖励计划,未经许可禁止转载