BUGKU_CTF- Flask_FileUpload && 1和0的故事
1.Flask_FileUpload
<1>进入Flask_FileUpload环境 ,查看网页源代码![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/b005bd34a1162de50a4155acc4740dd8.png)
出现
— Give me the file, and I will return the Running results by python to you!(显示将要返回以python运行的结果给你,意思让你在文件中写入一个python代码,然后拿到它的flag)
– accept=".jpg,.png" 表示上传只能接受以 jpg // png格式为后缀名的文件
<2>建立一个文本文档在里面写上如下代码(cat后面有一个空格),再更改后缀名为jpg或png(注意文件名一定不能是中文,不然会报错)
import os
os.system('cat /flag')
<3>上传建立的 jpg或png文件,F12打开开发者模式,拿到flag
是不是很简单^__^
1和0的故事
<1>下载题目给出的文件,打开后是0/1字节码,第一时间想到可能是要转二维码,于是用python相关代码转换
<2>写入以下python代码,运行后得到一个残缺二维码,可以用Windows自带的3D画图补齐,也可以用PS(我是PS小白…QAQ…)
from PIL import Image
MAX = 25
#二维码大小
pic = Image.new("RGB",(MAX, MAX))
str = """用题目给的01片段替换该段文字"""
# str为获取的01片段
i=0
for y in range (0,MAX):
for x in range (0,MAX):
if(str[i] == '1'):
pic.putpixel([x,y],(0, 0, 0))
else:
pic.putpixel([x,y],(255,255,255))
i = i+1
pic.show()
pic.save("QRcode.png")
# 得到一段清晰度很低,且残缺的二维码,下载二维码之后可以用 Windows自带的 3D画图 自行补齐
<2>扫描绘制出的二维码,拿到flag(bing-go)
flag{QR_c0de_1s_1nterest1n9}