首页 > 其他分享 >【BUUCTF】Easy MD5

【BUUCTF】Easy MD5

时间:2024-07-26 17:56:54浏览次数:14  
标签:BUUCTF MD5 PHP Easy pass password where md5

【BUUCTF】Easy MD5 (SQL注入、PHP代码审计)

题目来源

收录于:BUUCTF  BJDCTF2020

题目描述

抓包得到提示

img

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会删除乱码进行传参,即可成功绕过

第二关

img

使用==若比较,在进行比较的时候,会先将两边的变量类型转化成相同的,再进行比较。

0e在比较的时候会将其视作为科学计数法,所以无论0e后面是什么,0的多少次方还是0。

这是几个md5值以0e开头的字符串

QNKCDZO
s878926199a
s155964671a 
s214587387a
s1091221200a
s1885207154a
s1502113478a
s1836677006a
s1184209335a
s1665632922a

任意选取两个赋值给$a$b即可。

第三关

img

payload:

param1[]=1&param2[]=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,MD5,PHP,Easy,pass,password,where,md5
From: https://www.cnblogs.com/MrSoap/p/18325943

相关文章

  • EasyExcel复杂导出 一对多
     将数据一条一条查出来千万不要用一对多查询最后用方法进行合并publicclassExcelFileCellMergeStrategyimplementsCellWriteHandler{/***合并列的范围索引*/privateint[]mergeColumnIndex;/***合并起始行索引*/privateintmer......
  • EasyExcel简单导出
    @ApiOperation("导出历史上送记录")@PostMapping(value="/exportSend",produces="application/octet-stream")publicvoidexportExcel(@RequestBodyExportSendVOsendVO,HttpServletResponseresponse)throwsException{//获取数据List&......
  • 浅谈断言之MD5Hex断言
    浅谈断言之MD5Hex断言“MD5Hex断言”是一种特殊类型的断言,主要用于验证返回数据的完整性和一致性。本文将详细介绍MD5Hex断言的用途、配置方法及应用场景。MD5Hex断言概述MD5Hex断言基于MD5(Message-DigestAlgorithm5)算法,这是一种广泛使用的散列函数,可以产生一个128位(16......
  • Easyconnect登录提示:拉起虚拟网卡失败 解决办法
    原文链接:https://www.cnblogs.com/runningwind/p/17532438.html用户使用easyconnect登录SSLVPN后提示:拉起虚拟网卡失败,请确保虚拟网卡已经安装在系统上并处于启用状态 设备管理器查看虚拟网卡一直有感叹号 尝试更新网卡驱动及启用禁用虚拟网卡,不行尝试使用SSLVPN诊断修......
  • md5sum 查看文件校验码,确认是否为同一个文件
    root@blj-pc:xxxxxx#md5sum--help用法:md5sum[选项]...[文件]...显示或检查MD5(128位)校验和。如果没有指定文件,或者文件为"-",则从标准输入读取。-b,--binary以二进制模式读取-c,--check从文件中读取MD5的校验值并予以检查--tag创建一个BSD风格的校验和-t,--......
  • EasyExcel 读取xls 监听行数据问题
    需求:导入xls文件需要判断是否空值,时间格式是否问题监听器classExcelListenerextendsAnalysisEventListener<RevWaterUserDocAndUserPayImportExl>{publicExcelListener(List<RevWaterUserDocAndUserPayImportExl>result){this.list=result;......
  • [护网杯 2018]easy_tornado
    [护网杯2018]easy_tornadoStep靶机页面/flag.txt/welcome.txt/hints.txt其中:/flag.txtflagin/fllllllllllllag/hints.txtmd5(cookie_secret+md5(filename))链接url/file?filename=/welcome.txt&filehash=0d57a014b2bc88b9c6f12277495dwww其中filehash则是......
  • easyexcel的读写操作
    easyexcel是基于java的读写excel的开源项目--读写也可理解为上传和下载写操作一、引入依赖<dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.0.5</version></dependency>二、封装相应对象@Data@AllArgsConst......
  • [BJDCTF2020]EasySearch(ssi注入)
    看题目就知道藏的有东西挨个试试发现在index.php.swpvim缓存泄露,在使用vim进行编辑时,会产生缓存文件,操作正常,则会删除缓存文件,如果意外退出,缓存文件保留下来,这是时可以通过缓存文件来得到原文件,以index.php来说,第一次退出后,缓存文件名为index.php.swp,第二次退出后,缓存文件......
  • [BJDCTF2020]Easy MD5
    [BJDCTF2020]EasyMD5Step1看源代码没线索,用burp抓包看一下:发现提示,发现输入的是password要构造使password=’or‘1的形式使之形成永真的语句md5($pass,true)应该就是将pass的值md5加密后成十六进制转换成字符这时候276f7227就是十六进制的'or',只要MD5加密成276f7227+(......