业务逻辑漏洞总结

前言

在平时学习安全中常常会有涉及到sql注入,xss,文件上传,命令执行等等常规的漏洞,但是在如今的环境下,结合当前功能点的作用,虽然不在owasp top10 中提及到,但是往往会存在的,一般叫做逻辑漏洞。

本篇文章是根据《web攻防业务安全实战指南》一书的知识进行简要的总结而成的笔记。

归类

逻辑漏洞主要产生的位置

登录处

业务办理处

验证码处

支付处

密码找回处

登录处存在的逻辑漏洞

可以暴力破解用户名或密码

没有验证码机制,没有根据用户名限制失败次数,没有根据ip限制失败次数等等

通常思路:

直接拿密码字典爆破某一个用户名

拿固定的弱口令密码,去跑top xxx的用户名

如果只是用户名限制失败次数,可以使用思路2的方法

在存在返回提示用户名错误或者密码错误的情况下,可以分别爆用户名和密码

常见限制:

有时候会发现用户名或者密码是密文加密,这时可能是通过前端或者其他方式加密,对于简单的来说base64编码和md5的签名是很好识破的,在爆破的时候可以选择encode和hash

session没有清空

登出后服务器端的session内容没有清除,因此客户端重新带回登出前的session,也能够达到重新登录

通常思路:

在登出后,拿登出前的session,重新访问需要登录的界面

业务办理处存在的逻辑漏洞

水平越权

通常说的越权一般是修改get或者post参数,导致的查看到他人的业务信息,一般看订单处,个人信息处等位置的参数

通常思路:

拿2个账号,修改账号1的get或post参数给账号2

篡改手机号

在需要手机号的短信验证处,抓包修改手机号,可能做到非本账号手机号获取能够编辑本账号的验证码

通常思路:

抓包,查看get或者post参数存在手机号的地方,进行修改

验证码处存在的逻辑漏洞

登录验证码未刷新

没有清空session中的验证码信息

通常思路:

抓包多次重放,看结果是否会返回验证码错误,如没有返回验证码错误则存在未刷新

观察检验的处理业务,如果验证码和用户名密码是分2次http请求校验,则也可以爆破用户名和验证码

手机或邮箱验证码可爆破

没有对应的手机号或邮箱,但如果验证码纯数字4,5位左右,没有次数校验,可以爆破

通常思路:

拿自己的手机号或邮箱先获取验证码查看验证码格式,之后多次提交错误的看是否有次数现在,没有就爆破

手机或邮箱验证码回显到客户端

在发送给手机或者邮箱验证码时,会在response包中有验证码,因此不需要手机和邮箱就可以获取验证码

通常思路:

发送验证码时抓包,看返回包

修改response包绕过判定

在输入错误的验证码时会返回false之类的字段,如果修改response中的false为true,会识别为验证通过

通常思路:

抓包,选择do intercept-> response to this request ,放包,抓到到下一个包就是response的包,可以修改,重放

支付处存在的逻辑漏洞

修改商品编号

如果业务是通过商品编号来判断价格的话,可能存在只修改A商品编号为B商品编号,做到以A商品的价格购买B商品

通常思路:

先准备2个商品的编号,将其中一个改为另一个

条件竞争

通过条件竞争使余额达到负数,从而买多个商品

通常思路:

支付处,多线程请求付款确认,结果如果余额为负数,则存在该漏洞

金额修改

金额直接写在了post或者get请求中,对其进行修改达到修改了商品金额的效果

通常思路:

抓包修改金额的字段

商品数量修改

在购买时,如果一个商品为负数,那么它的价格则会是负数,如果购买多种商品,将其中一个设为负数,降低整体的价格

通常思路:

购物车里选取多个商品,修改其中一个商品的数量,在购买后查看最终的价格

通过前端限制限购商品

有些商品限购1个,但是判定是通过前端,因此可以抓包后修改数量

通常思路:

抓取限购数量内的包,抓取后修改个数,重放

充值中放弃订单未失效

在充值中选取大额充值订单,放弃订单,获得订单号,之后充值小额订单,拿到充值成功的界面,将订单号修改为放弃的大额订单,观察是否成功

通常思路:

1. 看看充值的时候是否有订单号字段,如果有在成功界面修改为未支付的订单号,观察是否充值成功

密码找回处的逻辑漏洞

验证码处的逻辑漏洞在密码找回处存在一样适用

修改发送的验证的目标为攻击者的邮箱或手机

在找回密码处,如果字段带上用户名,校验的邮箱或者手机号,将邮箱或者手机号改为自己的,如果自己的能够收到验证码并重置密码,则该漏洞存在

通常思路:

抓包,注意找回密码流程中的邮箱号或者手机号字段,修改其为自己即可

session覆盖

已知A的手机号,不知B的手机号,找回A的密码,输入验证码后到了设置新密码设置界面。这时在同一浏览器下重开窗口找回B的密码,获取验证码,刷新A设置新密码的页面,如果此时修改的是B账号的密码,则存在漏洞

通常思路:

准备2个账号,测试步骤如上所述

在邮箱收到找回密码连接时,依然可以使用该思路

弱token爆破

有些时候通过找回密码的时候填邮箱,邮箱此时会收到一个带有token的链接,点击链接就能跳转到重置密码的页面,如果token是base64,时间戳,位数较低的随机数则可以爆破

通常思路:

正常找回流程获取重置密码的url,了解token的规则后,爆破其他邮箱的重置密码url

密码找回流程绕过

在找回密码处,一般会有三个步骤页面,页面1找回用户的填写,页面2找回时的手机号短信验证码填写,页面3填写新密码,如果填好页面1,直接访问页面3能够重设密码的话,则会存在该漏洞

通常思路:

在设置好找回用户后,直接访问重设密码的url页面

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容