当前位置: 首页 > article >正文

PHP代码审计 - SQL注入

SQL注入

 正则搜索

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

示例一:

bluecms源码下载:source-trace/bluecms

以项目打开网站根目录,并以ctrl+shift+f打开全局搜索

(update|select|insert|delete).*?where.*=并开启正则匹配

在这里插入图片描述

最快寻找脆弱点的方法:

1、是否有可控的值

2、文件路径和文件名字猜测文件作用

3、有无过滤,或者过滤是否严格

这里就不浪费时间,直接测试ad_js.php文件内的sql注入

在这里插入图片描述

发现使用了自定义的getone函数,那么跳转到对应函数声明

在这里插入图片描述

查看getone函数

在这里插入图片描述

发现这里调用了类里的query函数

在这里插入图片描述

发现这里使用mysql_query函数,进行的sql语句,中间没有任何过滤,那么就存在sql注入

$ad_id参数来自于get传参

在这里插入图片描述

查看blue_ad内有7个字段

在这里插入图片描述

payload:1 union select 1,2,3,4,5,6,user()
在这里插入图片描述

发现没有回显,查看源代码

在这里插入图片描述

原来回显藏在html注释里面了

在这里插入图片描述

示例二:

emlog V6.0.0源码下载:https://soft-10-2.xiaoguaniu.com/soft/202105/Emlog_V6.0.0_XiTongZhiJia.zip?t=1731583487&ip=112.193.34.227&sign=25a70a465fbab4f660c316a902907b96

依旧使用正则搜索法寻找定位脆弱点,为了节约时间,直接定位漏洞文件comment.php

在这里插入图片描述

在这里插入图片描述

这里有调用一个自定义函数,看函数名应该是通过IP删除评论的意思
在这里插入图片描述

这里将$sql变量传入了db的query方法在这里插入图片描述

发现这直到sql执行都没有过滤方法,那么存在sql注入

刚刚是通过$CACHE->updateCache(array(‘sta’,‘comment’));转到执行的,这个代码文件路径:/admin/comment.php

在这里插入图片描述

并且要使得$action= ‘delbyip’

在这里插入图片描述
在这里插入图片描述

插入调试代码 echo ‘qdy’;

构造发包,发现执行了调试代码,但是报错
在这里插入图片描述

寻找报错代码

在这里插入图片描述

缺少token,登录后台后复制token

在这里插入图片描述

在这里插入图片描述

发现还需要$ip参数,加入echo 调试
在这里插入图片描述

IP取值
在这里插入图片描述

构造payload

/admin/comment.php?action=delbyip&token=c0d72b51591583bca22cbc112e85b4ff&ip=127.0.0.1’+and+updatexml(1,concat(0x7e,user(),0x7e),1)–+

在这里插入图片描述

成功

mysql监听工具

https://codeload.github.com/cw1997/MySQL-Monitor/zip/refs/heads/master

存中…(img-oyGEHH9H-1731596090466)]

成功

mysql监听工具

https://codeload.github.com/cw1997/MySQL-Monitor/zip/refs/heads/master

在这里插入图片描述


http://www.kler.cn/a/395075.html

相关文章:

  • HarmonyOS本地存储-Preferences(用户首选项)的使用
  • LeetCode面试经典150题C++实现,更新中
  • k8s 1.28.2 集群部署 docker registry 接入 MinIO 存储
  • A029-基于Spring Boot的物流管理系统的设计与实现
  • 百度搜索AI探索版多线程批量生成TXT原创文章软件-可生成3种类型文章
  • 微服务day08
  • LeetCode面试经典150题C++实现,更新中
  • gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?
  • Mysql篇-三大日志
  • Linux设置Nginx开机启动
  • http拉取git仓库,每次都要输入帐号密码,Ubuntu上记住帐号密码
  • 微积分复习笔记 Calculus Volume 1 - 5.5 Substitution
  • sqlserver 常用分页函数
  • ssh key的生成密钥
  • 区间数位和模板(贪心)
  • ROS Action
  • SQL 注入详解:原理、危害与防范措施
  • Oracle 11g rac 集群节点的修复过程
  • 通过脚本,发起分支合并请求和打tag
  • 【贪心算法】贪心算法三
  • 【HAProxy07】企业级反向代理HAProxy高级功能之Cookie 会话保持与HAProxy 状态页
  • 计算机网络——路由选择算法
  • 校园二手交易网站毕业设计基于SpringBootSSM框架
  • Invar-RAG:基于不变性对齐的LLM检索方法提升生成质量
  • 初识Linux · 信号产生
  • 通过Python 调整Excel行高、列宽