代码审计-php篇之某CRM系统多处sql注入

🌟 ❤️

作者:yueji0j1anke

首发于公号:剑客古月的安全屋

字数:3516

阅读时间:    35min

声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。合法渗透,本文章内容纯属虚构,如遇巧合,纯属意外

目录

  • 介绍

  • 漏洞审计

  • 总结

0x01 大体介绍

经历了.net审计,最近开始找php站进行练手,php审计点要多一些,大差不差,都是围绕关键词来展开。

0x02 工具配备

我这里本地环境准备的是sexy,phpstorm以及phpstudy

checklist如下

sql注入->    select   mysqli  mysqluery   insert
​
文件上传->    $_FILES type="file" upload 
​
xss   ->    print echo sprintf  var_dump
​
文件包含  ->   require include 等四个函数
​
代码执行  ->  eval assert  call_user_func  preg_replace
​
命令执行  ->  system exec  shell_exec popen  proc_open
​
变量覆盖  —>  parse_str()  extract()  $$
​
反序列化  ->  serialize() construct destruct
​
ssrf    ->   file_get_contents
​
文件删除  ->   unlink
​
变量寻找   ->   $_GET $_POST  $_FILES  $_REQUEST

0x03 审计过程

php系统首先需要看看路由情况

庆幸的是,这里有readme,可以直接了解大概、

大致路由就是 xxx(controller层)/controller(子层)/函数

老规矩,审计登录接口练练手感

结果一来就给我gg了

image-20240508165654467

做了源代码混淆,尝试找到key进行逆向

image-20240508163351353

审计了一下,并没有明显的漏洞,cookie认证授权动态加密随机分配,密码被des加密进入数据库进行验证。

此时每一个php文件都基本加密,我懒得统一解密,直接路由上去一个个审计功能点。

1.sql注入点

寻找的搜索点会被转义,sqlmap专门用了转义脚本也未能发现注入点

image-20240508163858674

东摸一下,西摸一下

image-20240508163954029

发现在点击报告类型时会出现一个参数专门统计时间戳,且该时间戳可以被任意修改,sqlmap跑了一下,嘎嘎出洞

image-20240508164120745

找到对应路由进行逆向,发现对应sql语句

image-20240508165003189

并没有存在过滤,在同目录下进行相同逆向操作

发现另外sql注入两处

2.文件上传

白盒审计路由找了半天没找到文件上传点,直接逆向了几个大目录,全局搜索

image-20240508165138367

找了半天,终于在uploadxx.php下找到了对应功能点

image-20240508165328232

可以进行客户导入,抓包修改

image-20240508165446892

成功上传回显路径,拼接路径进行访问

image-20240508165527460

同理,在相关函数搜索下,找到了其他几个文件上传路由点。

0x04 总结

此次审计大概2h,比起常规的tp框架,这次的审计框架相对简单的多,框架大概自己做了自增删,本来还想审查框架漏洞,但基本上都做了加密混淆,遂放弃。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/8390.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实战 | 实时手部关键点检测跟踪(附完整源码+代码详解)

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

苹果平板HOME键成历史,全面屏时代到来?2024平板电脑市场趋势分析

近期苹果公司在“放飞吧”发布会上推出了新款iPad Pro和iPad Air平板电脑,并下架了最后一款带有实体Home按键的iPad 9。这一变化标志着Home键在苹果iPad产品线中成为了历史,引起了不少网友的怀念和感慨。 与此同时,今年3月线上平板电脑市场迎…

【驱动】I2C读写时序

1、I2C总线 I2C使用两条线在主控制器和从机之间通信,SCL(串行时钟线)和SDA(串行数据线),这两条线需接5~10欧上拉电阻,总线空闲空闲时,SCL和SDA处于高电平,I2C总线标准模式速度可以达到100K/S,快速模式可以达到400K/S。 2、状态 I2C总线有四种状态:空闲、启动、忙碌、…

Unity与C#的关系

第一,我们首先需要知道Unity与C#的关系是什么? 第二,我们要明白为什么Unity会使用C#,而不是C? 第三,我们需要知道Unity是怎么使用C#的? 第一点: 先说结论:C#是Unity用…

LabVIEW波浪发电平台浮筒取能效率数据采集系统

LabVIEW波浪发电平台浮筒取能效率数据采集系统 随着化石能源的逐渐减少以及能源价格的上升,寻找可替代的、可再生的、清洁的能源成为了世界各国的共识。波浪能作为一种重要的海洋能源,因其巨大的潜力和清洁性,近年来受到了广泛关注。开发了一…

Blender修改器

修改器 Modifier,对模型进行修改,相当于一个函数。 修改器图标是界面右下角的扳手样式 每个修改器的顶部都有如下样式,从左到右分别为:展开/折叠,修改器类型,修改器名称,编辑模式按钮&#xff…

TCP三次握手四次挥手 UDP

TCP是面向链接的协议,而UDP是无连接的协议 TCP的三次握手 三次传输过程是纯粹的不涉及数据,三次握手的几个数据包中不包含数据内容。它的应用层,数据部分是空的,只是TCP实现会话建立,点到点的连接 TCP的四次挥手 第四…

