我和逻辑漏洞的那些事(一)

admin 2022年11月11日18:51:08我和逻辑漏洞的那些事(一)已关闭评论30 views字数 2621阅读8分44秒阅读模式

我和逻辑漏洞的那些事

逻辑漏洞是指攻击者利用业务/功能上的设计缺陷,获取敏感信息或破坏业务的完整性,产生逻辑漏洞不需要向程序插入恶意语句,只是利用了业务逻辑代码不严谨或者代码有问题。

弱口令

弱口令现在依然还是很普遍存在,不仅是用户还是企业,弱口令就是使用简单的数字或者字母,比如123456,abcdefg、admin、root再或者用自己的名字等其他有关自身特征字符串组成的密码就称为弱口令,弱口令产生主要还是管理员贪图方便、不愿意记长密码、不修改默认的出厂密码等原因产生,记一次线下的比赛,最多就是弱口令,因为管理员的网络安全意识不够,导致后台可以进出自如。

短信轰炸

短信轰炸利用的是发送验证码的页面没有进行限制,比如没有时间限制,没有验证码验证请求是不是合法的,如果没有进行这类的验证的话,攻击者就可以对一个目标不断进行发送短信,而目标也会一直不断接收这类短信。

我和逻辑漏洞的那些事(一)

口令枚举

口令枚举早期多数存在于在登录页面中,比如用户名输入了admin,如果页面中返回了“密码不正确”等类似间接表明用户名是正确的,但是密码是错误的字眼时,就可以知道是账号是对的,但是密码是错的,这个时候就可以针对这个账号的密码进行爆破,当然,如果用户名错的话,就可以针对用户名进行爆破,直到出现密码错误的字眼时就可以确定有这个账户了,实际上还有一些网站的注册页面中存在这么一个情况,在注册输出用户名的时候,会自动检测该用户名是否存在,这种情况下,也无需对用户名进行爆破了,只需要在注册页面输入一下用户名,看一下是否存在就行了。但是这种情况现在也很少发生,但是有一些网站依然存在。

我和逻辑漏洞的那些事(一)

我和逻辑漏洞的那些事(一)

我和逻辑漏洞的那些事(一)

物理路径爆破

物理路径指的是网站的存放路径,物理路径泄露能为攻击者提供进一步的攻击,比如在使用数据库读写shell的时候,需要知道其物理路径,物理路径泄露一般是因为对错误信息没有进行隐藏,拿PHP作为案例,物理路径暴露一般是因为页面引起了错误的信息没有进行处理,比如display_errors没有关闭,有一次挖洞的时候,页面疑似存在文件包含,于是进行测试包含/etc/passwd,但是有waf被拦截了,换成/etc/hostname尝试,发现存在open_basedir限制了只能读取当前目录的文件,但是由于没有对警告信息处理,警告信息中也泄露了物理路径。物理路径泄露同样也存在IIS7中,也是因为配置不当,在输出错误信息的时候,会将物理路径显示出。

我和逻辑漏洞的那些事(一)

IIS7物理路径泄露

我和逻辑漏洞的那些事(一)

疑似display_errors没有关闭,导致前台显示警告信息

验证码复用

验证码复用是指同一个验证码,可以不断重复使用,挖掘也很简单,找到一个有验证码的页面,比如登录页面,输出正常的信息后,进行抓包拦截,发送两次包,如果第二次的返回包和第一次的返回包返回的信息一样,没有显示验证码错误的字眼的话,说明存在验证码复用,也就是说验证码是形同虚设,可以不断使用,这就为爆破口令提供了一个良好的环境。

我和逻辑漏洞的那些事(一)

我和逻辑漏洞的那些事(一)

验证码枚举

验证码爆破是指页面中对验证码验证的次数没有限制,在获得验证码的长度特征之后,可以进行爆破,这种情况是因为在验证验证码的时候,多次尝试错误之后,没有进行二次验证,导致可以不断进行枚举,记一次挖掘的这类漏洞的时候,也是因为没有对我进行识别,在正常发送一次验证码请求之后,得知他的验证码是四位数,所以可以设定0000~9999的范围进行爆破,一般一分钟之内就搞定了,所以可以构造他的手机号码,然后爆破验证码,就可以随意绑定别人的手机号码了。

我和逻辑漏洞的那些事(一)

验证码泄露

验证码泄露是指发送验证码之后,会在返回包中显示验证码,这样子就不需要获取到短信中的验证码也可以进行验证了,挖掘的话,主要还是要观察返回包中是否含有验证码。

我和逻辑漏洞的那些事(一)

订单金额任意修改

订单金额任意修改也算是逻辑漏洞中的王炸之一,一般存在于中小型购物网站中,在提交订单的时候进行抓包,将请求包中的金额修改成其他金额,或者在前端直接改金额,在成功支付了我们改的金额后,可以正常下单。比如10000块钱的东西,站点存在改漏洞的话,修改成0.1,然后发送请求购买下单,商家没有进行订单审核直接发货的话,这不就白白损失了9999.9。之前也有挖到一个这种站点,直接修改post请求包的money参数改成1块钱,然后发包返回了200,但是捏,当我要给钱的时候,突然就崩了...

任意用户注册

任意用户注册产生主要是围绕着:“无验证码”,“验证码复用”,“对手机号或者邮箱不进行验证”,“前端验证码可绕过”等原因而照成的一种应用层dos,攻击者只需要在前端模拟正常的注册过程,然后使用抓包的intruder进行爆破注册,挖掘这种漏洞的而思路很简单,只需要正常抓一次包发出,然后换一下用户名,在进行一次注册,观察返回包如果注册成功的话,就说明该网站存在任意用户注册漏洞,笔者第一个逻辑漏洞就是任意用户注册,主要是当时太无聊了想挖挖站,大概思路就是,看到登录页面就想抓个包试试看有没有密码枚举的漏洞,并没有,于是目光转向注册页面,要填很多的信息,填了一遍之后进行抓包发送,看到返回包显示注册成功,于是修改用户名邮箱等相关参数再点一次发包,查看返回包发现同一个IP地址不能短时间内注册两个账号,于是再请求包中自定义一个Referer:xxx.xxx.xxx.xxx,然后再点击发送,返回包返回了"注册成功,等待审核"的字眼,很明显的任意用户注册漏洞了,这个时候只需要通过intruder将请求包的ip地址,用户名,邮箱等信息不断变换就可以批量注册!即使有审核,也会加大后台审核人员的审核难度,会产生大量的垃圾用户!

我和逻辑漏洞的那些事(一)

越权

越权大致上分成两种,一种是“垂直越权”,一种是“横向越权”,两者相比较,垂直越权的危害比横向的大,垂直越权就是可以通过一个普通的用户权限,越权至更高的权限账户。而横向越权就是跳转到普通用户,挖掘这一类漏洞的时候,可以观察修改信息的url有没有id或者username等显示用户名的地方,或者在post请求包中查看,有没有包含用户名,有的话,尝试替换成其他的人用户名进行重放发送请求包,如果页面跳转或者修改成功的话,说明存在这一类的漏洞。

逻辑漏洞的挖掘相对其他的web漏洞来说,是比较简单好挖的,多观察网站的登陆注册页面,如果没有验证码可以尝试一下有没有口令枚举的漏洞,注册页面如果没有限制发送验证码的时间间隔或者验证码多次错误没有验证机制的,大概就可以确定有短信轰炸或者验证码枚举,这类漏洞也是可以提交。

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月11日18:51:08
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   我和逻辑漏洞的那些事(一)http://cn-sec.com/archives/1353464.html