萌新带你开车上p站(三)(2)
2022-11-12 来源:acgdir.com
printf("input password : ");
scanf("s", pw_buf2);
// xor your input
xor(pw_buf2, 10);
if(!strncmp(pw_buf, pw_buf2, PW_LEN)){
printf("Password OK ");
system("/bin/cat flag ");
}
else{
printf("Wrong Password ");
}
close(fd);
return 0;
}
看关键:main调用的xor函数:
将长度给len的字符串与1异或main中的主要逻辑
从/home/mistake/password读10个字节数据放到pw_buf,我们手动输入10字节数据放在pw_buf2,如果pw_buf2与1异或的结果如果与pw_buf相等,则打印flag
那么关键就是pw_buf的数据,先直接读password看看
scanf("s", pw_buf2);
// xor your input
xor(pw_buf2, 10);
if(!strncmp(pw_buf, pw_buf2, PW_LEN)){
printf("Password OK ");
system("/bin/cat flag ");
}
else{
printf("Wrong Password ");
}
close(fd);
return 0;
}
看关键:main调用的xor函数:
将长度给len的字符串与1异或main中的主要逻辑
从/home/mistake/password读10个字节数据放到pw_buf,我们手动输入10字节数据放在pw_buf2,如果pw_buf2与1异或的结果如果与pw_buf相等,则打印flag
那么关键就是pw_buf的数据,先直接读password看看