CTF小技巧
将整数强制拆分为 string
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
int main(){
long long v7=28537194573619560;
char *p=(char *)&v7;//chr指针
char str[30];
strcpy(str,":\"AL_RT^L*.?+6/46");
for(int i=0;i<19;i++){
str[i]=p[i%7]^str[i];
printf("%c",str[i]);
}
return 0;
}
md5碰撞。
根据==用法,0 == 字符串是成立的,从而可以绕过MD5检查。
QNKCDZO
s878926199a
s155964671a
s214587387a
s214587387a
s878926199a
s1091221200a
s1885207154a
aabC9RqS
240610708
aabg7XSs
md5() sha1()
MD5() 和 SHA1() 不能处理数组,PHP中会返回 false 构造sha1(str1)===sha1(str2) str1!=str2 时可以构造数组绕过