-->
当前位置:首页 > DayDayUp > 正文内容

[WP] Hackergame 2019 没有BUG的教务系统 1

Luz6年前 (2019-10-17)DayDayUp4349

image.png

image.png

查看源码发现程序对输入进行了一系列加密操作

  1.         temp_password[i] = ((temp_password[i] | temp_password[+ 1]) & ~(temp_password[i] & temp_password[+ 1]) | i) & ~((temp_password[i] | temp_password[+ 1]) & ~(temp_password[i] & temp_password[+ 1]) & i)

最后与一个序列进行比较

加密每个字节使用了字节本身与它后面的那个字节 因此这题要从后往前推

程序给输入加了一个'\x00'

因此最后一个字节是'\x00'

编写脚本依次爆破前面的字节

  1. #include<stdio.h>
  2. int main(){
  3. char temp_password[2];
  4. int key[]={0x44,0x00,0x02,0x41,0x43,0x47,0x10,0x63,0x00};
  5. temp_password[0]=0;
  6. int k=7;
  7. for(int j=0;j<=7;j++){
  8. for(int i=1;i<128;i++){
  9. temp_password[0]=i;
  10. temp_password[0] = ((temp_password[0] | temp_password[0 + 1]) & ~(temp_password[0] & temp_password[0 + 1]) | k) & ~((temp_password[0] | temp_password[0+ 1]) & ~(temp_password[0] & temp_password[0+ 1]) & k);
  11. // printf("%d ",temp_password[0]);
  12. if(temp_password[0]==key[k]){
  13. printf("%c",i);
  14. temp_password[1]=i;
  15. k--;
  16. break;
  17. }
  18. }
  19. }
  20.   
  21. }

image.png

输出是倒过来的,我们需要再给它倒一下

flag{p455w0rd}

标签: REVERSE

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。