后台管理界面因为过滤不严格导致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注入漏洞 - 网站安全相关推荐

  1. 登录页面的SQL注入漏洞

    一.环境准备 1.在Linux准备一套Xampp或者Phpstudy:模拟攻防 2.在vscode安装Rremote Development插件,进行远程调试 新添加主机 ssh root@192.1 ...

  2. jieqi(杰奇)cms v1.6 php代码执行0day漏洞,杰奇CMS (=1.7) SQL注入漏洞 - 网站漏洞 - iick's blog...

    杰奇CMS ( Jieqi CMS) 是一套以小说系统为主的CMS,目前的最新版本是1.7,在小说类的站中使用率还是比较高的,这几天花了点时间看了一下他的代码,觉得挺有意思的,跟大家分享一下. 整个系 ...

  3. SQL注入漏洞的检测与防范技术

    提 要   本文从SQL注入的基本概念和注入原理入手,分析总结了SQL注入漏洞的检测及其防范技术措施. 关键词  SQL注入漏洞 检测 防范技术 引 言    近几年来随着计算机网络和WEB技术的飞速 ...

  4. mysql注入反弹_Discuz!x xss反弹后台无防御sql注入getshell(附带exploit)

    ### 简要描述: Discuz!x xss反弹后台无防御sql注入getshell,这里的xss只是做一个药引子,因为xss来自日志功能,然而这个日志功能却又默认关闭的,为了测试我们开启它.这个漏洞 ...

  5. iCMS后台database.admincp文件存在SQL注入漏洞

    iCMS后台database.admincp文件存在SQL注入漏洞 目录 一.漏洞分析 二.漏洞测试 目录 该漏洞CNVD-ID: CNVD-2019-09079 漏洞提交CNVD后,待CNVD公示才 ...

  6. Baidu某系统后台存在sql注入漏洞

    漏洞详情 披露状态: 2010-07-26: 细节已通知厂商并且等待厂商处理中 1970-01-01: 厂商已经确认,细节仅向厂商公开 1970-01-11: 细节向核心白帽子及相关领域专家公开 19 ...

  7. 如何使用加密的Payload来识别并利用SQL注入漏洞

    写在前面的话 密码学具有诸多优点,信息的保密性同样离不开密码学,但是从历史经验来看,在保护应用和数据安全方面我们绝对不能过分依赖于密码学.在这篇文章中,安全教育培训专家SunilYadav将会讨论一个 ...

  8. JDBC的SQL注入漏洞

    1.概念: 利用sql语句的漏洞来对系统进行攻击,导致数据泄露 2.案例演示 数据库登录表: 模拟登录代码[输入正确的用户名和密码才能打印出用户信息] public class SQL注入 {publ ...

  9. 从一个Laravel SQL注入漏洞开始的Bug Bounty之旅

    事先声明:本次测试过程完全处于本地或授权环境,仅供学习与参考,不存在未授权测试过程.本文提到的漏洞<Cachet SQL注入漏洞(CVE-2021-39165)>已经修复,也请读者勿使用该 ...

最新文章

  1. VUE的本地应用-V- on
  2. 【直播预告】第四范式Intel AI应用与异构内存编程挑战赛专场活动开启报名
  3. qt 信号多个链接槽_Qt原理窥探信号槽的实现细节
  4. [WORK]局数据系统
  5. 【抢购仅限1500册】2019年入门必备Linux系统自学书籍半价促销。
  6. apollo学习之:如何测试canbus模块
  7. Xenu检测网站死链
  8. 使用MYSITE.github.io的免费二级域名实现顶级域名的重定向网址跳转
  9. 关于Eclipse4.7安装TomcatPlugin后无法显示三只猫问题
  10. 阿里云短信服务(无需营业执照)快速上手
  11. VBA批量导入多个文件夹下的图片到PPT
  12. mysql未开启binlog如何恢复数据_MySQL5.7开启binlog日志,及数据恢复简单示例
  13. 人脸表情识别系统(VGG_16和Xception模型)配置GPU加速,Fer2013数据集和CK+数据集,tensorboard
  14. 《策略驱动型数据中心——ACI技术详解》一1.3 数据中心设计
  15. oracle创建同义词授权,Oracle同义词赋权
  16. [软件补丁]VS6 sp6补丁下载
  17. mysql中字符串转时间戳_MySQL日期 字符串 时间戳互转
  18. 【错误记录】Gradle 配置 productFlavors 报错 ( All flavors must now belong to a named flavor dimension. )
  19. Vue组件,带标题的边框
  20. 我爱Flask之URL和Flask视图介绍

热门文章

  1. 零界之痕服务器维护,《零界之痕》1月26日更新维护公告
  2. 0xE06D7363: Microsoft C++ Exception.
  3. networkx 判断两图是否同构 得到同构的节点映射
  4. JAVA8之 日期时间时区之 ZoneId[ZoneOffset, ZoneRegion] 笔记
  5. Java 时间处理 ZoneId
  6. 求专业人员解答一下,万分感谢
  7. 感抗和容抗的计算及说明
  8. #如何理解使用for循环遍历lst与lst[:],如果使用remove更改列表结果会不同
  9. 设计编程网站集,调色板,软件下载
  10. 4/17 腾讯广州微信客户端开发一面