浅谈两种逻辑漏洞的利用
2022-8-19 17:31:36 Author: 戟星安全实验室(查看原文) 阅读量:9 收藏

戟星安全实验室

    忆享科技旗下高端的网络安全攻防服务团队.安服内容包括渗透测试、代码审计、应急响应、漏洞研究、威胁情报、安全运维、攻防演练等

本文约2342字,阅读约需10分钟。

0x00  前言

逻辑漏洞是指攻击者利用业务/功能上的设计缺陷,获取敏感信息或破坏业务的完整性。一般出现在验证码处,越权访问,密码找回,交易支付金额等功能处。今天我们聊一聊其中验证码绕过与越权。

0x01  验证码绕过

验证码(CAPTCHA):区分用户是计算机还是人的程序。

绕过验证码:

  • 利用逻辑漏洞绕过法;

  • 利用图片识别。

利用逻辑漏洞绕过法:

  • 前端验证法:前端验证等于没有验证;

  • 验证码设置了但没有校验;

  • 验证码可重复使用;

  • 验证码可空置绕过(删除验证码条件);

  • 验证码干扰过低:自动识别(用python脚本来识别)=>检测验证码,识别,自动填充,填充账号密码;

  • 验证码再HTML界面输出;

  • 验证码可控制;

  • 验证码有规则,比如时间戳的后六位(rand函数进行随机数);

  • 万能验证码,(比如无论验证码是什么,000000直接绕过);

  • 验证码藏在cookie里面,分析一下是不是有验证码参数;

  • 图片验证码,类型少,容易识别 。

多次登录后才出现验证码绕过

  • 基于用户名(用户名不断替换);

  • 基于IP;

  • 基于session=>cookie(修改cookie)。

以上是一些传统验证码,虽然是比较常见的,还有一种验证码进阶验证码。比如说短信验证码、邮箱验证码等等;以上的验证码要确定你是不是机器,这种进阶验证码要验证的就是检测你是不是本人用户。

这也会是有漏洞的:

  • 验证码发送前端返回;

  • 验证码无次数限制,可以进行爆破。(重置密码跑验证码);

  • 验证码可控;=>就是验证码可以修改,改成自己的CSRF的url,等等。

  • 直接修改密码页面;

  • 越权漏洞=>自己验证码通过改包,然后修改他们的密码。比如说A用户已经往xxx发短信,这个时候我抓包,电话号码改成我的号码,这个时候短信就发到我的电话号码上来了。

我们看一下靶场:

发现他是一个UsualToolCMS-8.0的cms源码站点。上网找一下他的漏洞:找到了他的后台登录地址。他有一个验证码。随便写一个账号密码抓个包看看。

放到这看看。通过改密码,改验证码,发现他的验证码可以重复使用。那我们就可以爆破他的账号和密码,爆破出来他的账户名和密码就是admin和root。我们登录。

成功进来了他的后台。我们要拿到flag,后台没有,再flag.PHP里面。看一下。

还不给我看。得拿到服务器权限哈。不过那我们有源码哒,找找看

我们分析一下。

$filenames是由”.$dir.和$filename指定得。$dir这个为空,就是不存在,那就是由$filename所指定。所以这里post传一个filename=111.php这个就放进去了$filenames里得$filename如果担心$dir为空这里会报错,传一个&dir=123,证明一下他存在即可。

$contents这个是要写得文件内容,他得核心再于转变编码,它是由content指定得,$content=$_POST[“content”];content由post方法指定得。这里传一个一句话木马:

再看一下条件,有一个if=>if($x==”m”),这里要满足$x=”m”,才会执行以上的代码。$x是$x=UsualToolCMS::sqlcheck($_GET[“x”]);要用GET传参。

实验一下吧,先看一下111.php存不存在。

他不存在。然后我们抓一个包。我们要访问这个文件,所以要改成:a_templetex.php我们要的是post传参。所以我们要改成post传参。

这个要传一个x=m的GET传参,因为只有这个地方接受GET。

然后接收数据,filename=111.php&content= <?php eval ($_REQUEST [8])?>

然后放包,再次访问111.php。

成功拿到了服务器,连接菜刀.

我们貌似拿到了flag.

0x02  越权

什么是越权?

越权:比如你是一个低权限的用户,但是进行高权限操作,或者平级操作。(web网站、网页、app为主);

什么是提权:

提权:指的是你是低权限用户,通过技术手段提高到高权限。

越权有水平越权和垂直越权:

水平越权:同权限账户可以互相影响;垂直越权:不同权限可以互相影响。

越权:修改自己账户信息,数据包里有id传参,任何代表其他用户的传参。

为什么高权限比低权限挖洞好挖?=>高权限的功能多!

挖漏洞的核心:=>找传参、找功能点。

看一下靶场:

他没有验证码,所以他的账户密码可以直接爆破。

写一个xss看看。弹窗了,证明这儿还存在存储型xss漏洞。

再试试越权漏洞:先注册两个账号,分别是B1,A1,点击修改资料,然后抓个包看看。

看一下这三个传参,我们把userid改成12试试看;修改成功。cookie里面还有一个admin传参,admin=0改成1试试看,没有回显。还有个身份,shenfen=2,改成1试试看。我变成了管理员账户,所以这里存在越权漏洞(平行越权和垂直越权)。

我们又找到了他的flag。

0x03  总结

每个业务系统都具有不同的业务逻辑,充分了解业务逻辑有助于找出其中的问题所在。

 声明

    由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,戟星安全实验室及文章作者不为此承担任何责任。

    戟星安全实验室拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经戟星安全实验室允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

戟星安全实验室

# 长按二维码 关注我们 #


文章来源: http://mp.weixin.qq.com/s?__biz=MzkzMDMwNzk2Ng==&mid=2247499502&idx=1&sn=978d92b9a5fc817ac33b4176e8f6e671&chksm=c27ef4fff5097de9689420e70fb0fae7663f43a3a7b445f7cd892e318b61a44fee4779fd1035#rd
如有侵权请联系:admin#unsafe.sh