三、WEB漏洞-逻辑越权

目录 

 

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.汉川招聘网汉川招聘网_汉川人才网_汉川人才招聘|0712zpw

2.php云系统

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

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

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

 原理

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

1.Pkav_Http_Fuzz工具

2.captcha-killer插件

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

1.on server

2.on client

 3.真实网站复用爆破

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

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

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


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

三、WEB漏洞-逻辑越权_第1张图片
原理

1.垂直越权访问

普通用户->计划专员->超级查看员->超级管理员

水平越权访问

用户A->用户B->用户C->用户D

2.水平,垂直越权,未授权访问

解释,原理,检测,利用,防御等

水平越权:通过更换的某个 ID 之类的身份标识,从而使 A 账号获取(修改、删除等)B 账号数据(权限相同)。

逻辑越权:使用低权限身份的账号,发送高权限账号才能有的请求,获得其高权限的操作。

未授权越权:通过删除请求中的认证信息后重放该请求,依旧可以访问或者完成操作(有些操作要管理员才行)。

3.原理:

*前端安全造成:界面

判断用户等级后,代码界面部分进行可选显示

根据用户权限,显示不同的网页。即普通用户与管理员使用相同页面,只是部分内容对普通用户隐藏。应该在操作功能时判断权限,决定给不给与执行,而不是在显示页面时,且只隐藏网页内容

*后端安全造成:数据库

user 表(管理员和普通用户同表)

        id,username,password,usertype

        1,admin,123456,1

         2,xiaodi,11111,2

在user表(管理员和普通用户同表)中使用一项数据的值(如usertype、groupid)判断用户的权限

4.检测

登录用户 admin 或 xiaodi 时,代码是如何验证这个级别?(usertype 判断)

如果在访问数据包中有传输用户的编号、用户组编号或类型编号的时候,那么尝试对这个值进行修 改,就是测试越权漏洞的基本。

5.获取高权限操作的数据包

*修改当前页面的数据包实现越权,用于当前页面有对应选项但无操作权限时

*下载网站源码,本地搭建,模拟抓取

6修复防御方案

*前后端同时对用户输入信息进行校验,双重验证机制--后端数据库,将用户权限写入数据库

*调用功能前验证用户是否有权限调用相关功能--loginedit.php对用户权限校验

*执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限

*直接对象引用的加密资源 ID,防止攻击者枚举 ID,敏感数据特殊化处理--在参数值进行加密,如对card_id的值加密

*永远不要相信来自用户的输入,对于可控参数进行严格的检查与过滤

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


1.水平越权


输入账号kobe,密码123456登录

三、WEB漏洞-逻辑越权_第2张图片

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

三、WEB漏洞-逻辑越权_第3张图片

三、WEB漏洞-逻辑越权_第4张图片这里看到有username参数,可以更改用户,这里更改为lucy放包

三、WEB漏洞-逻辑越权_第5张图片

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

三、WEB漏洞-逻辑越权_第6张图片

 #查看源代码

---判断了是否登录就没有再做检查(猜测这里检查的cookie)

---检测传参submit和username,只有两者不为空就行

---具体显示的信息为username参数传递的用户名

三、WEB漏洞-逻辑越权_第7张图片

 2.垂直越权

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

三、WEB漏洞-逻辑越权_第8张图片

 三、WEB漏洞-逻辑越权_第9张图片 

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

 三、WEB漏洞-逻辑越权_第10张图片

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

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

三、WEB漏洞-逻辑越权_第11张图片

  三、WEB漏洞-逻辑越权_第12张图片刷新网站发现xiaoD用户创建成功,垂直越权成功(条件,获取管理员添加用户的数据包)

 三、WEB漏洞-逻辑越权_第13张图片

(获取数据包的信息方法)

---前端有操作,可以直接抓包

---盲猜添加用户的数据包信息

---获取网站的源码,在本地进行测试

---漏洞有些鸡肋,但是在用户登录的时候,可以利用该漏洞直接进入管理员界面。

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

#前端安全造成:界面

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

