【BUUCTF】Easy MD5
【BUUCTF】Easy MD5 (SQL注入、PHP代码审计)
题目来源
收录于:BUUCTF BJDCTF2020
题目描述
抓包得到提示

select * from 'admin' where password=md5($pass,true)
题解
第一关
这是一个SQL注入点,但是有md5()过滤。这里有知识点:mysql会把十六进制数据解析为字符串。
给$pass赋值ffifdyop,md5($pass)的值为276f722736c95d99e921722cf9ed621c1,其对应的字符串为'or'6<乱码>',拼合后的语句
select * from 'admin' where password='' or '6xxxxx'
PHP会删除乱码进行传参,即可成功绕过
第二关

使用==若比较,在进行比较的时候,会先将两边的变量类型转化成相同的,再进行比较。
0e在比较的时候会将其视作为科学计数法,所以无论0e后面是什么,0的多少次方还是0。
这是几个md5值以0e开头的字符串
QNKCDZO
s878926199a
s155964671a
s214587387a
s1091221200a
s1885207154a
s1502113478a
s1836677006a
s1184209335a
s1665632922a
任意选取两个赋值给$a和$b即可。
第三关

payload:
param1[]=1¶m2[]=2
在PHP中,对于md5(),如果传入的两个参数不是字符串,而是数组,md5()函数无法解出其数值,而且不会报错,就会得到强比较的值相等
总结
对于查询语句
select * from 'admin' where password=md5($pass,true)
给$pass赋值为:ffifdyop
对于判断
if($a != $b && md5($a) == md5($b))
令$a和$b分别随意取以下的两个值即可
QNKCDZO
s878926199a
s155964671a
s214587387a
s1091221200a
s1885207154a
s1502113478a
s1836677006a
s1184209335a
s1665632922a
对于判断
if($a !== $b && md5($a) === md5($b))
使用数组绕过,payload:
a[]=1&b[]=2
【BUUCTF】Easy MD5的更多相关文章
- 【tyvj1952】easy
AK大神又AK了!!! orzorzorz 题意: 给出一个字符串由'x'.'o'.'?' '?'有一半的几率为'x' 一半几率为'o' 得分为所有连续的'o'的个数的平方和 如ooxooo 得分为2 ...
- 【Python】Shell MD5使用的那些事
MD5 应该是用的非常多的算法,就自己使用经验说说吧. 场景 算法层面不多说了,维基百科,还有很多文章都有说明. 主要用过的场景 密码存储,现在基本没怎么有使用的了,毕竟破解容易了很多 API校验,现 ...
- 【Unity3D】使用MD5值,确保本地Sqlite数据库内容没有被篡改
Sqlite的应用场景 在判断是否使用存储格式为Sqlite模式的标准,我们的标准是内容只读.也就是说,除非发布者修改Sqlite内容,玩家只有读取的权限. 换个角度说,Sqlite里面的数据都是游戏 ...
- BZOJ 4318: OSU! 期望概率dp && 【BZOJ3450】【Tyvj1952】Easy 概率DP
这两道题是一样的...... 我就说一下较难的那个 OSU!: 这道15行的水题我竟然做了两节课...... 若是f[i][0]=(1-p)*f[i-1][0]+(1-p)*f[i-1][1],f[i ...
- 【BZOJ3450】Easy [期望DP]
Easy Time Limit: 10 Sec Memory Limit: 128 MB[Submit][Status][Discuss] Description 某一天WJMZBMR在打osu~~ ...
- 【转】 Easy RadControl 之 RadGridView(Silverlight)
1.不显示第1列即列指示器(Row Indicators) 在 telerik:RadGridView中设置属性 RowIndicatorVisibility="Collapsed&qu ...
- 【BZOJ3450】【Tyvj1952】Easy 可能DP
联系: #include <stdio.h> int main() { puts("转载请注明出处[辗转山河弋流歌 by 空灰冰魂]谢谢"); puts("网 ...
- 【ZCTF】easy reverse 详解
0x01 前言 团队逆向牛的解题思路,分享出来~ 0x02 内容 0. 样本 bbcdd1f7-9983-4bf4-9fde-7f77a6b947b4.dll 1. 静态分析 使用IDAP ...
- 【BZOJ3450】Easy(期望)
题意: 某一天WJMZBMR在打osu~~~但是他太弱逼了,有些地方完全靠运气:(我们来简化一下这个游戏的规则有n次点击要做,成功了就是o,失败了就是x,分数是按comb计算的,连续a个comb就有a ...
- 【POJ3740】Easy Finding DLX(Dancing Links)精确覆盖问题
题意:多组数据,每组数据给你几行数,要求选出当中几行.使得每一列都有且仅有一个1.询问是可不可行,或者说能不能找出来. 题解:1.暴搜.2.DLX(Dancing links). 本文写的是DLX. ...
随机推荐
- WinForm 通用权限框架,简单实用支持二次开发
前言 开发一个安全.灵活且易于维护的应用程序是至关重要的.特别是在企业级应用中,权限管理不仅涉及到用户访问控制,还关系到数据的安全性和系统的稳定性. 推荐一款 WinForm 通用.完整的权限架构开发 ...
- COSBrowser 文件对比——更实用的文件管理功能
我们在使用 COSBrowser 来管理腾讯云存储的文件时,目前我们大家所熟知的上传/下载方式,主要有以下三种: 通过点击按钮上传/下载 通过拖拽的形式进行上传/下载 通过 URL 链接进行上传/下载 ...
- Java性能最后一个领域:去除垃圾回收器
Java性能最后一个领域:去除垃圾回收器 不产生垃圾不等于不创建对象,如果对象创建满足以下几个条件,仍然可以在创建对象之后不需要垃圾回收器: 应用程序或者库在初始化的时候生成有限个数的对象,然后不断复 ...
- pmml(模型标准化)
PMML简介PMML全称预言模型标记模型(Predictive Model Markup Language),以XML 为载体呈现数据挖掘模型.PMML 允许您在不同的应用程序之间轻松共享预测分析模型 ...
- 智谱开源CogAgent的最新模型CogAgent-9B-20241220,全面领先所有开闭源GUI Agent模型
在现代数字世界中,图形用户界面(GUI)是人机交互的核心.然而,尽管大型语言模型(LLM)如ChatGPT在处理文本任务上表现出色,但在理解和操作GUI方面仍面临挑战,因此最近一年来,在学界和大模型社 ...
- Qt音视频开发02-海康sdk解码(支持句柄/回调/gpu模式/支持win/linux)
一.前言 为何还要选用使用海康sdk,之前不是ffmpeg已经牛皮吹上天了吗?这个问题问得好,那是因为无论ffmpeg也好还是vlc/mpv之类的,都是实现的播放相关,不同的监控硬件厂家对应设备还有很 ...
- Halo博客+兰空图床搭建保姆级指南
1. 简介 1.1 依赖的相关软件 Docker.Docker-Compose底层运行环境 Minio底层的存储支持 Mysql关系型数据库 Redis缓存中间件 NginxProxyManager( ...
- [转]CopyPlugin Invalid Options options should be array ValidationError: CopyPlugin Invalid Options
这个错误是使用webpack的一个plugin出现的错误.这个plugin是copy-webpack-plugin我把文档的例子复制,然后就报了这个错误.文档的例子: const CopyPlugin ...
- Kubernetes系列(三) - 通过Kubeadm部署kubernetes
目录 1. Kubeadm简介 2. 本次操作的机器配置 3. 部署步骤 3.1 准备工作 3.2 安装docker 3.3 安装kubeadm, kubectl, kubelet 3.4 maste ...
- 展锐SE8451E 开启硬件流控
Dear Customer: 如电话沟通,若将uart0配置成3M波特率,需进行如下更改: 1.时钟源更改为96M/sprdroid10_trunk_19c_rls1/bsp/kernel/ker ...