随着WAF产品从传统规则库到智能引擎的转型,通用漏洞类型已基本可以防护。但WAF的局限性也在于只能防御流量层面的攻击,难以防御业务逻辑型的漏洞。而如今大部分企业在Web应用层的防护主要依赖WAF,往往会忽视业务逻辑场景产生的漏洞。本文介绍一些基于业务逻辑场景的应用漏洞挖掘方法,希望可以对各企业安全建设和SRC漏洞挖掘有所启发。
信息收集
信息收集是漏洞挖掘的第一步,你拥有的“资产信息”决定了你的产出。下面列举几种常见的信息收集手段:子域名收集。
- 暴力破解
推荐在线子域名扫描工具:YoungxjTools,速度快,内置大量字典且支持自定义字典,本地工具layer也很方便,比YoungxjTools多了端口配置功能。
- 搜索引擎搜索
Google、百度、360、bing、搜狗等主流搜索引擎,可以通过搜索语法进行搜索,在发现域名时往往会同时发现一些敏感的页面,但收录有限。
- 证书查询
常用的证书查询网站有censys.io crtsh等,可以发现暴力破解无法爆破出来的子域,但同样收录有限。
- 微信公众号、小程序
微信已是如今人们日常生活中用的最多的软件之一,越来越多的公司选择在微信公众号、小程序来拓展业务及影响力,我们可以通过这些渠道来收集更多的域名或ip地址
业务逻辑的切入点
1.登陆注册,修改密码处(验证码绕过)
客户端刷新验证码
在挖掘验证码问题中,一般情况下会先通过抓取数据包验证常见的逻辑错误、暴力破解、短信轰炸等问题。此处讲解下检查源码方式,直接右键检查验证码的html代码,可以看到验证码是客户端通过一个img标签进行请求刷新的,<imgsrc="http://xxxx.xxxx:80//ImageServlet"id="code_img"height=“26”/>,此处src地址即为验证码地址。
正常当我们输入错误的验证码时,请求会返回验证码错误信息且刷新一次验证码,当我们将客户端刷新验证码的请求hold住时,验证码处会一直停留在原始的验证码,不会再做刷新,此时我们就可绕过验证码刷新并使用burpsuite进行账户密码的暴力破解了。
- 支付功能处(更改客户端)
高并发问题
假设用户的账户余额100元,某商品单价100元/件,当用户使用账户余额购买此商品时只能购买一件数量,且购买成功后账户余额归零。但当业务存在高并发漏洞时,扣款的同时数据库未落锁,导致账户余额可能减少至负数,购买到的商品也可大于一件。
如在某小程序中,有一处使用积分抽奖的功能,在使用积分抽奖按钮处使用fiddler抓包并截断数据包请求。
shift+r设置同时高并发50次,可看到抽奖次数已超出积分余额,同时剩余积分变为负数。
3.订单管理处(用户权限,用户未授权)如增删改查、本地验证绕过
水平越权(不安全的直接对象引用IDOR)
越权漏洞是web应用程序常见的漏洞之一,主要分为以下几类:
-
未授权访问:本来没有账号(即没有某个功能权限),但是通过越权操作,获取了某个功能权限;
-
水平越权:本来有个账号(即只能操作自己的数据,比如增删改查),但是通过越权操作,能操作其他同等权限账号的数据。
-
垂直越权:本来有个账号只有小权限,但是通过越权操作,获取了大权限。
在日常安全测试中,大部分发现的都是未授权访问和水平越权,本次讲解下水平越权。水平越权常见于业务系统中,对用户信息或者订单信息进行增删改查操作时,由于用户编号或者订单编号有规律可循(有序递增,订单编号常发现以日期开头后面再接几位有序增长的数字,类似20200520xxxx1,20200520xxxx2),且执行请求时未校验用户对应权限或权限校验不足,就可能存在越权漏洞,此时我们通过burpsuite的 intruder对目标参数进行遍历测试即可。
如下是某厂商业务系统的分销中心,提供分销账单的查询功能:
登陆账户后,任意选择一个分销账单,点击订单明细查询,使用burpsuite进行抓包,可以看到查询的参数只有”billld”一个选项,且参数值为简单的4位数字,返回包中含明文的订单明细信息:
更改一个不在账户权限下billld,发现仍可正常返回,使用intruder对billld参数进行遍历,并对length排序,可得多条有效payload对应的订单明细,理论上遍历的参数值范围够大,可得全站分销账单明细。
4.配置不当
SPF邮件伪造
SPF是 Sender PolicyFramework 的缩写,一种以IP地址认证电子邮件发件人身份的技术。接收邮件方会首先检查域名的SPF记录,来确定发件人的IP地址是否被包含在SPF记录里面,如果在,就认为是一封正确的邮件,否则会认为是一封伪造的邮件进行退回。SPF可以防止别人伪造你来发邮件,是为了防范垃圾邮件而提出来的一种DNS记录,它是一种TXT类型的记录。
由于SMTP邮件服务商互相发送邮件是不需要认证的,邮件伪造也是利用这个特性来实现伪造任意发件人。
如何查看邮件服务器是否配置SPF记录:
Windows下进入DOS模式后用以下命令:
nslookup -type=txt 域名
Unix操作系统下用:
dig -t txt host
已配置SPF的情况
可以看到在ANSWER SECTION下存在一条
“v=spf1include:spf1.baidu.com include:spf2.baidu.com include:spf3.baidu.com a mx ptr-all”
简述下此条记录的含义,v=spf1 声明SPF的版本,include: 表示引入域名下的 SPF 记录,支持当前域名的a mx ptr记录进行验证,-all表示除此之外拒绝所有。
未配置SPF的情况,可看到声明中无相关spf记录
攻击者可以找一个在线smtp发件服务器,伪造发件地址进行钓鱼,以下是某企业邮箱存在SPF邮件伪造的示意图:
总结
本篇文章只简单介绍了几个业务漏洞挖掘的方向,大家可在此基础上拓展思路,发掘更多姿势。业务问题产生的漏洞很多,一些扫描器、WAF等安全产品也难以覆盖,尤其一些新上线的大型业务系统接口多,功能点的逻辑复杂,容易产生被忽视的漏洞,是SRC漏洞挖掘的重点部分,同时也提醒我们甲方此类安全测试的重要性。
作者:盐风
题外话
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我们和网安大厂360共同研发的网安视频教程,之前都是内部资源,专业方面绝对可以秒杀国内99%的机构和个人教学!全网独一份,你不可能在网上找到这么专业的教程。
内容涵盖了入门必备的操作系统、计算机网络和编程语言等初级知识,而且包含了中级的各种渗透技术,并且还有后期的CTF对抗、区块链安全等高阶技术。总共200多节视频,200多G的资源,不用担心学不全。
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要见下图即可前往获取
🐵这些东西我都可以免费分享给大家,需要的可以点这里自取👉:网安入门到进阶资源
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。