三、WEB漏洞-逻辑越权_第14张图片

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

三、WEB漏洞-逻辑越权_第15张图片

 

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

三、WEB漏洞-逻辑越权_第16张图片

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

#后端安全造成:数据库

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

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

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

输入test/test登陆抓包

三、WEB漏洞-逻辑越权_第17张图片

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

三、WEB漏洞-逻辑越权_第18张图片

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

 长度不一样的有用户

三、WEB漏洞-逻辑越权_第19张图片

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

三、WEB漏洞-逻辑越权_第20张图片

 将card_id 改为相应的值发送

三、WEB漏洞-逻辑越权_第21张图片

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

 得到密码,登录 

三、WEB漏洞-逻辑越权_第22张图片

  成功水平越权,获取key

---本关是通过test用户的cookie,水平越权到马春生用户

---切换用户的参数是什么?uid还是card_id或者都有(这里需要判断)

---获取到马春生的card_id(这里是通过图片获取(这一点不确定),大部分网站可能以用户网站的参数)

补充:

  真实网站用户切换的特点(discuz)

#网站的用户的切换是根据uid来进行

三、WEB漏洞-逻辑越权_第23张图片

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

三、WEB漏洞-逻辑越权_第24张图片
 1.设置监听端口8999,获取数据包

 三、WEB漏洞-逻辑越权_第25张图片

 2.更改浏览器代理端口

三、WEB漏洞-逻辑越权_第26张图片

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

三、WEB漏洞-逻辑越权_第27张图片

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

获取到了登录信息和cookie

三、WEB漏洞-逻辑越权_第28张图片

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

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

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

三、WEB漏洞-逻辑越权_第29张图片

 这里报错了真奇怪

三、WEB漏洞-逻辑越权_第30张图片

  工具功能总结

---相当于多个浏览器,而且可以抓包查看,设置/获取cookie等等(鸡肋)

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

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

三、WEB漏洞-逻辑越权_第31张图片
2.登录mozhe靶场test用户抓包,抓取card_id

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

三、WEB漏洞-逻辑越权_第32张图片

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

三、WEB漏洞-逻辑越权_第33张图片

选取所有数据包,右键run

三、WEB漏洞-逻辑越权_第34张图片

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

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

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

三、WEB漏洞-逻辑越权_第35张图片

 3.pikachu中测试

登录Kobe抓包

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

三、WEB漏洞-逻辑越权_第36张图片
修改authz的cookie为Kobe用户的cookie

三、WEB漏洞-逻辑越权_第37张图片

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

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

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

原理

#登录应用功能点安全问题
检测功能点,检测,危害,修复方案等

检测:存在登录功能点的地方

危害:不用账号密码直接登录

登陆点越权方法:

1.登录点暴力破解:如果数据包传输的账号密码没有加密或加密方式已知,可以尝试暴力破解
2.HTTP/HTTPS 传输:https会采用加密传输,http不一定
3.Cookie 脆弱点验证:代码审计,看看cookie有无可操作的值,调整那些跟你登陆页面有关的项,看是否会影响功能。如修改“user”的值。
4.Session 固定点测试
5.验证密文比对安全测试

#burpsuite给爆破字典加密

常规爆破的操作:抓包,设置payload,选择字典

在“Payload Processing”中添加对应的加密方法,如:“Hash”“MD5”,注意要确保勾选

#数据篡改安全问题
原理,检测,危害,修复等

一般用于商品购买
参考:https://www.secpulse.com/archives/67080.html


#商品购买流程:
选择商品和数量-选择支付及配送方式-生成订单编号-订单支付选择-完成支付

#常见篡改参数:
商品编号 ID,购买价格,购买数量,支付方式,订单号,支付状态等

#常见修改方法:
替换支付,重复支付,最小额支付,负数支付,溢出支付,优惠券支付等

6000 大米测试产品
/index.php?m=Member&a=gobuy&iscart=0&id=127&name=%E5%A4%A7%E7%B1%B3%E6%B5%8B%E8%
AF%95%E4%BA%A7%E5%93%81&qty=1&price=6000>ype=%E7%81%B0%E8%89%B2&pic=/Public/Uplo
ads/thumb/thumb_1393218295.jpg

