MD5绕过(强弱类型比较)
文章目录
- 前言
- 一、强类型比较(===)和弱类型(==)比较区别
- 二、MD5弱类型绕过
- 1.0e绕过
- 2.数组绕过
- 三、MD5强类型绕过
- 1、
- 2、数组绕过
- 四、特定条件下的MD验证绕过:ffifdyop
- 总结
前言
在刷题的时候遇到,强弱类型比较和MD5的验证,就简单的总结记录一下
一、强类型比较(=)和弱类型()比较区别
首先,我们来看一下php对类型比较的解释
松散比较也就是弱类型比较,严格比较就是强类型比较
a==b:弱类型比较会将a和b转成统一数据类型在进行比较,而强类型比较会先判断a和b是不是相同类型,不是,则返回false,是,再比较a和b的值。
二、MD5弱类型绕过
1.0e绕过
弱比较会把0exxxx当做科学计数法,不管后面的值为任何东西,0的任何次幂都为0
代码如下(示例):
if ($_GET['a'] != $_GET['b']){if (md5($_GET['a']) == md5($_GET['b']))echo '1';elseecho '0';}else echo "请输入不同的a,b值";
代码审计:要求get获取的a和b的值要求不相等,但要求其md值相同
- 以下是一些字符串md5值以0e开头
QNKCDZO
240610708
s878926199a
s155964671a
s21587387a
payload:?a=QNKCDZO&b=240610708 即可绕过
2.数组绕过
md5()函数计算的是一个字符串的哈希值,对于数组则返回false
payload:?a[]=1&b[]=2
三、MD5强类型绕过
1、
因为强类型比较,不仅比较值,还比较类型,0e会被当做字符串,所以不能用0e来进行
但是我们可以用MD值完全相同的字符来进行绕过
2、数组绕过
同上
四、特定条件下的MD验证绕过:ffifdyop
Select * from ’admin’ where password=md5($pass,true)
首先要知道md($pass,true)的含义
MD5报文将以原始 16字符二进制格式返回
ffifdyop 字符串经过MD5加密后为276f722736c95d99e921722cf9ed621c
在转换成字符串为’or’6乱码
Select * from ’admin’ where password=‘or’6乱码
相当于万能密码
总结
没有总结,凑合看吧
MD5绕过(强弱类型比较)相关推荐
- 总结ctf中 MD5 绕过的一些思路
总结ctf中 MD5 绕过的一些思路 1. 常规的0e绕过 2. 数组绕过 3. 强类型绕过 4. \$a==md5($a) 5. md5 与SQL注入 \$a !== $b && m ...
- ctf中MD5绕过详细总结及例题[BJDCTF2020]Easy MD5
一.首先是MD5()函数的作用? MD5()函数的作用是计算字符串的MD5散列. 返回值:如果成功则返回已计算的 MD5 散列,如果失败则返回 FALSE. 二.PHP == 弱类型比较绕过? 代码: ...
- 【CTF bugku 备份是个好习惯】关于.bak备份文件,md5绕过
知识点 常用的备份文件后缀有 .bak, .swp bak是备份文件的扩展名,现在很多软件都会创建备份文件,bak文件是各类软件产生的备份文件.打开bak文件的方法有简单,只需要知道它的生成软件,然后 ...
- MD5加密漏洞(MD5绕过方式-0e绕过/数组绕过/MD5碰撞/MD5SQL注入)
MD5是一种散列函数,是哈希算法的一种,可以将任意长度的输入,通过散列算法变换成128位的散列值 MD5加密有4种绕过方式 0e绕过 数组绕过 MD5碰撞 MD5SQL注入 0e绕过 0e开头的字符串 ...
- php文件上传绕过mime类型,文件上传限制绕过技巧
严正声明:本文仅限于技术讨论,严禁用于其他用途. 简介 文件上传漏洞是web安全中经常利用到的一种漏洞形式.一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以 ...
- 使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件
使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件 适用场景:下载文件的完整性校验等. cmd调出命令行,输入如下命令 certutil -hashfile <文件名& ...
- CTF:PHP MD5绕过和序列化漏洞
CTF:PHP MD5绕过和序列化漏洞 作者:高玉涵 博客:blog.csdn.net/cg_i 时间:2021.6.25 9:51 题目复现Docker环境: https://github.com/ ...
- php mysql 绕过_PHP中md5绕过
一.md5($password,true)的SQL注入问题 这里要提到一下MySQL中的数值比较问题. 1.当数字和字符串比较时,若字符串的数字部分(需要从头开始)和数字是相同的,那么则返回的是tru ...
- 语言分类强弱类型语言
语言分类 静态语言:变量定义时有类型声明的语言(变量类型在编译的时候确定,变量类型在编译的时候不能修改) 动态类型语言:变量在定义时,无类型声明的语言(变量类型在运行时确定,变量类型在运行时可以修改) ...
最新文章
- centos6 安装 redis
- linux启动lsyncd服务,Ubuntu下lsyncd实现远端实时同步配置
- AtCoder AGC036E ABC String
- 【转】使IFRAME在iOS设备上支持滚动
- java 和 区别_java 和 =的区别
- [Swift]LeetCode826. 安排工作以达到最大收益 | Most Profit Assigning Work
- 20155313 预备作业二
- CVPR2018 Tutorial 之 Visual Recognition and Beyond
- python3--匿名函数
- Android 学习 笔记_07. XML文件解析
- 广义典型相关分析_数学建模/机器学习:广义加性模型(GAM)及其Python实现
- 《算法设计》求单峰数组
- android背景图边框渐变,GitHub - jvyun/TestShape: 使用自定义属性替代项目中的shape文件,可以给View设置背景色、弧度、背景渐变、边框、边框颜色、渐变方向等...
- Java后端开发实习记录
- 基于NextCloud,挂载Aria2+AriaNG实现不限流量、离线BT下载及在线播放
- 蓝丝雨第八季高精端实战系列【商业实战DNF刷图】
- 乐理基础-十二平均律,三分损益法,五度相生法
- python提取首字符 判断火车票座位_python实战之通过爬虫实现火车票查询
- FPGA实现DDRIP核配置(Memory Interface Solutions)
- 中国云计算厂商TOP30重磅榜单