36 WEB漏洞-逻辑越权之验证码与Token及接口

目录

    • 验证码安全
    • token安全
    • 接口安全问题
    • 未授权访问
    • 涉及案例
      • 验证码识别插件及工具操作演示-实例
      • 验证码绕过本地及远程验证-本地及实例
      • Token客户端回显绕过登录爆破演示-本地
      • Callback自定义返回调用安全-漏洞测试-实例
      • 补:上述在实战中如何做到漏洞发现-bp功能点

文章分享:https://www.cnblogs.com/zhengna/p/15657016.html

36 WEB漏洞-逻辑越权之验证码与Token及接口_第1张图片
token类似一个会话、一大串字符,代表数据包的唯一性,就是类似于编号,有了它之后能够防止一些csrf,一些重放数据包的攻击,因为一般数据包里面有token的话,就会检测唯一性,这是之前的数据包还是下一次的数据包,所以有了token之后,就会造成逻辑漏洞里面经常重新提交数据包来尝试再次提交成功,我们这个操作会被token阻止掉,同时,他还能防止一些其它攻击,所以我们在测试一些漏洞的时候,会遇上一个token,或者验证码

验证码就是我们常见的,不管是注册账号的时候,需要验证码,修改密码的时候也需要验证码,尝试登录账号的时候,也需要验证码,基本上很多操作都会跟验证码相关,这个验证码如果能够突破的话,就能实现一些相应的功能,比如像批量注册、密码修改绕过、我们后台登录里面需要爆破账号密码

token和验证码讲的不是漏洞,他讲的是测试中可能会遇上这两个问题,来干扰我们的测试步骤,所以我们会讲这两个在碰上的时候,他是有一些方法,在对方没有考虑到绝对安全的情况下,我们是能够进行突破的,关于这个token目前是比较安全的,他这上面的方法主要是看对方程序应用是怎么去验证的

token一般后面是跟上一长串的字符串,如果能够知道token规律的话,是能够进行爆破的,就是猜测下次它的值
token的数据会在数据包它的前端进行显示,我们可以跟前端保存一致来实现绕过数据包的唯一性进行检测
虽然有token,通过上次的token来操作下次的数据包,其实就是他的检测不怎么好,没有检测他的唯一性,表面上看上去有检测,实际上没有
去爆破收到的验证码,手机或者邮箱收到的验证码
识别,我们看到的图形的验证码,可以进行简单的识别,识别出来之后,就可以进行爆破,相当于这个验证码等同虚设
验证码进行复用
验证码在浏览器前端可以看到,下次它要发送什么数据包,这个时候只需要在数据包里面跟验证码保持一致,也能实现验证码的一个绕过,还有一种绕过,就是绕过逻辑上面的一些问题,虽然看上去有检测,有验证码,实际上你可能通过一些手段,能够绕过他

验证码安全

分类:图片,手机或邮箱,语音,视频,操作等,太复杂的识别不了
原理:验证生成或验证过程中的逻辑问题
危害:账户权限泄漏,短信轰炸,遍历,任意用户操作等
漏洞:客户端回显(已讲),验证码复用,验证码爆破(已讲),绕过等

token安全

基本上述同理,主要是验证中可存在绕过可继续后续测试
token爆破,token客户端回显等

接口安全问题

调用,遍历,未授权,篡改等
调用案例:短信轰炸
遍历案列:UID等遍历
callback回调 JSONP
参数篡改:墨者靶场

水平越权:
xiaodi uid=10
1-1000 尝试能不能获取到其他编号对应的用户信息
操作参数值,来看一下有没有水平越权

未授权访问

与越权漏洞区别
Jboss 未授权访问
Jenkins未授权访问
ldap未授权访问
Redis未授权访问
elasticsearch未授权访问
MenCache未授权访问
Mongodb未授权访问
Rsyne未授权访问
Zookeeper未授权访问
Docker未授权访问

涉及案例

验证码识别插件及工具操作演示-实例

#验证码识别插件工具使用
captcha-killer,Pkav_Http_Fuzz,reCAPTCHA等
验证码识别插件,要想用的好,得掏钱买验证码识别库,没掏钱的话,基本上识别不了,而且出错率很大,识别的速度跟不上放包的速度

验证码绕过本地及远程验证-本地及实例

逻辑漏洞不是一个很规矩的漏洞,这种漏洞的危害不是很恶劣,主要是看我们怎么去利用,他不像其它漏洞直接跟数据、权限挂钩,有些危害大、有些危害小

Token客户端回显绕过登录爆破演示-本地

爆破要能够识别出token的加密方式或者找到他的规律

Callback自定义返回调用安全-漏洞测试-实例

在支付里面,像付款完之后,会取回调结果,支付接口、对方的回显,来判断你成功与否,回调的话,就相当于回调会进行相应的接收,进行相应的操作,如果程序不接受回调数据的话,那她怎么知道你是成功和失败,在这个过程中,他有涉及到接收,所以这个callback我们把它称之为接口安全,是因为它产生在接口调用的时候,然后对方这个判断标准会产生回调,所以我们在进行这个操作的时候看一下对方的回调,然后回调的数据能不能进行操作,执行一些其它的漏洞

callback相当于回调,回调就是要取数据,取数据就会符合漏洞的一些条件,所以形成callback的安全问题
把目标资产的链接全部爬下来,去看有没有callback
逻辑漏洞就是挖功能点和挖参数值,功能点和参数值都有些特定的标识,比如callback就叫callback,id就叫id,了不起改个名字uid,这种关键字、token和验证码都会有些关键的英文单词,所以我们可以通过数据包分析这些东西,然后在把它设置为字典,然后去破解

补:上述在实战中如何做到漏洞发现-bp功能点

因为人工会发现很烦,没事就数据包注册、测试都很烦,但是我们用好BP的功能点,就会很舒服、很稳

你可能感兴趣的:(小迪安全,前端)