(杂谈)攻击者与开发者的无形碰撞–逻辑漏洞的挖掘实战及反思(一)

​ 逻辑漏洞的挖掘 (本文约3000字看完大约20分钟)

​ 本文只代表个人的经历与见解,写的不好请多多理解。


前瞻

​ 随着框架技术的不断发展,传统的漏洞,sql,xss,早已经被底层框架所消灭,(当然,不排除能够一一些其他方式利用 比如说“组合拳”),另外,加上各种“云waf”的存在,极大的增加了小白对一些规模稍大一点的网站的挖掘 难度,十几年前或许能凭借一个“明小子”横行一时,十多年后,面对预编译,waf基本就是束手无测,本人在测试的时候,即使可以感觉到某个网站安全做到很烂,可它偏偏就有waf,和waf死磕了半天也没有啥成果,反而吃了个封禁套餐。

​ 当然,这里并不是说传统漏洞不重要,在没有一定的通用漏洞积累,代码审计,以及过waf能力的新手来说,还是建议在漏洞挖掘时侧重于逻辑漏洞 (个人不建议用直接用扫描器,直接拿一些10年不更新老网站下手,有法律风险的同时也没有多大技术增长 久而久之 形成依赖就不好了,而且但凡一些大站有点防护的,都不可能让你用扫描器一直扫)。

逻辑漏洞的挖掘-与开发者的无形碰撞

常言道:知己知彼-百战不殆

重放漏洞

首先拿最常见的短信轰炸漏洞来讲。

短信轰炸level1~level3

正常流程: 用户输入验证码→点击发送验证码→之后要等60s或重新输入验证码才可发送

攻击者思路:burpsuite抓包取发送的http数据包,绕过前端限制(这里的验证码是前端验证的),不就能达到短信轰炸的效果了么。

**开发者思路level1:**绕过前端60s限制我么没办法,但是我可以把你的验证码放在后端验证,验证一次就无效,或者根据电话号码,限制你的发送频率。

攻击者思路level1:好,又浪费你几根头发,验证码后端验证是吧,我测一下你之前有没有设的万能验证码(0000),或者在burpsuite中把验证码直接置空,根据电话号码限制频率,那我修改一下我电话号码的格式(加个空格或则特殊符号啥的),实在不行咱搞横向短信轰炸。

**开发者思路level2:**我承认修的时候太马虎了,我多花点时间加个token机制,你可以来爆破下token。

**攻击者思路level2:**看下token有没有回显,有的话还可以利用burpsutie中intruder模块的pitchfork还是能进行爆破。

开发者思路level3:N**B!!!,被产品经理叼就叼一顿把,直接给你上个图形验证码,我都看不清的那种!

攻击者思路level3: 润了润了,换一个功能点测,反正改代码的不是我。

**开发者:**你xxxxxxxx!!!

附一张 短信轰炸漏洞的奖金图片。。。。。

通过上面一个例子的,大家可以应该能明白,挖掘逻辑漏洞时,往往需要站在开发者的立场不断的去思考他的防御手段,从而衍生出绕过思路,而不仅仅是重放,或者是修改参数,简单的尝试了一下就run。而是要不断尝试,不断思考,最终确认,逻辑漏洞在此处不通。

优惠劵白嫖多张漏洞

现在在网上优惠劵无处不在,在很多时候,优惠劵只能领取一张,比如下图。

涉密原因:所以层层打码。

点击领取之后,这个领取的按钮可能就会变成灰白色。正常情况下,我们无法再次领取。

不过稍微理解HTTP协议是无状态的(如果web渗透这个不明白,建议重学)

我们就知道,可以通过burpsuite抓包,然后进行重放。这样就可以白嫖多张

这个优惠劵白嫖领取其实挺容易理解的

简单重放漏洞的延申——学会逻辑漏洞的利用

很多时候,逻辑漏洞有的时候不仅仅是简单的重放,修改参数,我们需要经常从程序的实际功能点出发,结合我们的操作实现绕过开发者给我们的限制。

下面介绍我发现2个逻辑漏洞的过程。

1.生日重置逻辑漏洞

现在很多商家在自己的微信小程序有着生日优惠的活动,为了避免“客户天天过生日“的情况,通常设置只能在注册的时候填写一次。

那我们怎么达到”天天过生日“的目的呢?

其实和上面的优惠卷领取一样,我们同样利用重放漏洞。

