0
点赞
收藏
分享

微信扫一扫

WEB漏洞-逻辑越权

毅会 2022-04-30 阅读 76

目录

33、逻辑越权之水平垂直越权

原理

一、Pikachu-本地水平垂直越权演示(漏洞成因)

1.水平越权

 2.垂直越权

3.越权漏洞产生的原理解析:

 二、墨者水平-身份认证失效漏洞实战(漏洞成因)

三、越权检测-小米范越权漏洞检测工具(工具使用)

四、越权检测-Burpsuite插件Authz安装测试(插件使用)

1.在burpsuite中插件管理找到Authz安装 

2.登录mozhe靶场test用户抓包,抓取card_id

3.pikachu中测试

34、逻辑越权之支付数据篡改安全

原理

一、HTTP/HTTPS协议密文抓取

二、后台登陆账号密码爆破测试

​ 三、Cookie脆弱点验证修改测试

四、某商场系统商品支付逻辑测试-数量,订单(购买--截包--改包--放包) 

五、某建站西永商品支付逻辑测试-价格,商品

1.修改价格

 2.修改产品

3.替换支付(修改支付接口)

35、逻辑越权之找回机制与接口爆破

原理

一、找回密码验证码逻辑-爆破测试-实例

二、墨者靶场密码重置-验证码套用-靶场

三、手机邮箱验证码逻辑-客户端回显-实例

1.汉川招聘网

2.php云系统

四、绑定手机验证码逻辑-Rep 状态值篡改-实例

五、某 APP 短信轰炸接口乱用-实例接口调用发包

36、逻辑越权之验证码与token及接口

原理

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

1.Pkav_Http_Fuzz工具

2.captcha-killer插件

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

1.on server

三、Token客户端回显绕过登录爆破演示-实例

四、本地某URL下载接口ID值调用遍历测试-实例

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

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

33、逻辑越权之水平垂直越权

原理

一、Pikachu-本地水平垂直越权演示(漏洞成因)

1.水平越权

输入账号kobe,密码123456登录

登陆进去后点击查看个人信息抓包

这里看到有username参数,可以更改用户,这里更改为lucy放包

 发现个人信息已经更改,水平越权成功

 2.垂直越权

先用admin/123456账户登录,管理界面可以添加删除用户

 

 创建用户后使用用burp抓包发送到repeter模块当中,在proxy模块中将数据包丢弃。

切换普通用户pikachu/000000登录,只有读取权限

浏览器获取cookie,将获取的cookie的替换为repeater中的cookie最后发送

 刷新网站发现xiaoD用户创建成功,垂直越权成功(条件,获取管理员添加用户的数据包)

3.越权漏洞产生的原理解析:

#前端安全造成:界面

---代码在这里只有判断用户是不是管理员,然后进行展示(判断用户等级后,代码界面部分进行可选显示)(不安全)

---user.php界面和admin.php界面的区别(可以添加用户)


---但是只是前端解密有区别,并没有说非管理员用户不能编辑添加用户。因为:在adminedit.php文件中,只是判断了是否登录,没有再次判断级别问题就将数据插入数据库(也就是在代码层面判断等级,没有写入数据库)。

 ---pikachu靶场的垂直越权是通过游客的cookie,去访问管理员的添加用户的文件(也就是adminedit.php文件),由于adminedit.php只验证是否登录,所以存在越权漏洞。而在登录跳转是(login.php文件)存在等级验证,所以跳转到了普通用户的前端界面(PHP前端和脚本写在一个文件里面),因此,普通用户前端无法编辑添加用户。

#后端安全造成:数据库

---user 表(管理员和普通用户同表)中,存在如id,username,password,usertype的列名,其中,通过usertype这种列名来判断用户的等级。

 二、墨者水平-身份认证失效漏洞实战(漏洞成因)

身份认证失效漏洞实战_身份认证和会话管理_在线靶场_墨者学院_专注于网络安全人才培养

输入test/test登陆抓包

 放包看到uid参数和card_id参数可以利用,这里利用card_id这是每个用户的id

 将代码发送给intruder,将后两位设置为攻击参数

