reverse-crackme1&&web(呱呱呱&&膜ctf?&&機器蛇)

這道題的flag讓人覺得很意外,或者說把問題複雜化了。下面是本題的題解:

拿到的是一個32位的pe文件,直接放進IDA,定位主函數:

int main_0()
{
  int v0; // eax
  signed int v2; // [esp+50h] [ebp-18h]
  _DWORD *v3; // [esp+54h] [ebp-14h]
  signed int i; // [esp+58h] [ebp-10h]

  v3 = operator new(0x1Cu);
  v2 = strlen("2410488");
  for ( i = 0; i < v2; ++i )
    v3[i] = ((2 * a2410488[i] - 96) / 4 + 3) % 10;
  sub_401285((int)&unk_47BE90, "flag:");
  sub_401041(v3);
  v0 = sub_4011E0(&sub_4010CD);
  sub_401285(v0, "怎麼一直在變???");
  sub_4011E0(&sub_4010CD);
  Sleep(0x7D0u);
  return 0;
}

主函數比較簡潔,但有一堆不知道幹嘛的函數,先不用管他,其中對flag做變換的即使開始的for循環:

  v3 = operator new(0x1Cu);
  v2 = strlen("2410488");
  for ( i = 0; i < v2; ++i )
    v3[i] = ((2 * a2410488[i] - 96) / 4 + 3) % 10;

跟蹤到下面可以大致分析得出v3即是flag的值,所以剩下的工作就是解出v3的值,腳本如下:

key = "2410488"
flag = []
for i in key:
	flag.append(str(int(((2*ord(i)-96)/4+3) % 10)))
flag = ''.join(flag)
print(flag)

運行即得到flag,這裏的flag值是一段數字,並不是字符串所以結果出來會感覺怪怪的。

web1 一道水題

打開鏈接發現是一堆圖片,也沒有其他什麼東西:

 打開控制檯一看,即發現flag:

 web 2 還是一道水題

打開題目鏈接發現讓輸入moctf,但輸入框並不允許輸入:

還是打開控制檯,發現輸入被禁止:

這裏只需要將input標籤的這一屬性刪除就好了,此外還可以給value直接賦值,不用再在輸入框輸入:

之後提交即得到flag:

disabled屬性:

web3 機器蛇

進入頁面是一個網頁遊戲,完了一下沒發現什麼特別之處:

照常打開控制檯:

 發現robots.txt,添加至地址欄:

得到flag的地址:

訪問:

得到flag:

Robots協議(百度百科)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章