核心内容摘要
Windows18-HD19-19:开启未来数字生活的新篇章
很多圈内知名大佬他们战绩不凡赫赫有名在各大SRC排行榜常年霸屏。
为什么大佬们都爱挖逻辑漏洞我们对比分析了逻辑漏洞的特点逻辑漏洞的类型及不同类型的案例解析对挖洞感兴趣的师傅们不要错过呦~现在的安全设备都非常齐全获取shell、内网横向变得越来越困难。
写这篇文章的初衷是想跟大家分享几个经典案例掌握案例中的思维方法并学以致用助你在挖洞路上收获更多的启示和成长。
解析逻辑漏洞的特点为什么需要关注逻辑漏洞我直接拿shell不好吗这里简单分析了逻辑漏洞获取数据与shell获取数据的区别在获取不到shell或者测试时顺手打一下逻辑漏洞还是有价值的。
**
安全性**现在大型目标基本都强化了系统安全防护拿下入口点的难度比较大。
外网又设有CDN、WAF装置内网又是蜜罐、流量监测、堡垒机等等。
逻辑漏洞相比就比较隐蔽控制好间隔、线程还有其他人给你做掩护。
**
精确性**即使拿到入口点也不一定能找到数据库和核心网络。
一般数据库都是分区单独隔离保护打半天发现不是项目需求。
而逻辑漏洞可以有选择地获取到我们需要的数据这是优点也是缺点。
**
利用难度**内网数据库严格管理的情况还会做权限控制每个用户一个库并不能上去就是sysadmin、root的情况。
而逻辑漏洞的利用条件就相对较低存在可利用漏洞的情况想要的数据基本上都能获取。
正常只需要一个普通账号就可以并且实战后发现大部分接口还是不健全的。
常见的逻辑漏洞接口漏洞参数/数据遍历、未授权访问认证绕过认证绕过、验证信息泄露/前端验证、重复注册账密找回账密找回跳过验证、账密找回邮箱弱ID/弱验证码支付逻辑金额修改、数量修改越权漏洞垂直/横向越权、任意密码修改。
…………案例简介
前两个案例讲述的主要是网站逻辑漏洞-功能点之间的组合利用第三个案例讲述的是关键信息泄露帮助我们绕过认证获取唯一标识进而扩大战果。
案例核心都是围绕着获取到唯一标识或者获取正常的一个查询参数再结合其它功能点利用获取的唯一标识获取其它信息进行讲解。
实战一定要了解目标各个功能的业务处理逻辑、关键数据包中有价值的信息从而方便我们进行逻辑的组合。
因为一些原因都是画的图进行讲解展示学习理解其中唯一标识的获取逻辑、功能点组合逻辑。
漏洞看着挺简单实际也不难但是为什么别人能找到你却不能挖不到的同学可以想一想这个问题。
这也是本篇文章表达的另一个核心思想。
案例分享Readme各种阶段遇到问题写的Tips提供的都是常规解决思路。
逻辑漏洞需要根据具体情况发挥。
案例1说明这个案例主要是利用不同功能点泄露的参数进行组合获取到唯一标识再遍历唯一标识的过程。
实战可能不仅限于案例中
两个功能点。
介绍网站发现以下功能点可进行结合**
功能点一**咨询登记正常测试填写信息提交咨询申请看看是否会返回当前咨询信息的唯一标识。
Tips看到这个页面提交这么多信息我们的目的就很明确了就需要围绕下面的问题去做后续工作。
1如何查看其它用户提交的咨询信息是否脱敏2当前咨询记录的唯一标识是什么在哪里是多少iduid…….**
功能点二**查看咨询通过邮箱获取code进行登录可以查看咨询记录。
这时我们可以尝试认证绕过修改响应信息、code0000/1111等等方式。
通过提交咨询的Email登录发送code到邮箱进入后台如下。
这里并没有发现我们提交的信息只有一个ID。
记录下来继续测试其它的。
Tips1这时可以通过code邮件的邮件头进行信息搜集获取以下发送源地址存在CDN有几率通过此方法获取真实IP、中专节点IP、是否第三方中专等等信息2邮件如果返回有链接的可以看看链接中的唯一标识是否存在弱加密/双向加密/无加密等情况。
这里点击修改咨询发现了提交的咨询信息再观察URL发现了咨询信息唯一标识如果URL没有返回唯一标识那需要抓包看一下整个流程的处理逻辑这个咨询信息是从哪里返回不可能凭空出现吧。
到这里已经成功一半了剩下一半需要判断唯一标识bagid是否有加密是否可解是否存在规律Tips1部分情况可能跳转过来不一定是图中Setup1步骤1可能是Setup4步骤4这时需要尝试跳回Setup1。
步骤的控制分为两种情况提供绕过思路1响应包①响应包中直接返回步骤标识。
如setup
setup
setup 3。
直接修改响应包setup4 setup1进行绕过。
②响应包中返回相应步骤整个HTML页面这种情况数据如果后续需要使用极大可能会直接隐藏在HTML的hidden等隐藏/不显示标签中。
如input type“hidden”idcrad“001”2请求包响应包中没有发现步骤标识。
如响应包返回demo1true,demo2flase类似的。
那需要查看请求包中参数根据情况判断参数名的大概含义、是否有价值。
去JS文件搜索这个参数查看关联JS代码再修改步骤控制部分代码或响应参数、法制数据包等进行绕过。
Tips2很多时候第一眼看到这个bagid是没有规律的或者很麻烦每个位置大小写有262610种情况枚举需要时间太久就跳过了。
实际我们还得实践、尝试才行。
一个bagid不太好判断规律那再同时提交了几个咨询信息查看一下bagid。
返回如下OfcFXzX
OfcFXzXx、OfcFXzyx、OfcFczX
OfcFCzX7看起来是毫无规律下一个这时别慌先验证一下是否有规律如果是随机的基本就下一个了。
这里我是先手工判断再上工具的1先随机替换几个字符如a-b、c-d响应500。
再替换最后一位数字2-
3、
发现可行成功看到了别人的咨询信息。
2再按数字顺序12345替换几个判断一下是不是连续的而不是随机的。
发现数字
是存在的后面可能还没有人提交信息所以可能
不存在暂时可以判断是连续的、有规律的。
3知道数字有顺序其它bagid怎么最后一位还存在字母这时候直接Burp枚举大小写字母数字。
就可以知道最后一位有哪些字符存在数据倒数第二位一样操作。
后续发现倒数第二位存在规律字母间相隔一个字母并且一大写一小写循环。
这个规律写在这里表达的意义是利用撞库思路这里发现的规律可以尝试套在其它字符位置。
即时没用也可以记录后续其它功能点可能会存在相同的规律。
不断测试同时也不断地信息搜集、不断的利用已知信息去攻击。
最后一位xxxx01…
倒数第二位AcEgIk……**Tips**Bigid如果不连续/没有规律会导致遍历量比较大、遍历不精准目标内存占用高容易被发现等。
这里
总结了两个方法判断是否存在规律方法1数据包复用/正常无痕模式同时提交两个申请再查看返回的bagId是否连续/存在规律。
方法21手工Fuzz其中一两个值如bagIdOfcFXzX6bagIdOfcFXzX7 (数字)bagIdOfcFYzY6 (连续字母)bagIdOfcFXZx6 (大小写)正常人写代码的逻辑我们从后往前fuzz容易成功前面一般为类后面为具体ID。
2Burp半自动模块/intruder/Brute forcer
后续一直Burl半自动化就行了就这样一直反推可以获得每个位置值的大部分规律。
这时属于发现战果我们需要尝试将战果扩大而不是直接满意的结束了。
扩大战果思路根据情况判断我这里是反过来从前往后再多次测试只要尝试的足够多获得的规律肯定是越全。
Burp完整尝试顺序OfcFXzX6OfcFXzX6OfcFXzX6OfcFXzX6OfcFXzX6…………最后再反过来走几遍**
总结**这个案例主打的就是一个细心网站一般很多功能的话就要看你怎么发现、怎么进行组合。
如果看见bagid使用md5等加密就差不多可以下一个了这个组合最后发现获取不了太多信息也可以获取记录下来对进一步操作也会有帮助毕竟真实的信息总比法制的更真实跟内网一样不断获取信息利用已知信息进行攻击。
案例2**相比案例1区别是这个案例是同一个目标、不同域名、不同业务系统之间的漏洞进行逻辑上的组合利用。
**实战需要考虑的是发现很多系统的很多逻辑漏洞。
单个漏洞都是无关痛痒如何扩大/转化战果、如何将其中的漏洞连接起来才有价值。
介绍
首先是通过注入获取到PASS进入后台。
后台中进入A系统A系统中某功能点发现数据包id参数为唯一标识可遍历id获取关键信息A-Number。
但是只有一个A-Number并无用处先记录。
后台进入B系统B系统可以查询自己的详细信息通过登录返回的B-Number查询。
我也没有别人密码这里就无法获取到其它的C-Number、D-Number等。
这时结合A系统漏洞抓包发现了其中一个数据包可以修改B系统查询参数B-Number为A-Number就可以横向越权查询。
**Tips**这里因为我了解了A、B系统其中的业务逻辑知道返回的A-Number是什么含义与作用B系统中去寻找方法将B-Number改为A-Number而达到我的目的。
我是功能点抓包发现B-Number可控直接更改如果没有发现。
那需要从其它技术/功能或者系统考虑。
如可以尝试查看登录验证逻辑是否存在B-Number的可控点、或者当前用户唯一标识可控点等案例3这个案例是关键信息隐藏在源代码通过隐藏的关键信息进行认证获取到正常的查询数据包以及唯一标识。
然后通过正常查询数据包绕过认证遍历其中的唯一标识获取信息。
介绍
网站存在如下功能页查看别人的咨询记录需要验证邮箱号。
这邮箱号咋能爆破出来这时候就对进入这个页面整个流程抓包逐个分析。
结果发现其中一个数据包返回一大串神秘的JSON代码不是{“kfc”:”v50”}。
对这个json进行分析后发现直接把每个bagid对应邮箱等返回来了Tips
本来是想看是否存在SQL查询参数的遇到这种动态展示页面考虑到肯定需要查询才能展示实时的一个记录信息我们可以全流程抓包看看哪个包什么参数控制进行的查询参数是否存在过滤。
后续就是全流程抓包通过输入邮箱验证过后查看详细的咨询信息。
这里全流程抓包的意义也是去了解目标这个位置的认证验证逻辑和信息查询逻辑。
是认证通过直接返回查询信息还是认证过后携带key进行查询等。
数据包分析完发现是携带ID查询ID通过认证后返回。
这时判断一下ID参数加密可控鉴权。
我这里直接法制ID的值查询就可以了。
这里的流程逻辑简化如下**数据包1**输入bagid邮箱 **响应包1**验证通过返回id **数据包2**携带id查询详细信息。
Tips1一个网站数据包那么多不能所有的都完全分析到但这种关键功能点的数据包是很有分析的价值。
这个案例就是一个关键信息泄露导致的更多的、更完整的信息泄露主要还是需要细心。
2这个案例后续跟案例一类似不过这里ID参数遍历难度更高。
扩大战果的手法基本一致就不再描述了。
通过上述几个案例的解析相信大家对逻辑漏洞挖掘有了一些思路首先一定要细****心耐心。
其次逻辑漏洞需要大家发散思维对漏洞多分析了解目标业务逻辑多思考。
最后要掌握一个目标多个不同逻辑漏洞之间的组合利用。
当然仅仅掌握理论知识是远远不够的。
如果你想成为一名出类拔萃的白帽专家想要在SRC排行榜名列前茅想要在圈内获得广泛的认可并取得卓越战绩就必须进行实战演练。
春秋云测平台可以为你提供实操机会测试项目多响应速度快奖金丰厚。
在这里你不仅能够提升自己的技能还能结识行业内的顶尖大佬
获取更多的机会和资源。
学习顶尖的技术开启你的挖洞之旅吧学习漏洞挖掘的正确顺序当然学习漏洞挖掘之前需要掌握以下几个方面的内容编程语言和计算机基础知识在漏洞挖掘过程中挖掘者需要编写代码来验证和利用漏洞因此需要至少掌握一种编程语言如 C、Python、Java 等。
同时还需要了解计算机的基础知识例如计算机系统的组成结构、操作系统的原理、计算机网络的基本概念、数据库的工作原理等。
如果没有这方面的基础知识就很难理解漏洞挖掘中所需要的各种技术和工具。
安全基础知识漏洞挖掘是一项安全工作因此需要掌握一些安全基础知识例如 Web 安全、网络安全、应用程序安全、二进制安全等。
建议挖掘者先学习一些基础的安全知识例如 OWASP Top 10 漏洞、常见的网络攻击技术和漏洞类型等这可以帮助挖掘者更好地理解漏洞挖掘中所面临的问题和挑战。
漏洞挖掘工具学习漏洞挖掘需要掌握一些常用的漏洞挖掘工具例如 Burp Suite、Metasploit、Nmap、Wireshark、IDA 等。
这些工具可以帮助挖掘者加速漏洞挖掘的过程同时也能帮助挖掘者深入理解漏洞的原理和产生的原因。
例如Burp Suite 可以帮助挖掘者拦截和修改 HTTP 请求Metasploit 可以帮助挖掘者构造攻击载荷等。
学习漏洞挖掘技巧和方法学习漏洞挖掘需要了解一些常用的技巧和方法如 Fuzzing、代码审计、反向工程、漏洞利用等。
这些技巧和方法能够帮助挖掘者更快速地发现漏洞并且深入理解漏洞的原理和利用方式。
例如Fuzzing 可以帮助挖掘者通过自动生成大量的输入数据来测试程序是否存在漏洞代码审计可以帮助挖掘者通过分析代码来发现漏洞等。
总的来说学习漏洞挖掘需要综合掌握多方面的知识包括编程、计算机基础知识、安全基础知识、漏洞挖掘工具以及漏洞挖掘技巧和方法。
建议先从基础知识入手逐步深入学习不断实践并在实践中发现和解决问题才能逐渐成为一名优秀的漏洞挖掘者学习资源如果你是也准备转行学习网络安全黑客或者正在学习这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你知识库由360智榜样学习中心独家打造出品旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力熟练掌握基础攻防到深度对抗。
知识库价值深度 本知识库超越常规工具手册深入剖析攻击技术的底层原理与高级防御策略并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等提供了独到的技术视角和实战验证过的对抗方案。
广度 面向企业安全建设的核心场景渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点是应对复杂攻防挑战的实用指南。
实战性 知识库内容源于真实攻防对抗和大型演练实践通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。
部分核心内容展示360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。
360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式既夯实基础技能更深入高阶对抗技术。
内容组织紧密结合攻防场景辅以大量真实环境复现案例、自动化工具脚本及配置解析。
通过策略讲解、原理剖析、实战演示相结合是你学习过程中好帮手。