长度不一样的有用户

 点击马春生的图片发现地址

 将card_id 改为相应的值发送

 得到用户名和密码,密码用MD5解密

 得到密码,登录 

 成功水平越权,获取key

三、越权检测-小米范越权漏洞检测工具(工具使用)

 1.设置监听端口8999,获取数据包

 2.更改浏览器代理端口

3. 在pikachu水平越权下登录kobe 123456

4. 在工具的浏览器中登录lucky 123456

获取到了登录信息和cookie

 5.将kobe的get路径复制到lucy的浏览器访问

用lucy的cookie(还有post内容)访问kobe个人信息(URL路径)

这里按理说应该更换为kobe的登陆信息

这里报错了真奇怪

四、越权检测-Burpsuite插件Authz安装测试(插件使用)

1.在burpsuite中插件管理找到Authz安装 

2.登录mozhe靶场test用户抓包,抓取card_id

 发送给intruder设置参数攻击,同上

 将攻击结果全部发送给authz,并且将test的cookie复制到authz中

 选取所有数据包,右键run

 下面没有拦截的,都可能存在越权漏洞

---这里显示都存在,但是有些返回没信息,因为:这里检查的是是否有拦截,而这里都没拦截

---判断越权漏洞的原理:根据状态码200来判断,因为:越权是你用自己的cookie去访问别的用户,如果访问失败,会跳转到登录界面,状态码就是以300或者400开头。 

3.pikachu中测试

登录Kobe抓包

---分别将username修改为Kobe,lucy,1,2,lili发送到authz,还有关卡登陆页面


修改authz的cookie为Kobe用户的cookie

 选取全部数据包,然后点run

 200都能访问到,也就是存在越权漏洞,302不能访问没有越权

34、逻辑越权之支付数据篡改安全

原理

一、HTTP/HTTPS协议密文抓取

(找一个有登录界面的网站,输入账号密码,F12,点击登录,抓包,分析from data中的账号密码信息)

1.  HTTP和https区别

#http数据包可能加密,也可能不加密(火狐浏览器好像看不到post提交的内容)

---HTTP和https网站的区别在URL上,数据包貌似都是HTTP/1.1
#https的数据包提交的数据会加密(如果没有加密,也就是http协议,可以直接爆破,而https协议提交的数据加密了,就不能简单的爆破

二、后台登陆账号密码爆破测试

zblog密码爆破

利用admin admin登录抓包

 抓包时看到密码被加密,爆破时将密码加密再爆破

 发送给intruder,设置密码为爆破参数

自己创建文档写入密码

导入字典

 加密(密码一般为MD5加密)

 开始攻击

 最后一个302为正确密码

利用MD5解密,密码为jia123456

 成功登录

 三、Cookie脆弱点验证修改测试

搭建网站,进去登陆页面,这里登陆路径传参,可能包含漏洞,参数为login

 输入正确账号密码,抓包分析,查看cookie,这里post提交数据没有加密

登录,参数为index

 重新打开一个浏览器,后台查看没有cookie

 源码分析

这里index传参r,判断传递的参数file是为空还是为index,如果是index,就执行file文件下的传递参数的文件。这里只有等于index路径才能跳转 

如果r=index,在跳转管理员执行/files/index.php文件,文件开头包含了验证,防止用户直接登录URL路径进入管理员后台

因为访问的index.php,在审计一下index.php文件,看到的是执行了以下两个文件,对这两文件进行查看。

 

查看登录验证,判断用户的cookie,如果为空,就跳转到登录界面。(漏洞产生:只要cookie有数据,就可以访问) 

 

重新请求登陆界面抓包,将cook改为user=a(cookie修改user不为空)放包

 登陆成功

四、某商场系统商品支付逻辑测试-数量,订单(购买--截包--改包--放包) 

利用漏洞:挖洞技巧:支付漏洞之总结 - SecPulse.COM | 安全脉搏

点击购买抓包分析

sku_id=2(多半为商品的编号id)

