[CTF]GUET梦极光杯线上赛个人WP

Misc

1.相信光

gif分离,有两张有二维码,随便扫了一张就出了

2.简简单单

压缩包,解压,再解压,有密码,爆破得到7788,查看文件头,png文件,改格式,一张二维码,扫描即可

3.real_checkin

拖进010
[CTF]GUET梦极光杯线上赛个人WP_第1张图片
一串base,直接拖进cyberchef一把梭即可,base32解码得到flag
[CTF]GUET梦极光杯线上赛个人WP_第2张图片

这个二维码不太行

盲猜补定位符,但是图片很短,010里改高度补齐定位符然后扫码即可

miscmisc

图片叫做password,右键属性就看到密码,然后解开压缩包,1.txt是社会主义核心价值观编码,找个在线网站梭就行,得到一半的flag,png改高度就能看到另一半flag

SilentEye

题目名字就给出答案了,用SlientEye把图片解密一下就出flag

hidden

docx,全选把字变红色就能看到密码
[CTF]GUET梦极光杯线上赛个人WP_第3张图片
还不知道有啥用,zsteg看看
[CTF]GUET梦极光杯线上赛个人WP_第4张图片
一个链接,处理下打开是个解密图片隐藏数据的,结合密码,解开即可得到flag

misceasy

爆破得到

misceasy.docx:$office$*2013*100000*256*16*bbf9fac88ca2ed85818e65d802ca47d8*72a41d3207adaea281cf197e7ea107f3*b5aeec3219919e56893255507644e75f067594ca13045de3e53ee45747965051

然后用hashcat爆破,懒得爆了。根本不需要
直接软件爆破得到密码51,改文字颜色即可,有点无语

WEB

checkin

F12看到传个cat就能拿flag

Upload

.user.ini

auto_append_file="xxx"

传xxx


这里大小写绕过过滤就行,过滤得不怎么严格
然后访问/upload/xxxx/,没什么问题用蚂蚁的一把剑连接即可拿到flag

Backdoor

代码混淆,网站一把梭

https://www.zhaoyuanma.com/phpjm.html

得到他的一句话慕码,应该是这样,有点忘了 连上去就拿到flag

SSRF

看源码

import re
import os
import requests
import tornado.web
import tornado.gen
import tornado.ioloop
import tornado.autoreload
from tornado.concurrent import run_on_executor
from concurrent.futures import ThreadPoolExecutor


def request(url):
    # 对url做限制,必须要带域名,且去掉所有可以用的协议,包括dict、gohper、file协议
    res = re_pattern(url)
    if res == False:
        return "请求地址未包含域名,危险地址"
    resq = requests.get(url, timeout=4)
    return resq.content.decode()


def re_pattern(url):
    pattern = r"http.*://[a-zA-Z]*\.[a-zA-Z]*\.[a-zA-Z]*"
    result = re.match(pattern, url)
    if result is None:
        return False
    else:
        return True


class SsrfHandler(tornado.web.RequestHandler):
    max_thread_num = 200
    executor = ThreadPoolExecutor(max_workers=max_thread_num)

    # 线程内处理
    @run_on_executor
    def get(self):
        try:
            url = self.get_query_argument("url")
            response = request(url)
            self.write(response)
        except Exception as e:
            print(e)


class FlagHandler(tornado.web.RequestHandler):
    def get(self):
        print(self.request.remote_ip)
        if self.request.remote_ip != "127.0.0.1":
            if self.request.remote_ip == "::1":
                self.write("No ip address")
            else:
                self.write("No have permissions")
        else:
            self.write(os.environ.get('FLAG'))


class IndexHandler(tornado.web.RequestHandler):
    def get(self):
        self.finish("welcome to GUET CTF
                    

你可能感兴趣的:(CTF,python,php)