资讯专栏INFORMATION COLUMN

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

smallStone / 865人阅读

摘要:当后端程序通过不正确的正则表达式比如将之后到为止的字符内容,也就是,认为是访问请求的地址时对上述的内容进行解析的时候,很有可能会认为访问的为,而实际上这个所请求的内容都是上的内容。

Misc

1.相信光

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

2.简简单单

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

3.real_checkin

拖进010

一串base,直接拖进cyberchef一把梭即可,base32解码得到flag

这个二维码不太行

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

miscmisc

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

SilentEye

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

hidden

docx,全选把字变红色就能看到密码

还不知道有啥用,zsteg看看

一个链接,处理下打开是个解密图片隐藏数据的,结合密码,解开即可得到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 reimport osimport requestsimport tornado.webimport tornado.genimport tornado.ioloopimport tornado.autoreloadfrom tornado.concurrent import run_on_executorfrom concurrent.futures import ThreadPoolExecutordef 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 Trueclass 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
                 
                   
              
  
最新活动
阅读需要支付1元查看
<