holdpwd php,PHPMyWind后台管理界面的SQL注入漏洞 - 网站安全
后台管理界面因为过滤不严格导致SQL注入漏洞,可以使权限较低的管理员取得较高权限,以及获取并修改超级管理员的用户名密码。
存在问题的代码,admin_save.php 59-101行,SQL语句中的$id存在注入
else if($action == 'update')
{
//创始人账号不允许更改状态
if($id == 1 and ($checkadmin != 'true' or $levelname != '1'))
{
ShowMsg('抱歉,不能更改创始账号状态!','-1');
exit();
}
//只有超级管理员才有权修改超级管理员
if($cfg_adminlevel > 1 and $levelname == 1)
{
ShowMsg('非法的操作,不能修改为超级管理员!', '-1');
exit();
}
if($password == '')
{
$sql = "UPDATE `$tbname` SET nickname='$nickname', question='$question', answer='$answer', levelname='$levelname', checkadmin='$checkadmin' WHERE id=$id";
}
else
{
$oldpwd = md5(md5($oldpwd));
$password = md5(md5($password));
$r = $dosql->GetOne("SELECT `password` FROM `detest_admin` WHERE id=$id");
if($r['password'] != $oldpwd)
{
ShowMsg('抱歉,旧密码错误!','-1');
exit();
}
$sql = "UPDATE `$tbname` SET password='$password', nickname='$nickname', question='$question', answer='$answer', levelname='$levelname', checkadmin='$checkadmin' WHERE id=$id";
}
if($dosql->ExecNoneQuery($sql))
{
header("location:$gourl");
exit();
}
}
下面的很多SQL语句的参数,都没有过滤。
86行
$r = $dosql->GetOne("SELECT `password` FROM `detest_admin` WHERE id=$id");
79行
$sql = "UPDATE `$tbname` SET nickname='$nickname', question='$question', answer='$answer', levelname='$levelname', checkadmin='$checkadmin' WHERE id=$id";
93行
$sql = "UPDATE `$tbname` SET password='$password', nickname='$nickname', question='$question', answer='$answer', levelname='$levelname', checkadmin='$checkadmin' WHERE id=$id";
115行
$sql = "UPDATE `$tbname` SET checkadmin='false' WHERE `id`=$id";
总之就是都没有过滤
修复方案:
intval()
holdpwd php,PHPMyWind后台管理界面的SQL注入漏洞 - 网站安全相关推荐
- 登录页面的SQL注入漏洞
一.环境准备 1.在Linux准备一套Xampp或者Phpstudy:模拟攻防 2.在vscode安装Rremote Development插件,进行远程调试 新添加主机 ssh root@192.1 ...
- jieqi(杰奇)cms v1.6 php代码执行0day漏洞,杰奇CMS (=1.7) SQL注入漏洞 - 网站漏洞 - iick's blog...
杰奇CMS ( Jieqi CMS) 是一套以小说系统为主的CMS,目前的最新版本是1.7,在小说类的站中使用率还是比较高的,这几天花了点时间看了一下他的代码,觉得挺有意思的,跟大家分享一下. 整个系 ...
- SQL注入漏洞的检测与防范技术
提 要 本文从SQL注入的基本概念和注入原理入手,分析总结了SQL注入漏洞的检测及其防范技术措施. 关键词 SQL注入漏洞 检测 防范技术 引 言 近几年来随着计算机网络和WEB技术的飞速 ...
- mysql注入反弹_Discuz!x xss反弹后台无防御sql注入getshell(附带exploit)
### 简要描述: Discuz!x xss反弹后台无防御sql注入getshell,这里的xss只是做一个药引子,因为xss来自日志功能,然而这个日志功能却又默认关闭的,为了测试我们开启它.这个漏洞 ...
- iCMS后台database.admincp文件存在SQL注入漏洞
iCMS后台database.admincp文件存在SQL注入漏洞 目录 一.漏洞分析 二.漏洞测试 目录 该漏洞CNVD-ID: CNVD-2019-09079 漏洞提交CNVD后,待CNVD公示才 ...
- Baidu某系统后台存在sql注入漏洞
漏洞详情 披露状态: 2010-07-26: 细节已通知厂商并且等待厂商处理中 1970-01-01: 厂商已经确认,细节仅向厂商公开 1970-01-11: 细节向核心白帽子及相关领域专家公开 19 ...
- 如何使用加密的Payload来识别并利用SQL注入漏洞
写在前面的话 密码学具有诸多优点,信息的保密性同样离不开密码学,但是从历史经验来看,在保护应用和数据安全方面我们绝对不能过分依赖于密码学.在这篇文章中,安全教育培训专家SunilYadav将会讨论一个 ...
- JDBC的SQL注入漏洞
1.概念: 利用sql语句的漏洞来对系统进行攻击,导致数据泄露 2.案例演示 数据库登录表: 模拟登录代码[输入正确的用户名和密码才能打印出用户信息] public class SQL注入 {publ ...
- 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅
事先声明:本次测试过程完全处于本地或授权环境,仅供学习与参考,不存在未授权测试过程.本文提到的漏洞<Cachet SQL注入漏洞(CVE-2021-39165)>已经修复,也请读者勿使用该 ...
最新文章
- VUE的本地应用-V- on
- 【直播预告】第四范式Intel AI应用与异构内存编程挑战赛专场活动开启报名
- qt 信号多个链接槽_Qt原理窥探信号槽的实现细节
- [WORK]局数据系统
- 【抢购仅限1500册】2019年入门必备Linux系统自学书籍半价促销。
- apollo学习之:如何测试canbus模块
- Xenu检测网站死链
- 使用MYSITE.github.io的免费二级域名实现顶级域名的重定向网址跳转
- 关于Eclipse4.7安装TomcatPlugin后无法显示三只猫问题
- 阿里云短信服务(无需营业执照)快速上手
- VBA批量导入多个文件夹下的图片到PPT
- mysql未开启binlog如何恢复数据_MySQL5.7开启binlog日志,及数据恢复简单示例
- 人脸表情识别系统(VGG_16和Xception模型)配置GPU加速,Fer2013数据集和CK+数据集,tensorboard
- 《策略驱动型数据中心——ACI技术详解》一1.3 数据中心设计
- oracle创建同义词授权,Oracle同义词赋权
- [软件补丁]VS6 sp6补丁下载
- mysql中字符串转时间戳_MySQL日期 字符串 时间戳互转
- 【错误记录】Gradle 配置 productFlavors 报错 ( All flavors must now belong to a named flavor dimension. )
- Vue组件,带标题的边框
- 我爱Flask之URL和Flask视图介绍
热门文章
- 零界之痕服务器维护,《零界之痕》1月26日更新维护公告
- 0xE06D7363: Microsoft C++ Exception.
- networkx 判断两图是否同构 得到同构的节点映射
- JAVA8之 日期时间时区之 ZoneId[ZoneOffset, ZoneRegion] 笔记
- Java 时间处理 ZoneId
- 求专业人员解答一下,万分感谢
- 感抗和容抗的计算及说明
- #如何理解使用for循环遍历lst与lst[:],如果使用remove更改列表结果会不同
- 设计编程网站集,调色板,软件下载
- 4/17 腾讯广州微信客户端开发一面