5400 大米手机 cms
/index.php?m=Member&a=gobuy&iscart=0&id=70&name=%E5%A4%A7%E7%B1%B3%E6%89%8B%E6%9
C%BACMS&qty=2&price=5400>ype=%E7%81%B0%E8%89%B2&pic=/Public/Uploads/thumb/thumb_13
93218295.jpg

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

网页根据返回值确定要调用的支付接口,可以尝试调用第三方接口

index.php?s=/wap/pay/wchatQrcodePay 微信支付
index.php?s=/wap/pay/alipay 支付宝支付
index.php?s=http://www.xiaodi8.com/alipay 调用其他的支付接口

$pay_name=$_GET['s'];
6000 是存储到数据库里,安全的做法:以数据库的数据值为准

数据篡改原理

以接收值为准,而非以数据库的数据值为准

没有token验证数据包的唯一性

一、HTTP/HTTPS协议密文抓取

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

1.  HTTP和https区别

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

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

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

zblog密码爆破

利用admin admin登录抓包

三、WEB漏洞-逻辑越权_第38张图片

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

三、WEB漏洞-逻辑越权_第39张图片

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

三、WEB漏洞-逻辑越权_第40张图片

 自己创建文档写入密码

三、WEB漏洞-逻辑越权_第41张图片

 导入字典

三、WEB漏洞-逻辑越权_第42张图片

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

三、WEB漏洞-逻辑越权_第43张图片

  开始攻击

三、WEB漏洞-逻辑越权_第44张图片

  最后一个302为正确密码

利用MD5解密,密码为jia123456

三、WEB漏洞-逻辑越权_第45张图片

 成功登录

三、WEB漏洞-逻辑越权_第46张图片

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


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

三、WEB漏洞-逻辑越权_第47张图片

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

三、WEB漏洞-逻辑越权_第48张图片登录,参数为index

三、WEB漏洞-逻辑越权_第49张图片

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

 源码分析

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

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

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

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

三、WEB漏洞-逻辑越权_第50张图片

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

三、WEB漏洞-逻辑越权_第51张图片 登陆成功

三、WEB漏洞-逻辑越权_第52张图片

 原理分析:

因为这个网站后台的首页的是index通过传参的方式验证登录。登录之前会对cookie进行验证验证由于方式很过于简单只是对cookie是否为空进行判断,也就是说传递的值不是为空程序就认为你是登录了,因此这就形成了弱cookie登录的漏洞。

 实战条件下,如何去分析漏洞:

---没有源码,去找cookie脆弱点十分困难的

---如果有特殊值,如user=admin,可以尝试修改,看是不是可以登录到其它用户,如user=text

---可以根据这个漏洞,去搜索采用熊海CMS的网站是否存在cookie脆弱的漏洞

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


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

数据篡改安全问题

---1.修改支付价格2.修改支付状态3.修改购买数量4.修改附属值5.修改支付接口6.多重替换支付7.重复支付8.最小额支付9.值为最大值支付问题10.越权支付11.无限制适用12.修改优惠价格

---之所以列出这些漏洞,其实不是存在一个,而是网站的设计者很难从这么多方面去考虑支付问题,从而可以发现漏洞 

1.点击购买抓包分析

三、WEB漏洞-逻辑越权_第53张图片

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

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

三、WEB漏洞-逻辑越权_第54张图片
2.更改订单数量

将数量改为-1,放包

 

 成功实现0元购

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

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

三、WEB漏洞-逻辑越权_第55张图片
抓取到数据包(获取到了订单编号)

三、WEB漏洞-逻辑越权_第56张图片
提交后页面回显

 

 购买另外一件产品

三、WEB漏洞-逻辑越权_第57张图片

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

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

三、WEB漏洞-逻辑越权_第58张图片

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

总结:

更改数量:数量可以改为-1,实现0元购

更改订单:更改订单号,替换价格 

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

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

