文章目录

  • 前言
  • 一、强类型比较(===)和弱类型(==)比较区别
  • 二、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绕过(强弱类型比较)相关推荐

  1. 总结ctf中 MD5 绕过的一些思路

    总结ctf中 MD5 绕过的一些思路 1. 常规的0e绕过 2. 数组绕过 3. 强类型绕过 4. \$a==md5($a) 5. md5 与SQL注入 \$a !== $b && m ...

  2. ctf中MD5绕过详细总结及例题[BJDCTF2020]Easy MD5

    一.首先是MD5()函数的作用? MD5()函数的作用是计算字符串的MD5散列. 返回值:如果成功则返回已计算的 MD5 散列,如果失败则返回 FALSE. 二.PHP == 弱类型比较绕过? 代码: ...

  3. 【CTF bugku 备份是个好习惯】关于.bak备份文件,md5绕过

    知识点 常用的备份文件后缀有 .bak, .swp bak是备份文件的扩展名,现在很多软件都会创建备份文件,bak文件是各类软件产生的备份文件.打开bak文件的方法有简单,只需要知道它的生成软件,然后 ...

  4. MD5加密漏洞(MD5绕过方式-0e绕过/数组绕过/MD5碰撞/MD5SQL注入)

    MD5是一种散列函数,是哈希算法的一种,可以将任意长度的输入,通过散列算法变换成128位的散列值 MD5加密有4种绕过方式 0e绕过 数组绕过 MD5碰撞 MD5SQL注入 0e绕过 0e开头的字符串 ...

  5. php文件上传绕过mime类型,文件上传限制绕过技巧

    严正声明:本文仅限于技术讨论,严禁用于其他用途. 简介 文件上传漏洞是web安全中经常利用到的一种漏洞形式.一些web应用程序中允许上传图片,文本或者其他资源到指定的位置,文件上传漏洞就是利用这些可以 ...

  6. 使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件

    使用Windows 10自带工具 校验MD5 SHA1 SHA256类型文件 适用场景:下载文件的完整性校验等. cmd调出命令行,输入如下命令 certutil -hashfile <文件名& ...

  7. CTF:PHP MD5绕过和序列化漏洞

    CTF:PHP MD5绕过和序列化漏洞 作者:高玉涵 博客:blog.csdn.net/cg_i 时间:2021.6.25 9:51 题目复现Docker环境: https://github.com/ ...

  8. php mysql 绕过_PHP中md5绕过

    一.md5($password,true)的SQL注入问题 这里要提到一下MySQL中的数值比较问题. 1.当数字和字符串比较时,若字符串的数字部分(需要从头开始)和数字是相同的,那么则返回的是tru ...

  9. 语言分类强弱类型语言

    语言分类 静态语言:变量定义时有类型声明的语言(变量类型在编译的时候确定,变量类型在编译的时候不能修改) 动态类型语言:变量在定义时,无类型声明的语言(变量类型在运行时确定,变量类型在运行时可以修改) ...

最新文章

  1. centos6 安装 redis
  2. linux启动lsyncd服务,Ubuntu下lsyncd实现远端实时同步配置
  3. AtCoder AGC036E ABC String
  4. 【转】使IFRAME在iOS设备上支持滚动
  5. java 和 区别_java 和 =的区别
  6. [Swift]LeetCode826. 安排工作以达到最大收益 | Most Profit Assigning Work
  7. 20155313 预备作业二
  8. CVPR2018 Tutorial 之 Visual Recognition and Beyond
  9. python3--匿名函数
  10. Android 学习 笔记_07. XML文件解析
  11. 广义典型相关分析_数学建模/机器学习:广义加性模型(GAM)及其Python实现
  12. 《算法设计》求单峰数组
  13. android背景图边框渐变,GitHub - jvyun/TestShape: 使用自定义属性替代项目中的shape文件,可以给View设置背景色、弧度、背景渐变、边框、边框颜色、渐变方向等...
  14. Java后端开发实习记录
  15. 基于NextCloud,挂载Aria2+AriaNG实现不限流量、离线BT下载及在线播放
  16. 蓝丝雨第八季高精端实战系列【商业实战DNF刷图】
  17. 乐理基础-十二平均律,三分损益法,五度相生法
  18. python提取首字符 判断火车票座位_python实战之通过爬虫实现火车票查询
  19. FPGA实现DDRIP核配置(Memory Interface Solutions)
  20. 中国云计算厂商TOP30重磅榜单

热门文章

  1. 排序 - 希尔排序
  2. Float32Array基础用法
  3. 用Ruby替代Java做rest接口的单元测试!
  4. 打印html所有标签,js 打印标签里的所有内容(带分页)
  5. GetTickCount 得到时间进行比较计算遇到的异常
  6. Python2中文乱码处理
  7. 【操作系统】进程:管程
  8. 1286.字母组合迭代器
  9. php 数字 字母组合,PHP生成数字字母组合或纯数字的唯一订单号
  10. 中小学AI离线智能语音识别模块语音 图形化编程