web buuctf [BJDCTF2020]Easy MD51

1.查看源代码,无异常;输入字符串发现传参password,尝试sql注入没有看到异常

2.传参抓包,在respose的消息头内有hint(线索):select * from 'admin' where password=md5($pass,true) 就是说,传参的值经过md5(string,true)后,使sql语句能够执行,完成注入

3.语法:md5(string,raw)

参数描述
string必需。要计算的字符串。
raw

可选。

  • 默认不写为FALSE。32位16进制的字符串
  • TRUE。16位原始二进制格式的字符串

可以参考文章sql注入:md5($password,true)_March97的博客-CSDN博客_md5($pass,true)       前几天做了一道CTF的题目,是在”实验吧“的一道简单的web题目,当然这道题目很多人都解出来了,因为它的.php文件名就是答案。       他的网页链接里面的php文件名就是’ffifdyop.php‘。        上面的’ffifdyop‘就是我们要输入的密码。哦,忘了介绍,这道题目只需要表单提交密码。      当然如果直接输入ffifdyop,提交后就能出...https://blog.csdn.net/March97/article/details/81222922?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164722646016780271951898%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164722646016780271951898&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-81222922.pc_search_result_cache&utm_term=md5%28%24pass%2Ctrue%29%E6%BC%8F%E6%B4%9E&spm=1018.2226.3001.4187

要将注入后转换的字符串格式为xxx'or'(1-9)xxxx,就是使sql语句的条件返回值恒为真,16位二进制形式就要求转化后为16进制,但每两位16进制转化为ascii对应的字符串,可以写成脚本去生成,但是这种是固定的,我建议大家当成知识点去记住就可以了,让$pass= ffifdyop;转换的过程贴一下

content: ffifdyop
hex: 276f722736c95d99e921722cf9ed621c
raw: 'or'6\xc9]\x99\xe9!r,\xf9\xedb\x1c
string: 'or'6]!r,b

4.进入新页面后查看源代码

这个知识点是==的弱类型绕过,==的比较要求式子两边的值相等,类型会自动转化,两边的值为0ex开头的即可,因为0e开头的会自动转化成科学计数法,0的10的x次方,都是为0,大家理解原理,可以记住两个遇到这种情况,直接用就行

QNKCDZO

240610708        

因为是get,所以直接在路径上传参就可以/levels91.php?a=QNKCDZO&b=240610708          

5.进入新页面

               

===要求两边的类型相同,但是另一条件要求值不同,这是md5的另一个特性,就是md5无法对数字进行加密,数组的加密返回值均为null, 令param1,2为数组进行定义,param1[]=1&param2[]=2

 

6.flag{920aee02-8b7c-4799-a2e2-e39f1ec3e1f9} 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值