强网杯青少年杯初赛wp
战队信息
战队名称:Rml
战队排名:5
解题情况
解题过程
web
web1
CVE-2021-41773,payload直接打
misc
misc1
base64解密后得到一张图片,但是每两个字节被换了位置
修复脚本
1 |
|
得到hint密钥就是音乐的财富密码
,加上题目描述你知道万能和弦是什么吗?
,得到4536251
lsb解密得到flag
misc2
赛后复现
祥云杯shuffle_code
的后半部分
按行打乱了
网上的爆破脚本
1 |
|
misc3
binwalk分理出一个压缩包
还是lsb解密,密码在图片结尾,7his_1s_p4s5w0rd
reverse
re2
通过gdb动态调试获取地图的全貌
0层
0 1 1 1 1 1 1 1
0 0 0 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1层
1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
2层
1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 1
3层
1 1 1 1 1 1 1 1
1 1 0 0 1 1 1 1
1 1 1 0 1 1 1 1
1 1 1 0 1 1 1 1
1 1 1 0 1 0 1 1
1 1 1 0 1 1 1 1
1 1 1 0 0 0 1 1
1 1 1 1 1 1 1 1
4层
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
5层
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
6层
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 0
7层
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 0 1 1
1 1 1 1 1 1 1 0
511=64*7+63
所以程序要求从第0层的开头走到第7层的结尾
分别通过a-下,b-上,l-左,r-右,u-下一层,d-上一层
进行移动
input: arruuuraaaaarrdbbuuuuuaadrrau
flag:flag{6c2a5b75-232d-26ea-c3cc-8f7a924d7357}
pwn
pwn2
利用创建chunk
时的off by null
漏洞,通过chunk3
设置chunk4
的inuse
位为0
,这样在释放chunk4
时就会触发unlink
利用unlink
,在chunk_list
中写入chunk_list
的地址,这样可以达到任意地址读写,需要在合并之前将chunk3
的fd->bk
与bk->fd
指向chunk3
,chunk3->fd
与chunk3->bk
,就为chunk_list
上的地址
然后因为程序中strlen
和free
都是以chunk
为第一个参数,所以可以通过修改got表
内free
的内容为plt表
中的puts
,来获取chunk3
的fd
字段,计算得到libc
地址,通过修改got表
中的strlen内容
为system
地址 执行system("/bin/sh")
1 |
|
crypto
crypto1
只有A,B和空格,明显是摩斯
将A
替换成-
,B
替换成.
,空格
替换/
解密脚本
1 |
|
cryptography is the practice and study of techniques for secure communication in the presence of adversarial behavior, which is divided into classical cryptography and modern cryptography. the main classical cipher types are transposition ciphers, which rearrange the order of letters in a message. an early substitution cipher was the caesar cipher, in which each letter in the plaintext was replaced by a letter some fixed number of positions further down the alphabet. since the development of rotor cipher machines in world war i and the advent of computers in world war ii, cryptography methods have become increasingly complex and its applications more varied. modern cryptography is heavily based on mathematical theory and computer science practice; cryptographic algorithms are designed around computational hardness assumptions. the growth of cryptographic technology has raised a number of legal issues in the information age. cryptography's potential for use as a tool for espionage and sedition has led many governments to classify it as a weapon and to limit or even prohibit its use and export. in some jurisdictions where the use of cryptography is legal, laws permit investigators to compel the disclosure of encryption keys for documents relevant to an investigation. cryptography also plays a major role in digital rights management and copyright infringement disputes in regard to digital media.the flag is 1d817f23-4e20-9405-bf6d-e83d055316d6, please add flag string and braces yourself, and all letters are lowercase.
得到flag:1d817f23-4e20-9405-bf6d-e83d055316d6
crypto2
将题目给出的字符串进行栅栏后发现与flag形式接近
根据flag的格式发现整个字符串需要异或32,根据题目描述的uuid格式,发现flag中小写的l
为-
,所以原先小写的字符在异或32的基础上还要减去31
解题脚本
1 |
|