逻辑漏洞-笔记

逻辑漏洞

突破功能限制漏洞

前端校验漏洞

无法查询
invalid image(图片无法加载)
删除dis关键字

invalid image(图片无法加载)

案例

  1. 优惠券
    一般每张优惠券都是一段随机字符串key标识,一次只允许使用一张,但有些语言支持
    数组提交
copponeid=keyA
copponeid[0]=keyA&copponeid[1]=keyB

json提交

{......"copponeid":"keyA",....}
{......"copponeid":["keyA","keyB"],....}
  1. 限额

每人每天只允许购买10000元的产品,但每个人都已修改自己每天能购买的最大限额数(仅能由大改小)

10000
将额度改为9999
再买9999
突破限制

用户信息泄露漏洞

泄露信息一般为手机号/姓名/邮箱/身份证号/收获地址/订单/用户名/密码/银行卡等

案例

注册 登录 找回密码,服务器回显差异造成泄露

用户名不存在
用户名或密码错误
通过回显不同,字典遍历,获取系统中可能存在的用户名列表
同理手机号/邮箱等

修复建议:设置验证码防止字典遍历

服务端多余回显

用户登录之后服务器会从数据库读取用户数据,并通过js或json返回给前端,以便于前端一些功能快速响应(同时可能造成不必要的数据回显(密码等))

invalid image(图片无法加载)

掩码前后不一致造成信息泄露

A功能点:手机号135xxxxx1010
B功能点:手机号13535356XXXX

越权

干了不属于自己权限范围内的事就叫越权

  • 水平越权
  • 垂直越权

案例

id越权
 - php?id=140012
 - 关注业务点:
	 - 收获地址
	 - 用户
	 - 编辑
	 - 预览(草稿,回收站)
	 - 报告(采购)
	 - 订单(抽奖,付款)
 - 绕过手法1:删除多余字段
	 - tooken 删除 / null / md5验证 /多加123456毁掉token
 - 绕过手法2:cookie越权
	 - cookie是否有身份表示字段 / 双音素越权
 - 绕过手法3:修改帐号
	 - 输入正确的旧密码和要更新改的密码后抓包将loginid改为其他帐号(例如帐号改为admin,新密码为123- 当前密码改为NULL
 - 绕过手法4:禁用js
	 - 禁用本地js验证即可未授权绕过后台(看有没有危害)
 - 绕过手法5:双因子
	 - uuid / uid都改
 - 绕过手法6:修改url路径参数实现垂直越权
	 - app=user
	 - app=admin
 - 绕过手法7:思路重要
	 - 确认收获信息,改id看能不能确认别人的账单
	 - 用户中心 -- 地址管理 --- 常用地址 2. 拦截常用地址查询请求,将手机号改为其他人的手机号

猜测页面
普通用户(只有阅读权限)
read_article
管理员用户
edit_article

遍历漏洞

攻击者归纳总结服务器资源唯一标识的变化规律后,通过一定手段获取大量可产生利用价值资源的一类漏洞

案例

打车平台的附近位置

达成平台允许乘客根据当前位置匹配附近出租车司机信息
GPS伪造技术,遍历全国司机个人信息

base64遍历

MTk5OQ==
MjAwMA==

弱口令漏洞

暴力破解

大字典
高线程遍历
验证码ocr

有点平台规定次数会锁用户:那可以通过爆破导致用户上锁,无法正常使用平台(618限时购买/抢票)

固定密码攻击

固定密码
遍历账户
得到密码为固定密码的所有账户

撞库攻击

社工库(实话实说 我的好多地方密码是一样的)

验证码漏洞

暴力生成

(短信轰炸)
重放

 - 绕过
	 - 垃圾字符
	 - +86
	 - +空格
	 - 双写手机号
	 - XFF ip伪造
	 - 暴力破解
	 - 设置阈值

暴力生成破解

1个验证码只允许破解几次
但可以无限生成
生成一次破解一次

内容生成伪造

xx公司 你正在充值密码,短信验证码是:xxx
xx公司 你正在充值密码,短信验证码是:xxx,因系统升级,您需要将验证码发送到:xxxxx

响应包存在短信验证码

绑定关系失效

先用自己手机号获取验证码
再改为别人手机号注册

统一初始化

对从未发送过短信的手机号短信验证码默认设置为

null
none
0
00000
123456

短信验证码

ocr绕过

任意用户注册/登录/密码充值

越权修改(找回密码要素)

第一步输入邮箱
第二步验证身份
这种就可以看链接里是否有问题,可以改一改,跳步

验证密码key暴力破解

发个邮箱说验证码是啥
暴力破解

验证链接可被预测

重置链接md5揭密
去发送修改请求
用自己构造的重置链接对密码进行重置

通过验证后,修改密码时越权修改

用自己账户通过验证来到修改密码这一步
修改请求包中的用户信息来修改他人用户密码

找回密码邮箱改为自己的

chagepasswd.php?email=xxxx.com
chagepasswd.php?email=自己的.com
chagepasswd.php?email[0]=xxxx.com&email[1]=自己的.com

修改返回包

  • 只进行前端验证,验证成功后提交给后台,后台不做验证直接记录
  • 注册失败false改为true/success

url跳转

redirect.php?url=http://www.baidu.com
可能造成欺诈行为

常见参数
redirect
redirect_to
redirect_url
url
jump
jump
target
to
link
linkto
domain
绕过
  1. 单斜线:http://www.xx.com/redirect.php?url=/www.evil.com
  2. 缺少协议(双斜线):http://www.xx.com/redirect.php?url=//www.evil.com
  3. 多斜线/ 反斜线 / #号 / ?号 / … / \ / 双写
  4. 利用@绕过:https://www.xxx.com/redirect.php?url=//www.evil.com@www.evil.com
  5. url=evil 可能跳转到www.evil.com
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值