1.修改价格

点击产品这里购买两个

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

三、WEB漏洞-逻辑越权_第59张图片

 将价格改为1放包

三、WEB漏洞-逻辑越权_第60张图片

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

三、WEB漏洞-逻辑越权_第61张图片

 2.修改产品

这里id和name代表商品种类

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

三、WEB漏洞-逻辑越权_第62张图片

 购买大米cms抓包

三、WEB漏洞-逻辑越权_第63张图片

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

三、WEB漏洞-逻辑越权_第64张图片

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

三、WEB漏洞-逻辑越权_第65张图片

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

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

三、WEB漏洞-逻辑越权_第66张图片

index.php?s=/wap/pay/wchatQrcodePay 微信支付

index.php?s=/wap/pay/alipay 支付宝支付

总结:$pay_name=$_GET['s'],存在传递参数的才能修改支付接口,如果是固定的话也不行。在这里将参数s变为其它接口就可以修改支付端:

如链接到一个外部网站:index.php?s=http://www.xiaodi8.com/alipay 调用其他的支付接口(支付的钱支付到别人的地方)

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

原理

1.找回重置机制

客户端回显:验证码在客户端的浏览器或数据包中可以看到

Response状态值:页面通过该值返回输入的验证码的对错,可以修改数据包中的值,有回复的状态值如0/1,我们可以更改状态值来实现绕过

验证码爆破:如果验证码范围不大,验证码有效时间足够,没有次数限制,则可以尝试

找回流程绕过:发送验证码-验证-重置密码,绕过验证码验证,直接请求下一步(找回成功后会跳转到另外一个页面,先通过一个正常用户去获取跳转的URL和数据包,再换一个用户去访问第三步(跳过验证 ))

2.接口调用乱用

短信轰炸,来电轰炸(呼死你原理,有些网站有发送数据包的功能,截获网站验证码的数据包,然后利用软件或者程序去进行批量测试,即调用别人网站的接口来实现短信轰炸)等,违法

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

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

1.抓取绑定手机,发送短信验证码,随机输入验证码的数据包三、WEB漏洞-逻辑越权_第67张图片

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


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

 三、WEB漏洞-逻辑越权_第68张图片

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

三、WEB漏洞-逻辑越权_第69张图片
5.原理分析:

抓取数据包,将code发送爆破(如果是数字,就可以直接爆破,如果是英文,就要用字典)

前提条件:1.验证码的存活时间2.验证码的输入次数限制3.有些短信验证码输入一次就改一次(就没法爆破)

如果是直接显示的图片验证码(这里要识别验证码(插件自动识别))(如果是拖动或者

识别的验证码就更加复杂)

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

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

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

三、WEB漏洞-逻辑越权_第70张图片
2.重新打开一个页面,将手机号换为目标手机号17101304128,点击获取验证码,将刚才的验证码粘贴但下面,点击重置

 三、WEB漏洞-逻辑越权_第71张图片

  3.成功重置获取到key

三、WEB漏洞-逻辑越权_第72张图片

4.原理分析

*其短信验证码5分钟内有效,只验证验证码的有效性,而没有验证验证码和手机号的一致性。所以可以越权重置。未验证短信验证码与手机的匹配关系(却验证了短信验证码与图片验证码)。

*服务器端应该是只检查是否发送过验证码,但未验证验证码与手机号的匹配关系,导致任意账号重置

*正常的验证

---界面1:输入手机号码,验证码(验证手机和验证码匹配);界面2:重置密码

---这里是2步连在一起,就没考虑操作对象更改的问题

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

1.汉川招聘网
汉川招聘网_汉川人才网_汉川人才招聘|0712zpw

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

三、WEB漏洞-逻辑越权_第73张图片

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

三、WEB漏洞-逻辑越权_第74张图片

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

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

三、WEB漏洞-逻辑越权_第75张图片

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

2.php云系统

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

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

三、WEB漏洞-逻辑越权_第76张图片

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

三、WEB漏洞-逻辑越权_第77张图片

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

