SQL- ffifdyop绕过

当看到这个绕过并没法察觉的时候,我就知道我的SQL注入还没入门,在浏览其他师傅的blog中,知道这是绕过中的一个奇妙的字符串

SQL-- ffifdyop绕过

绕过技巧解读

先给你看一个东西:276f7227,看到这个你想到了什么?

<----‘or’---->有没有给你一个很熟悉的感觉!是的这正是“ffidfyop”的md5加密后的值:276f722736c95d99e921722cf9ed621c 我们都知道SQL语句会自动将Hex转成Ascii来解释。

因此拼接之后:

select * from admin where password=''or'6<乱码>'

相当于select * from admin where password=''or'1,一个永真式,以此来绕过MD5()。

同理的还有:129581926211651571912466741651878684928 也可达同样的效果

总之,相当于 select * from admin where password=''or ture

例题解读:

[BJDCTF 2020]easy_md5

打开链接,看到输入框,第一时间就想到注入:

麻了

试过诸多注入无果,抓了一下包,看到hint:

麻了

看到hint,就知道是绕过MD5()。

框内输入“ffifdyop”,成功绕过。

麻了

查看源代码,这里有很多种绕过方式:

1
2
3
4
5
?a=QNKCDZO&b=240610708

?a=s878926199a&b=s155964671a

?a[]=1&b[]=2

麻了

麻了

同理,POST双参数数组绕过。


这里有其他师傅的顶级理解:

弱类型比较变成了强类型比较了,这里就只能用php数组绕过,由于哈希函数无法处理php数组,在遇到数组时返回false,我们就可以利用false==false成立使条件成立

麻了

flag:NSSCTF{762d2772-8382-4ec4-9f9c-8354f7d0c995}

学到了新东西,这才是入门诶,呜呜呜,我好菜!!!