只不过唯一不同的是:优惠劵我们是在同一天不断的重复领,而修改生日呢? 则需要我们将设定生日的这个数据包记录下来,在需要领取的时候,通过burpsuite发送这个数据包,从而达到”天天过生日的效果”。这样就可以天天白嫖生日礼物啥的。

(郑重声明:这样违法)

2.验证码回显 从无危害到高危

事情起因:记得3个月前开始挖洞的时候,当时本人由于对逻辑洞见的比较少,所以只挑选了一个最擅长的短信轰炸,当时也没想着绕过,就搁哪一直重放,重放不了,我就run。

当时碰到了一个站,在注册界面,短信轰炸有限制,但是他喵的居然把验证码回显出来。

当时我的心路历程:短信轰不了,那么能回显有啥用么,哦对了,是不是用任何一个手机号我都能给他注册,转手交给BT(’简称‘懂得都懂 ),结果来个前台任意注册不收。

事情发展:通过3个多月的不断学习,个人的水平有着明显的提升,感觉不管是基础漏洞还是逻辑漏洞水平都提升很快。在一次对某APP的测试中,我又发现了这个洞(验证码回显):

尽管是在注册界面发现的,只能算一个前端任意注册,但是我转而又想到,在登陆界面往往有个根据手机号码修改密码的,也就是说:只要能获取验证码,就意味着可以修改任意一个账户的密码。这样一交:无危害直接变高危!

越权漏洞挖掘的一些思考与理解

​ 关于越权漏洞,通常我们一般都是在电商这样的网站进行测试的,通过抓取一些相关功能点(删除订单,购物车)的数据包,进行测试和分析从而判断出是否存在越权漏洞。在此列出我的几条经验

  1. cooike很长,存在token的大概率没有,有的话,也是在一些不重要的功能点上
  2. 有的网站功能整合的非常好,所有的数据包,都会验证cooike,从而确认你的权限
  3. 据个人观察:现在购物网站框架都比较成熟,一般较少出现越权。(反正我没碰过)
  4. 在某平台上面发现购物GZH都一个模子,完全没越权。…

​ 当然,挖归难挖,但还是能挖到的。。。 看细不细心辣。qaq

关于开发者逻辑漏洞的预防与修复感想

​ 对于开发人员来讲,一个网站是否存在逻辑漏洞和存在逻辑漏洞的多少和开发人员的思维,能力,以及严谨的态度是有非常大的关系的,个人感觉一些大厂的逻辑洞的确很少,这和他们的规范的开发流程和过硬的技术能力分不开,而本人其实也自己搭建过一些简单的网站做渗透测试,结果。。。一个xss语句有时都能给网站搞崩。 另外,转念一想开发者也的确不容易,我碰到过不止一次,漏洞报告上去,开发者处理的很随意,结果我一测,又可以绕过,或者是修复不全面,这里不能越权了,还有别处能越。。。。(这个其实没办法,因为一些系统比较老,重新开发一个是不实际的,所以只能简单处理)简单修了修不好,好好修了又费时间掉头发,心疼一波开发人员。。。。。

写了快估计有大半天了,算是对我这些天挖洞的一些总结把。

​ 另外,如果觉得本文对你有帮助的话,点个左下方的赞,我觉得不过分。