三、WEB漏洞-逻辑越权_第78张图片

 这里绑定成功 

三、WEB漏洞-逻辑越权_第79张图片

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

三、WEB漏洞-逻辑越权_第80张图片

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

三、WEB漏洞-逻辑越权_第81张图片

  回显1(1对应正确)

三、WEB漏洞-逻辑越权_第82张图片

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

三、WEB漏洞-逻辑越权_第83张图片

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

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

 状态码利用条件:看回显的验证在客户端还是在服务器,如果在服务器里面,则修改了状态码也没有用;如果在客户端验证,就可以通过代理服务器去欺骗浏览器,从而验证成功。

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

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

三、WEB漏洞-逻辑越权_第84张图片

 2.在burp suite设置代理

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

三、WEB漏洞-逻辑越权_第85张图片

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

三、WEB漏洞-逻辑越权_第86张图片

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

三、WEB漏洞-逻辑越权_第87张图片

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

三、WEB漏洞-逻辑越权_第88张图片

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

三、WEB漏洞-逻辑越权_第89张图片

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

三、WEB漏洞-逻辑越权_第90张图片

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

三、WEB漏洞-逻辑越权_第91张图片

10. 找回流程绕过的原理分析

重置密码的步骤:1.发送验证码2.验证3.重置密码

流程绕过原理:1直接=》到3,跳过了验证

测试:将3个数据包都抓到,在1数据包到2数据包的时候,用工具拦截,直接加载第三个界面 

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

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

三、WEB漏洞-逻辑越权_第92张图片

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

三、WEB漏洞-逻辑越权_第93张图片

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

原理:网站注册等等会有验证码,就有一个专门发验证码的接口

恶意的将这些网站的接口收集到一起,用程序批量的循环发送 

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

三、WEB漏洞-逻辑越权_第94张图片

 原理

验证码安全

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

---验证码识别:用工具识别验证码

---复用:用上一次的验证码来绕过下一次的验证

---回显:验证码在前端数据包显示

---绕过:逻辑上的绕过,直接跳过验证码

token 安全

Token的定义
Token是服务端生成的一串字符串。当客户端第一次登录后,服务器生成一个Token并将此Token返回给客户端,Token可以代替用户名和密码作为身份的验证。

每次客户端与服务器端通信,会得到新的Token
基本上述同理,主要是验证中可存在绕过可继续后续测试
token 爆破,token 客户端回显等
---token 爆破---token后面会跟上一个字符串,如果知道规律可以进行爆破

---token 客户端回显---token的数据会在前端数据包(request)里面显示

---token固定---虽然有token,但是可以通过上一次的token操作下一次的数据包(表面上有,实际没有) 

验证码识别插件工具使用

captcha-killer
Pkav_Http_Fuzz
reCAPTCHA 等
接口安全问题

调用,遍历,未授权,篡改等
调用案例:短信轰炸
遍历案列:UID 等遍历
callback 回调 JSONP(使用callback相当于回调,需要取数据,可能会符合一些漏洞的条件,形成安全问题)
参数篡改:墨者靶场

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

1.Pkav_Http_Fuzz工具

识别网站

三、WEB漏洞-逻辑越权_第95张图片

 获取验证码地址,访问

三、WEB漏洞-逻辑越权_第96张图片

 抓包查看数据包

三、WEB漏洞-逻辑越权_第97张图片

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

三、WEB漏洞-逻辑越权_第98张图片

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

总结

右键选择验证码“复制图片地址”,访问图片地址

抓取图片地址的数据包:右键“审查元素”“Network”,刷新一下

找到请求数据包“Request Headers”复制GET,Host和Cookie之间的部分

打开工具,选择“图片型验证码识别”

将复制内容添加到“其他请求头部”,在填写“验证码地址”

根据需要调整参数、引擎等,点击“识别测试”

缺点:

识别精度有限

缺少接口,只能加载能够下载的识别库

只能识别简单的验证码

只能使用自带的发包器,不能结合到burpsuite

2.captcha-killer插件

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

扩展功能中添加插件

