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

贷齐乐系统最新版SQL注入(绕过WAF可union select跨表查询)

目录

标题:贷齐乐系统最新版SQL注入(绕过WAF可union select跨表查询)

内容:
一,环境部署
二,源码分析
三,sql注入

总结:

[回到顶部](#article_top)

一,环境部署


本漏洞由于是2015年爆出的,所以这里源码使用的PHP版本不支持7版本,这里我们可以使用PHP5.4.45版本,只需小皮进行下载更改即可:
1.1 安装phpstudy
在这里插入图片描述
使用php5.4.45版本
在这里插入图片描述
将源码解压放在phpstudy的WWW目录下
在这里插入图片描述
配置连接数据库
在这里插入图片描述
创建数据库ctf,并且建立users表
在这里插入图片描述
插入数据
在这里插入图片描述

二,源码分析


2.1 第一道WAF分析
在这里插入图片描述
第一层WAF: 包含点,单引号,星号等等,一旦包含直接删除非法字符,然后又注释掉了一系列东西,这是第一个WAF防御。
2.2 第二道WAF分析
在这里插入图片描述
GET/POST/REQUEST/COOKIE都会经过这个替换str_replace(array(‘&’, ‘"’, ‘<’, ‘>’,‘(’,‘)’), array(‘&’, ‘"’, ‘<’, ‘>’,‘(’,‘)’), $string),

三,sql注入


3.1 注入思路
输入http://localhost/daiqile/demo.php?id=1&username=2&password=3
在这里插入图片描述
发现主要是进行了一个使用问号来进行的分割,分割为了两个数组,数组0是路径uri,数组1即为传入的参数。全是explode的功劳
在这里插入图片描述

在这里插入图片描述
思路:让第一道WAF检测不到恶意字符,再通过第二道WAF的覆盖,从而将恶意字符传入到REQUEST中,其实也就可以绕过WAF,完成注入了
再根据PHP下划线特性
这里我们需要了解PHP的一个小特性,那就是自身在进行解析的时候,如果参数中含有” “、”.”、”[“这几个字符,那么会将他们转换为下划线
所以我们可以利用这个特性,让第一道WAF解析一个正常的参数,第二道WAF来解析另一个恶意字符的参数从而完成覆盖注入。
3.2 开始注入
寻找回显点
在这里插入图片描述

我们可以看到是第二个字段进行的回显,所以我们就在第二个字段进行注入。
爆库名
在这里插入图片描述

爆出所有的库名
爆表名
在这里插入图片描述
爆字段名
在这里插入图片描述

查flag
在这里插入图片描述

总结:


1.HTTP参数污染(HPP):PHP只接收同名参数的最后一个值,这涉及到HTTP参数污染的问题。也就是说,如果一个请求中包含多个同名参数,PHP会忽略前面的,只使用最后一个。

2.PHP特性:在GET请求中,如果参数的键(key)包含点号(.),PHP会自动将其转换为下划线(_)。例如,参数i.d会被转换为i_d。

3. R E Q U E S T 数组: _REQUEST数组: REQUEST数组:_REQUEST数组会按照PHP的接收方式来处理参数,如果存在i_d和i.d这样的参数,PHP会将它们都转换为i_d,并且只接收最后一个参数的值。因此,如果攻击者将恶意代码放在第二个参数中,第一个参数即使被WAF检测到,也不会影响最终的请求数据,从而绕过了WAF的防护。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 字符串函数!!!(续)(C语言)
  • Git 大文件存储 (LFS)
  • uniapp跳转携带参数
  • zigbee笔记:十、ZStack(2.3.0-1.4.0)的OSAL使用分析
  • Spark SQL Catalyst工作流程
  • 如何高效记录并整理编程学习笔记?
  • 【论文阅读】Far3D: Expanding the Horizon for Surround-view 3D Object Detection
  • Apache SeaTunnel 2.3.5 Zeta-Server集群环境搭建与使用
  • 【安卓】调用摄像头和相册
  • Ubuntu18.04 配置EtherCAT主站IGH SOEM
  • css实现水滴效果图
  • MPU6050详细介绍
  • 初始化React Native项目
  • 独立开发者系列(42)——MYSQL语句使用和进阶
  • SQL Server 2022的游标
  • 2017 前端面试准备 - 收藏集 - 掘金
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • iOS帅气加载动画、通知视图、红包助手、引导页、导航栏、朋友圈、小游戏等效果源码...
  • JavaScript新鲜事·第5期
  • ng6--错误信息小结(持续更新)
  • Octave 入门
  • SpiderData 2019年2月13日 DApp数据排行榜
  • supervisor 永不挂掉的进程 安装以及使用
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 记录一下第一次使用npm
  • 聊聊flink的TableFactory
  • 山寨一个 Promise
  • 异常机制详解
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​flutter 代码混淆
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • #QT(TCP网络编程-服务端)
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (2020)Java后端开发----(面试题和笔试题)
  • (3)Dubbo启动时qos-server can not bind localhost22222错误解决
  • (39)STM32——FLASH闪存
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (poj1.3.2)1791(构造法模拟)
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (过滤器)Filter和(监听器)listener
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (十二)Flink Table API
  • (四)图像的%2线性拉伸
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)用.Net的File控件上传文件的解决方案
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET精简框架的“无法找到资源程序集”异常释疑