num=2为要购买商品的数量


将数量改为-1,放包

成功实现0元购


3.  更改订单编号(以b的价格来买a)

假如购买商品a一件,在提交订单的时候抓取数据包


抓取到数据包(获取到了订单编号)


提交后页面回显

购买另外一件产品

抓包,修改为之前商品的订单编号


发现原来998元变成了9999999,这里可以反向操作,将贵的订单变成便宜的订单。

 

漏洞的产生,要看它有没有订单编号的检测

五、某建站西永商品支付逻辑测试-价格,商品

搭建大米网站,进去产品展示

1.修改价格

点击产品这里购买两个

 抓包,这里qty:数量,price:价格

将价格改为1放包

 

这里可以看到价格更改成功,订单总价变化

 2.修改产品

这里id和name代表商品种类

购买大米测试产品抓包,分析id和name

购买大米cms抓包

点击大米测试产品,将大米cms的id和name粘贴过来 

 这里我们成功用6000块买了5400的产品(反过来也可以低价买高价)

3.替换支付(修改支付接口)

提交订单抓取数据包,提交的路径传递参数s为支付的借接口(这里提交了接口和订单编号) 

 

35、逻辑越权之找回机制与接口爆破

原理

一、找回密码验证码逻辑-爆破测试-实例

phpyun人才管理平台(做完三、四再看)

1.抓取绑定手机,发送短信验证码,随机输入验证码的数据包

2.3.将数据包发送给intruder设置攻击参数,短信验证码

3.设置参数类型和范围(这里为了快速,范围设置的较小)

4.开始攻击,这里状态都一样,可以查看回显状态,这里1为正确,3错误,所以正确的是890348

二、墨者靶场密码重置-验证码套用-靶场

登录密码重置漏洞分析溯源_身份认证和会话管理_在线靶场_墨者学院_专注于网络安全人才培养

1.进去靶场,发现有一个已经注册的号码18868345809,使用已注册的手机号获取验证码(正确的验证码)

2.重新打开一个页面,将手机号换为目标手机号17101304128,点击获取验证码,将刚才的验证码粘贴但下面,点击重置

 3.成功重置获取到key

 

三、手机邮箱验证码逻辑-客户端回显-实例

1.汉川招聘网

汉​​​​​​川招聘网_汉川人才网_汉川人才招聘|0712zpw

先注册账号然后登陆查看邮箱认证

点击获取验证码,抓包分析(可以看到回显数据验证码send_key,不用邮件查询)

post数据包发送目的地应该是网站邮箱接口

输入这个验证码提交错误,发现和邮箱接收的也不一样(迷惑)

这里就理解网站数据包可以回显就行不必深究

2.php云系统

搭建网站,并且注册账号然后登陆

账号绑定里绑定手机,点击立即绑定,点击发送验证码抓包

在cookie里,有mobile_code=这属于客户端回显(验证码回显)

 随便输入验证码抓包,将数据包中的code和mobile_code匹配,然后放包

这里绑定成功 

这里随便输入错误的验证码,抓包发送给repeater,然后发送,回显3(3对应错误)

 

 输入正确的验证码:随便输验证码,抓取数据包然后将code更改为mobile_code的值,发送给repeater

 回显1(1对应正确)

 更改状态码:重新输入验证码然后抓包(点击右键选择do  intercept>response to the request),放包

将状态码3更改为1,成功绑定

 正确的回显不一定是数字,还可能是一段字符串(这里要区分正确的回信和不正确的回信)

四、绑定手机验证码逻辑-Rep 状态值篡改-实例

1.2逍遥模拟器app设置代理,ip为主机ip,端口与火狐浏览器不同

 2.在burp suite设置代理

 3.点击福利期货app我的页面,个人信息

4.在个人信息中修改个人密码

 

5.修改密码中随意输入短信验证码,抓包

 6.发送给repeater,发送查看回显:错误回显(响应包最后一行)

7. ​​​​​​​将手机上接收的正确验证码输入,查看回显:正确回显(响应包最后一行)