Python生成文学编程风格文档库之pycco使用详解

概要 Pycco是一个Python库,用于生成文学编程风格的文档。它受到了Docco(一个快速生成源代码文档的工具)的启发,并通过解析源代码旁边的注释来创建一个美观的文档页面,使代码的解释与代码本身并排显示。 安装 安装Pycco非常简单,可以通过Python的包管理器pip进行安装: …

vue3与js的router基本使用方式

title: vue3与js的router基本使用方式 tags: vue3js abbrlink: ‘57270957’ date: 2024-04-17 18:54:47 第一步快捷引入的别名 使用路由需要大量在src文件中引用所需要的地址,并且组件中也需要很多的包的引用,将快速跳转到src这一文件的步骤进行简化操…

Redis实际应用中的解决方案

Redis缓存使用问题 1数据一致性 分析一下几种方案: 1:先更新缓存,再更新数据库 2:先更新数据库,在更新缓存 3:先删除缓存,后更新数据库 4:想更新数据库,后删除缓存 …

前端 Android App 上架详细流程 (Android App)

1、准备上架所需要的材料 先在需要上架的官方网站注册账号。提前把手机号,名字,身份证等等材料准备好,完成开发者实名认证;软著是必要的,提前准备好,软著申请时间比较长大概需要1-2周时间才能下来&#xf…

需求文档怎么写?

1. 导言 我也来个导言: 写这篇博客的目的就是来解答一下下面几个问题: 需求文档怎么写?需求文档都应该包含哪些内容?怎样才算一个合格的需求文档? 产品需求文档(Product requriement document)&#xff…

全网首发亲测有用:python免费将chatgpt机器人接入个人微信(同时支持钉钉、QQ 以及别的语言模型如文心一言等)

一、获得免费chatgptAPI https://github.com/chatanywhere/GPT_API_free?tab=readme-ov-file 点击这个就可以获取一个免费的CHATGPT API key 或者觉得不够用的话,也可以付费购买在里面,看着价格很便宜,个人没有买过 tips: 转发API无法直接向官方接口api.openai.com发起…

笔试强训Day20 动态规划 模拟

经此一役小红所向无敌 题目链接&#xff1a;A-经此一役小红所向无敌_牛客小白月赛37 (nowcoder.com) 思路&#xff1a; 水题 直接跟思路即可。 AC code&#xff1a; #include<iostream> using namespace std; typedef long long LL; LL a1,a2,b1,b2,t1,t2,sum; int m…

专题五_位运算(3)

目录 137. 只出现一次的数字 II 解析 题解 面试题 17.19. 消失的两个数字 解析 题解 137. 只出现一次的数字 II 137. 只出现一次的数字 II - 力扣&#xff08;LeetCode&#xff09; 解析 注意这里指的是比特位上的01来进行统计的 题解 class Solution { public:int sin…

深入理解分布式事务⑧ ---->MySQL 事务的实现原理 之 MySQL 事务流程(MySQL 事务执行流程 和 恢复流程)详解

目录 MySQL 事务的实现原理 之 MySQL 事务流程&#xff08;MySQL 事务执行流程 和 恢复流程&#xff09;详解MySQL 事务流程1、MySQL 事务执行流程1-1&#xff1a;MySQL 事务执行流程如图&#xff1a; 2、MySQL 事务恢复流程2-1&#xff1a;事务恢复流程如下图&#xff1a; MyS…

基于V4L2框架的摄像头从上层到底层开发

文章目录 一、V4L2应用开发1、识别摄像头2、查看摄像头设备的能力3、查看支持视频格式4、设置视频格式5、申请帧缓冲6、启动采集7、出队取一帧图像8、入队归还帧缓冲9、停止视频采集10、退出释放资源 二、V4L2框架源码分析1、struct video_device2、struct v4l2_device *v4l2_d…

C#核心之面向对象-继承

面向对象-继承 文章目录 1、继承的基本规则1、基本概念2、基本语法3、示例4、访问修饰符的影响5、子类和父类的同名成员 2、里氏替换原则1、基本概念2、is和as3、基本实现 3、继承中的构造函数1、基本概念2、父类的无参构造函数3、通过base调用指定父类构造 4、万物之父和装箱拆…

关于ESP32下载的几个小问题

文章目录 一、没有收到串口数据二、vscode使用jtag烧录失败 在使用esp32的时候&#xff0c;下载遇到了这么几个小问题&#xff0c;写一下解决方法。 一、没有收到串口数据 报错如下&#xff1a; 这是在使用arduino下载的时候出现的错误&#xff1a;A fatal error occurred: …

c++多线程2小时速成

简介 c多线程基础需要掌握这三个标准库的使用&#xff1a;std::thread,std::mutex, andstd::async。 1. Hello, world #include <iostream> #include <thread>void hello() { std::cout << "Hello Concurrent World!\n"; }int main() {std::th…