网站可以做多少个网页,网站定制方案,网页制作文字素材,家居网站建设公司如果你是第一批做这个题的#xff0c;这道题一点也不easy
打开在前端代码里面看到#xff0c;输入框输入的内容实际是’password’ 随意输入内容#xff0c;查看响应header中的内容有一句SQL代码#xff0c;可知我们要让password在md5后返回值为true
然后尬住#xff…如果你是第一批做这个题的这道题一点也不easy
打开在前端代码里面看到输入框输入的内容实际是’password’ 随意输入内容查看响应header中的内容有一句SQL代码可知我们要让password在md5后返回值为true
然后尬住开搜
MD5碰撞 总结ctf中 MD5 绕过的一些思路 ffifdyop——绕过中一个奇妙的字符串 BJDCTF2020 Easy MD5详细 BUUCTF [BJDCTF2020]Easy MD5 详解 sql注入md5($password,true)
根据以上信息 在其他wp和博客中得知 md5函数在指定了true的时候是返回的原始 16 字符二进制格式。也就是说会返回这样子的字符串or’6\xc9]\x99\xe9!r,\xf9\xedb\x1c 然后就会拼接成
select * from admin where passwordor6.......这句在MySQL 中会形成“永真”和常规的sql注入passwordor’1逻辑一致
要注意本题中password 后面直接就是md5()函数 返回的字符串本是or6....... 得到为什么不是 passwordor 6 而password 肯定会报错 原因是md5()函数返回值的类型是字符串会再带一对 所以得到的确实是passwordor 6........
这要令password的值在md5加密后
在其他wp中知道了ffifdyop这个特殊字符串刚好符合or6 ffifdyop绕过原理是 ffifdyop 这个字符串被 md5 哈希了之后会变成 276f722736c95d99e921722cf9ed621c这个字符串前几位刚好是 ’ or ‘6 而 Mysql 刚好又会把 hex 转成 ascii 解释因此拼接之后的形式是 select * from ‘admin’ where password’ ’ or ‘6xxxxx’等价于 or 一个永真式因此相当于万能密码可以绕过md5()函数。 输入ffifdyop后得到 查看前端代码看到一段注释的代码
!--
$a $GET[a];
$b $_GET[b];if($a ! $b md5($a) md5($b)){// wow, glzjin wants a girl friend.
--这个在我的练习4我遇到过直接输入两个数组类型并且不一样的值就能绕过 因为md5函数输入数组返回null null null成立 payload?a[]123b[]1234 成功又看到了一组代码
这一组也是一样的解法数组绕过md5
flag{bb709a3d-2f98-41f9-b26c-5dd79df15d4a}