内部赛-2023第三届网络安全攻防大赛个人赛②-复赛

发布时间 2023-07-16 10:56:04作者: wgf4242

Misc

签到

cyberchef打开.
input: 0db584e82fce27bab2e2677e4dd3a95749dddfdf08d52ebe80501df6aac2571fddd3d80dd5df681dc7c57efb831ea5ad
key选utf8 :1234567890abcdef
mode选ECB

爆破的魅力

stegsolve看文件信息提示 I believe in the security of aes&lsb steganography

aes加密和 lsb 文件隐写,用stegsolve看.

alpha0通道提示 pwd in
alpha1通道提示 xato-net-10-million-passwords-10000.txt

但没找到lsb隐写文件.

使用 puzzle 工具bruteforce 打开 img. 使用提示给出的 10000.txt。 爆破跑出flag。

flag在哪里

png修改高度即可显示

flag{4c2664365bc1a66dcf86d333283ef188}

re

check

  sub_140001080("%42s");
  v3 = -1i64;
  do
    ++v3;
  while ( v11[v3] );
  v4 = 0i64;
  v5 = 0xACE1;
  for ( i = 0i64; i < v3; ++i )
  {
    v7 = v5;
    v8 = v5 >> 1;
    v9 = v8 ^ 0xB400;
    if ( (v7 & 1) == 0 )
      v9 = v8;
    v5 = v9;
    v11[i + 80] = v11[i] ^ v9;
  }
  v11[v3 + 80] = 0;
  do
  {
    if ( v11[v4 + 80] != byte_140002288[v4] )
    {
      sub_140001020("err");
      exit(0);
    }
    ++v4;
  }
  while ( v4 < 0x2A );

直接用z3-sovler 照着写自动求.

from natsort import natsorted
from z3 import *

enc = [0x16, 0x54, 0xFD, 0x29, 0x5C, 0x20, 0xE8, 0xFD, 0x07, 0xD3, 0x6F, 0x18, 0x2E, 0xA6, 0xA6, 0x5B, 0x88, 0xBE, 0x41,
       0xD4, 0xEC, 0x89, 0x4F, 0x16, 0xA5, 0x79, 0x9F, 0xEA, 0x44, 0x0D, 0x2E, 0x6F, 0xE5, 0xF4, 0x03, 0x83, 0xE1, 0xD9,
       0x4E, 0xDD, 0xBF, 0x93, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
       ];
v11 = [BitVec('s1_%d' % i, 8) for i in range(42)]  # 有时得用int值好使
v4 = 0
v5 = 0xace1
llen = 42

solver = Solver()
for i in range(42):
    v7 = v5
    v8 = v5 >> 1
    v9 = v8 ^ 0xb400
    if ((v7 & 1) == 0):
        v9 = v8
    v5 = v9
    # v11[(i + 80)] = v11[i] ^ v9
    solver.add(v11[i] ^ v9 == enc[i])
    
print(solver.check())
res = solver.model()

# lst = natsorted([(k, res[k]) for k in res], key=lambda x: x)
lst = natsorted([(k, res[k]) for k in res], lambda x: str(x[0]))
for k, v in lst:
    print(chr(v.as_long()), end='')

# flag{3a9eb748-c99f-b7d9-8789-94bc7b3958fb}

web

ezlavaariel | 未完成

扫描下载源码 /www.zip



ezcms

扫描下载源码 /www.zip

/admin.php 根据提示 admin/123456登录。

根据提示:在后台/admin.php?m=Book&a=reply&id=1存在注入漏洞。利用报错注入可读取文件

开始没测出来。本地搭建环境找到 selectdb 这里 where uid in ($input$) 在这里进行报错注入。 后面会自动补一个括号 。

payload: 1 or updatexml(1,concat(0x7e,version(),0x7e),1) 或补全括号后注释掉后面即可。

使用 load_file来读取flag 1 or updatexml(1,concat(0x7e,load_file("/flag"),0x7e),1