ctfshow--web9 md5二进制格加密的绕过
dirsearch 扫到robots文件
查看一下 发现有个index.phps文件

访问这个index.phps,可以下载下来
我们来审计一下这里的代码
<?php $flag=""; $password=$_POST['password']; if(strlen($password)>10){ die("password error"); } $sql="select * from user where username ='admin' and password ='".md5($password,true)."'"; $result=mysqli_query($con,$sql); if(mysqli_num_rows($result)>0){ while($row=mysqli_fetch_assoc($result)){ echo "登陆成功<br>"; echo $flag; } } ?>
不太清楚怎么绕过
上网查了查原话是那么说的:
MD5函数第二个参数默认值为false,表示会产生一个32位的常规MD5值。而true,则是原生的16字符的二进制格式,这意味着,这里有可能人为输入一个字符串,经加密后的值以二进制格式生成,又被当字符串处理,很可能新的字符串中含有可以构造SQL万能密码的'or'的部分。
正好网上有两个这样的字符串,一个是和解题链接的文件名一样的字符串:ffifdyop,另一个是:129581926211651571912466741651878684928。将任意一个输入进去,即可绕过验证。(很明显,这里更倾向于让你用ffifdyop)
输入ffifdyop就可拿到flag了

ctfshow--web9 md5二进制格加密的绕过的更多相关文章
- C#、WinForm、ASP.NET - Md5散列加密
MD5值概念解释: 转载自:http://free0007.iteye.com/blog/2047163 所 谓MD5,即"Message-Digest Algorithm 5(信息-摘要 ...
- Java 关于密码处理的工具类[MD5编码][AES加密/解密]
项目中又遇到了加密问题,又去翻了半天,然后做测试,干脆就把常用的两类小结一下. 1.第一种所谓的MD5加密 其实也不算加密,只是基于Hash算法的不可逆编码而已,等于说,一旦经过MD5处理,是不可能从 ...
- md5 32位 加密原理 Java实现md5加密
md5 32位 加密原理 简单概括起来,MD5 算法的过程分为四步:处理原文,设置初始值,循环加工,拼接结果. 第一步:处理原文 首先,我们计算出原文长度(bit)对 512 求余的结果,如果不等于 ...
- Java的单向加密算法MD5和SHA——加密和解密
出自:http://www.cnblogs.com/onetwo/p/3875551.html 1.JDK中MD5和SHA加密的主要类 在JDK6.0中,与MD5与SHA密切相关的几个类的类图如下: ...
- MD5用户密码加密工具类 MD5Util
一般记录用户密码,我们都是通过MD5加密配置的形式.这里记录一下,MD5加密的工具类. package com.mms.utils; import java.security.MessageDiges ...
- 原创:MD5 32位加密软件
网站后台数据库切勿使用明文保存密码,否则一旦黑客拿下你的Webshell,后果不堪设想. 网站后台密码加密大多数采用的就是MD5算法加密.今天给大家送一个本人用c#简单编写的MD5 32位加密程序,虽 ...
- BASE64,MD5,SHA,HMAC加密與解密算法(java)
package com.ice.webos.util.security; import java.io.UnsupportedEncodingException; import java.math.B ...
- 关于MD5+salt盐加密
MD5+salt 最近浏览浏览一些帖子时,发现曾经引以为傲的md5加密算法,虽然是无法解密的算法,但是现在可以通过FELHELP(谷歌浏览器插件)或者一些字典可以套出来,.但是当md5+salt值时, ...
- nodeJS之crypto模块md5和Hmac加密
nodeJS之crypto模块md5和Hmac加密 原文地址:https://www.cnblogs.com/tugenhua0707/p/9128690.html 在nodejs中,可以使用cryp ...
- MD5、SHA1加密java 16位32位
MD5.SHA1加密java 16位32位 import java.math.BigInteger; import java.security.MessageDigest; public class ...
随机推荐
- Slate文档编辑器-WrapNode数据结构与操作变换
Slate文档编辑器-WrapNode数据结构与操作变换 在之前我们聊到了一些关于slate富文本引擎的基本概念,并且对基于slate实现文档编辑器的一些插件化能力设计.类型拓展.具体方案等作了探讨, ...
- 20241120 校内模拟赛 T3 题解
题目描述 给定一个数列 \(A\),数列的元素取值范围为 \([1,m]\). 请计算有多少个非空子区间满足以下条件:该区间内每个元素的出现次数都相同(没有出现的元素视为出现 \(0\) 次). 例如 ...
- CodeForces - 1398C Good Subarrays
CodeForces - 1398C 挺简单的题目,但是没有想到还是整理一下 方法1 把每个元素都减1,那么满足题意的就是一段和的值是0,然后维护前缀和,如果发现这个前缀和之前出现过,就说明有满足题意 ...
- 域渗透之初识Kerberos认证过程
目录 Kerberos协议中的角色 关键名词 Kerberos协议的工作流程 AS_REQ & AS_REP TGS_REQ & TGS_REP AP_REQ PAC 总结 Kerbe ...
- 【昌哥IT课堂】MySQL8.4.0新特性:FLUSH_PRIVILEGES动态权限细化与隔离[译]
介绍MySQL 支持 RELOAD 权限.现在,想象一个数据库用户被授予了 RELOAD 权限,这允许该用户在系统上执行 FLUSH PRIVILEGES 语句.假设该用户意外地执行了另一个强大的语句 ...
- Hibernate 之Hibernate缓存
1.缓存:缓存是什么,解决什么问题? 位于速度相差较大的两种硬件/软件之间的,用于协调两者数据传输速度差异的结构,均可称之为 Cache(摘自Robbin的<缓存技术浅谈>).目的:让数据 ...
- 开源 - Ideal库 - Excel帮助类,TableHelper实现(二)
书接上回,我们今天开始实现对象集合与DataTable的相互转换. 01.接口设计 上文中已经详细讲解了整体设计思路以及大致设计了需要哪些方法.下面我们先针对上文设计思想确定对外提供的接口.具体接口如 ...
- Python 学习记录 (4)
Plotly常见可视化方案:以鸢尾花数据为例 简单介绍: Ploty库也有大量统计可视化方案,并且这些可视化方案具有交互化属性. 主要对鸢尾花数据进行处理与可视化. 所展示的结果为交互界面的截图情况, ...
- \r,\n,\r\n的前世今生
前情 最近在逛论坛的时候遇到有人在提问题,为什么\n在苹果手机上不换行,我以前有网上看到过文章,是因为各系统的解析不同,需要使用\r\n来做兼容,自己虽然知道怎么解决,但是不知具体原因,今特来详细了解 ...
- ajax请求与前后端交互的数据编码格式
目录 一.Ajax AJAX简介 应用场景 AJAX的优点 语法实现 二.数据编码格式(Content-Type) 写在前面 form表单 几种数据编码格式介绍 三.ajax携带文件数据 四.ajax ...