三、WEB漏洞-逻辑越权_第99张图片

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

三、WEB漏洞-逻辑越权_第100张图片

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

使用方法:

使用burpsuite抓包,右键发送到“captcha-killer”“Send to captcha panel”

接口URL填识别平台的接口地址

开始识别

爆破时使用该插件:“Attack type”选择“Pitchfork”,“Payload type”选择“Extension-generated”,“Extension payload generator”选择“captcha-killer”。不要多线程

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

1.on server

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

三、WEB漏洞-逻辑越权_第101张图片

 提示用户名或密码不存在

三、WEB漏洞-逻辑越权_第102张图片

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

三、WEB漏洞-逻辑越权_第103张图片

 显示验证码输入错误

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

三、WEB漏洞-逻辑越权_第104张图片

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

三、WEB漏洞-逻辑越权_第105张图片

三、WEB漏洞-逻辑越权_第106张图片

思路:将数据包的用户名修改重复发送看回显的值是否发生变化。可以看出验证码存在复用的问题。

利用:输入正确的账号和密码,用之前的额验证码,发下登录成功

源代码分析

---传递的参数都不能为空

---post提交的验证码也要和session中的vcode相等

---漏洞存在原因:session中的vcode没有销毁,导致下一次还能用 

2.on client

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

 源代码也一样

三、WEB漏洞-逻辑越权_第107张图片

 这里我们将前端中的js引入

  三、WEB漏洞-逻辑越权_第108张图片在前端里面看不到验证代码,所以我们在抓包的时候要查看是否调用了其他的地址 ,查看1.js响应

三、WEB漏洞-逻辑越权_第109张图片

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

 3.真实网站复用爆破

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

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

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

三、WEB漏洞-逻辑越权_第110张图片

 burp抓包

三、WEB漏洞-逻辑越权_第111张图片

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

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

1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。

2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。

3、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。

什么是token(例如:在下订单的时候,使用token会防止重复下订单)

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

重新查看,发现token改变

三、WEB漏洞-逻辑越权_第112张图片

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

三、WEB漏洞-逻辑越权_第113张图片

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

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

三、WEB漏洞-逻辑越权_第114张图片

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

三、WEB漏洞-逻辑越权_第115张图片

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

三、WEB漏洞-逻辑越权_第116张图片

 设置重定向,仅限范围

三、WEB漏洞-逻辑越权_第117张图片

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

三、WEB漏洞-逻辑越权_第118张图片

 三、WEB漏洞-逻辑越权_第119张图片这里设置第二个参数token,类型为recrusive grep

 三、WEB漏洞-逻辑越权_第120张图片

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

三、WEB漏洞-逻辑越权_第121张图片

 总结

三、WEB漏洞-逻辑越权_第122张图片

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

接口url

三、WEB漏洞-逻辑越权_第123张图片
 抓包发送给intruder,设置id为变量

 

 设置攻击类型和攻击范围

三、WEB漏洞-逻辑越权_第124张图片

 三、WEB漏洞-逻辑越权_第125张图片

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

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

 什么是callback

---一般而言,函数的形参是指由外往内向函数体传递变量的入口,但此处加了callback后则完全相反,它是指函数体在完成某种使命后调用外部函数的出口!这时候应该明白什么叫"回调"了吧,也就是回头调用外部函数的意思。 

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

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

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

三、WEB漏洞-逻辑越权_第126张图片

 补:上述在实战中如何做到漏洞发现-bp功能点
原理:逻辑漏洞挖功能点和参数值(关键的参数:id,callback,filename,uid等等)

用pikachu靶场尝试

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

三、WEB漏洞-逻辑越权_第127张图片
查看抓到的结果


 真实目录路径

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

三、WEB漏洞-逻辑越权_第128张图片

三、WEB漏洞-逻辑越权_第129张图片

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

三、WEB漏洞-逻辑越权_第130张图片导出数据包(save bom)

 三、WEB漏洞-逻辑越权_第131张图片

你可能感兴趣的:(小迪web安全,网络安全,web安全,网络,windows,服务器)