当前位置: 首页 > article >正文

小迪安全-php模型,mvc架构,动态调试未授权,脆弱及安全,为引用。逻辑错误

挖掘方法增加了一个调试,第三个是代码运行过程包含和调用了那些文件,会依次的展示出来。

帮助我们对复杂代码的跟踪,和展示代码运行的完整流程,

配置动态调试教程:https://mp.weixin.qq.com/s/7K8edea8imalZ8_jJp3ODw

安装好之后开始

第一个就是完全没有对某处管理员更能点进行个权限鉴定

第二个就是在对用户鉴权的是代码逻辑有问题,通过一些手段可以绕过

第三个不严谨,执行顺序,比如先执行在鉴权,或者先鉴权但是不管成功与否,让重新鉴权,但是代码正常执行

案例一,脆弱的逻辑鉴权,xhcms

首要目标,找到鉴权的文件

有些是文件名字,直接checkamdin,checklogin

找不到就登陆一下网站看看请求的文件

看一下源代码

大概就是接受r的值,然后进行files木下的文件包含,大概files文件看看

看源码直接看到checklogin

那很可能就是鉴权文件了

接受cookie值的user,如果为空就跳转到登陆界面,有值就不跳转了

拿着就很明显,cookie里面的user给个值就可以了

动态调试怎么判断有没有漏洞

不登陆进去测鉴权文件最好

现在就在后台文件,newwz下个断点,开启监听

访问这个文件

http://2.cn:90/admin/?r=newez

断点了,这里有四个用法,步过,步入, 步出,运行到光标处

步过就是直接跳过,步入是按照代码逻辑正常运行,步出是直接跳出来不看了,运行到光标处就是断电的地方。

就会自动打开代码经过的文件,并且段在第一行,等我们选步的操作这就可以看到这个网页运行都经过了那些代码;

就运行到这里来,验证有没有登录然后没登录就跳转到login

再看登录进去的,这里的流程就直接跳过了这个login跳转

在验证可以看到cookie里面user有值,运行过的文件也都可以看到

这个时候我们就发现了值可以通过cookie绕过判断,就按照自己的方法测试

成功未授权访问

案例二 cwcms,未引用鉴权逻辑

快速找到鉴权文件,上一个案例是根据名字,这次看看后台文件

而打开新浏览器访问一下这个网站

提示需要鉴权,那就说明main文件包含了鉴权文件或者在其中

直接动态调试,在包含文件admin哪一行下个断点

跳转到了admin,这个就是鉴权文件,而这个是s形是我们没有办法修改干扰的。

那就看后台的所有文件,哪一个没有引用admin.php

这个好像没有引用,但实际中也要看看包含文件里面有没有在包含验证文件,完全没有才木有经过了逻辑验证文件,下面直接未授权了

在试试第二种,在有鉴权的文件功能点处下个断点

案例三-bosscms  不严谨的健全逻辑

cnvd提示信息

源码下再去官网注册即可

mvc架构的cms

登陆进去看源码是amdin目录下的home

随便点开一个功能看看url

那根据寻找应该就是这个文件

先找鉴权文件

跟踪一下那个admin看看

健全文件,跳转login等等。

看其他后台文件,都引用了admin,那就是都做了鉴权

方法

鉴权问题包括脆弱的和不严谨的,脆弱就是健全逻辑可以绕过, 不严谨就是有些后台文件没包含鉴权文件

根据cnvd提示是任意文件删除登录,先看看哪里可以删除,发现备份这里可以

根据路径名字找到,下个断点

看看会不会执行到这里,来判断直接找的文件木有错

断了,木有任何动静,所有文件没有找错

删除所发送的包,把要删除的文件改成新生成的备份文件,看看真不真

在删除函数这里下断点,退出登录

在访问构造好的删除url

如果断下来了,说触发了删除删除,未授权删除了文件

执行

断点了

文件被删除了

代码问题所在

这里跳转之后并没有退出代码,代码是继续在运行的

就导致了代码的继续执行,删除了文件

案例四,泛微eoffice  未授权文件上传

跟通达oa一样的exe文件启动、找不到看老师,找到了也不敢运行

打开源码是加密的,解密

这次漏洞有修补后的源码,再配合有漏洞的源码直接对比文件修改处,就对比的出来漏洞出现在那个文件

找到出现漏洞的文件在这里

而原因就是鉴权没做好

代码里面多了过滤性函数

增加了鉴权逻辑

jian

kang


http://www.kler.cn/a/613493.html

相关文章:

  • 计算机三级网络技术大题总结
  • QT计算器开发
  • DeepSeek R1与V3:混合架构下的推理革命与效率破局
  • 特仑苏首发牛奶人文纪录片!如何借势营销重构品牌护城河?
  • SpringBoot项目中,controller 、 entity、mapper和service包的介绍
  • 4、网工软考—VLAN配置—hybird配置
  • 【C++】模拟实现一颗二叉搜索树
  • LeeCode 434. 字符串中的单词数
  • MySQL(数据表创建)
  • Paddlex服务化代理处理跨域、替换Response中Json key
  • 【质量管理】防错(POKA-YOKE)的概念、特点和作用解析
  • 3、fabric实现多机多卡训练
  • PoE交换机如何助力智慧城市基础设施建设?
  • Nginx RTMP DASH 模块分析 (ngx_rtmp_dash_module.c)
  • 基于Springboot的网上订餐系统 【源码】+【PPT】+【开题报告】+【论文】
  • 认识一家公司:瑞芯微(Rockchip Electronics Co., Ltd.)以及旗下的两款芯片RK3288\RK3588
  • PHP接口开发:从基础到高级的全面指南
  • 【强化学习】基于深度强化学习的微能源网能量管理与优化策略研究【Python】
  • 调用阿里云API实现快递地址解析
  • 力扣hot100——搜索二维矩阵