8.随意输入验证码,抓包,通过右键do  intercept>response to the request,截获返回数据包,放包,将错误的回显改为正确的回显放包

 9.绕过验证码,验证成功,进去重置页面,成功重置密码

 

五、某 APP 短信轰炸接口乱用-实例接口调用发包

利用微盘平台,随意输入接口抓包

 这里抓包发送给repeater,查看回显,发送成功

 这里对于接口参数设置参数进行爆破(不建议,危害很大,太刑了)

36、逻辑越权之验证码与token及接口

原理

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

1.Pkav_Http_Fuzz工具

识别网站

 获取验证码地址,访问

抓包查看数据包

  将数据包的首部复制到工具内

更换字典测试(发现每过一次,图片都会更新)

2.captcha-killer插件

 使用burp插件captcha-killer识别图片验证码 - _nul1 - 博客园

扩展功能中添加插件

 浏览器访问验证数据包,抓包,右键点击captch-killer

后面接口付费,不做演示,具体查看链接文档

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

1.on server

随便输入账号密码,输入正确的验证码,提交

提示用户名或密码不存在

 

随便输用户密码,输入不正确的验证码,提交

 

 显示验证码输入错误

 

 抓包正确的验证码,查看返回,验证码正确

 修改用户名发送,还是提示用户和密码不存在,没有提示验证码错误,可以复用

2.on client

查看前端源代码(验证码写入了前端)

源代码也一样

 这里我们将前端中的js<script>模块新建到1.js中,然后利用<script src="1.js"></script>引入

 在前端里面看不到验证代码,所以我们在抓包的时候要查看是否调用了其他的地址 ,查看1.js响应

 这里随意输入验证码绕过(前端代码验证码不执行)

 

 3.真实网站复用爆破

(网站已下线,这里直接截图)

输入手机号,图形验证码,获取手机验证码

查看回应,发送成功,请注意接收

burp抓包

爆破绕过验证码的方法:验证码的复用,只需要发送第一次验证码,然后可以通过数据包爆破密码

三、Token客户端回显绕过登录爆破演示-实例

输入任意账号密码抓包,查看token

 

重新查看,发现token改变

 查看前端里yeyoutoken,发包的token与前端一致

 token是用来防爆破的,但是其token值输出在了前端源码中,容易被获取,因此也就失去了防暴力破解的意义。

将密码和token设置为攻击参数,攻击类型选择pitchfork

 设置第一个参数,添加字典

 设置线程为1(1次只验证一个账号密码)

设置重定向,仅限范围

 

 设置grep extract匹配用法,点击添加,查找到token值选择,点击ok

 

这里设置第二个参数token,类型为recrusive grep

 

 ​​​​攻击,发现下面的token值就是上一个的值总结

四、本地某URL下载接口ID值调用遍历测试-实例

接口url

 抓包发送给intruder,设置id为变量

 设置攻击类型和攻击范围

 查看结果,看是否可以发现其他用户的信息,用来水平越权

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

2号人事部2号人事部-HR效率软件,为企业实现人力资源全流程在线管理,包括员工管理、招聘流程管理、考勤打卡、薪酬计算、OA审批、培训管理、用工风险管控等,助力企业管理效率翻5倍,1天实现信息化!https://2haohr.com/login?callback=https%3A%2F%2F2haohr.com%2Fpersonnel这里callback后的数据代表微信登陆,然后将微信登陆数据返回给callback

callback参数可以更改,可以和跨站漏洞结合

-在网页源代码搜索传递的参数,如果存在,意味着URL传递的参数会在网页的前端回显,那么,也意味着可以构造XSS漏洞(测试有没有过滤,完不完整) 

 

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

用pikachu靶场尝试

---抓包发送到爬虫(这里使用右键点击tools中的find references)

查看抓到的结果

 真实目录路径

 搜索关键字(这里可以使用 discover content模块过滤搜索内容,相当于帮你筛选)

 

扫描scan(这里比较普通,建议使用专门的扫描工具爬虫)

 导出数据包(save bom)

 

 

举报

相关推荐

0 条评论