(杂谈)攻击者与开发者的无形碰撞--逻辑漏洞的挖掘实战及反思(一)相关推荐

  1. Web渗透测试中常见逻辑漏洞解析与实战

    注:以下漏洞示例已由相关厂商修复,切勿非法测试! 0x01 漏洞挖掘 01  注册 注册中最常见的有两个,一个是恶意注册,另一个是账户遍历.一个好的注册界面应该是这样 或者这样的 而不是这样的 要么使 ...

  2. 网络信息安全笔记—逻辑漏洞

    逻辑漏洞简介 ​逻辑漏洞是指攻击者利用业务/功能上的设计缺陷,获取敏感信息或破坏业务的完整性.一般出现在密码修改,越权访问,密码找回,交易支付金额等功能处.​ 逻辑漏洞的破坏方式并非是向程序添加破坏内 ...

  3. 逻辑漏洞和越权(待补充)

    逻辑漏洞是什么? 逻辑漏洞就是指攻击者利用业务的设计缺陷,获取敏感信息或破坏业务的完整性. 一般出现在密码修改,越权访问,密码找回,交易支付金额等功能处. 越权漏洞: 字面意思大概就能懂越权漏洞是什么 ...

  4. 攻防演练中的业务逻辑漏洞及检测思路

    随着各类前后端框架的成熟和完善,传统的SQL注入.XSS等常规漏洞在Web系统里逐步减少,而攻击者更倾向于使用业务逻辑漏洞来进行突破.业务逻辑漏洞,具有攻击特征少.自动化脆弱性工具无法扫出等特点,也为 ...

  5. 逻辑漏洞小结之SRC篇

    最近在挖各大src,主要以逻辑漏洞为主,想着总结一下我所知道的一些逻辑漏洞分享一下以及举部分实际的案例展示一下,方便大家理解. 主要从两个方面看,业务方面与漏洞方面.(接下来就从拿到网站的挖掘步骤进行 ...

  6. 渗透测试-逻辑漏洞出现场景、利用方式总结

    逻辑漏洞出现场景.利用方式总结 文章目录 逻辑漏洞出现场景.利用方式总结 一.前台模块 二.密码找回模块 三.登录模块 四.业务逻辑层模块 五.案例分享 1.逻辑支付 六.漏洞思考组合拳 1.Self ...

  7. 逻辑漏洞----身份验证漏洞

    1.逻辑漏洞的概要 逻辑漏洞是基于开发人员设计程序时,逻辑不严密,导致攻击者可以修改,绕过,中断整个程序,让程序按照开发人员的预料之外去执行 如某一网页的登录验证逻辑: 输入用户名,密码------输 ...

  8. Android 组件逻辑漏洞漫谈

    前言 随着社会越来越重视安全性,各种防御性编程或者漏洞缓解措施逐渐被加到了操作系统中,比如代码签名.指针签名.地址随机化.隔离堆等等,许多常见的内存破坏漏洞在这些缓解措施之下往往很难进行稳定的利用.因 ...

  9. 【CyberSecurityLearning 65】业务安全+业务逻辑漏洞实战

    目录 业务安全 * 业务安全概述 * 黑客攻击的目标 业务安全测试流程 * 测试准备 * 业务调研 * 业务建模 * 业务流程梳理 * 业务风险点识别 * 开展测试 * 撰写报告 万能用户名|密码 业 ...

  10. 逻辑漏洞——权限控制问题

    普及权限控制的方法.常见非授权访问漏洞以及水平越权与垂直越权的成因与利用方法.修复方法 权限控制 某个主体(subject)对某个客体(object)需要实施某种操作(operation),系统对这种 ...

最新文章

  1. BZOJ1575: [Usaco2009 Jan]气象牛Baric
  2. 数据恢复 从binlog文件
  3. web容器(03):Nginx配置负载均衡
  4. mysql 数据库名字 mac,【已解决】Mac本地给mysql数据库改名
  5. Android中WebView加载本地Html,与JavaScript与Android方法相互传值(续)...
  6. 图书馆如何应用视频直播?
  7. Ansible8:Playbook循环【转】
  8. c语言break和return区别,C语言break,continue和return的区别
  9. 高可用web架构: LVS+keepalived+nginx+apache+php+eaccelerator(+nfs可选 可不选)
  10. C#正则表达式小结 - z
  11. 中文搜索引擎技术揭密-网络蜘蛛
  12. 浅谈对JAVA堆栈的理解
  13. AI CC2019安装
  14. 蘑菇战争2显示没有连接服务器,蘑菇战争2新手怎么玩?四步带你解决新手难关[多图]...
  15. [树状数组模板] 洛谷P3368
  16. c 语言文件加密程序,怎么用c语言编写程序给文件夹加密
  17. unity不规则点击_【Unity游戏开发】UGUI不规则区域点击的实现
  18. 2003英语单词四6级大学六级CET6资料
  19. NVIDIA Xavier AGX固态硬盘的安装以及/home的扩展挂载
  20. linux和pe修复win10启动项,pe下如何重建win10引导?pe下win10引导修复图文教程

热门文章

  1. 计算机系统领域顶级会议--OSDI,SOSP
  2. 微信聊天记录生成词云图
  3. 解决word中公式插入后行间距变大,和文字不统一的问题
  4. 重置IE:专治IE疑难杂症的“万精油”(转)
  5. torch.optim 中的优化器
  6. 电脑word文档页眉的横线怎么去掉
  7. 2.心理学家-威廉.詹姆斯
  8. w10电脑文件不能放到服务器,w10设置文件服务器
  9. 关闭appleid双重认证_iPhone 丢失怎么办?开启双重认证就能解决!
  10. flush和evit