CUMT平台的部分题解

本文记录了作者在矿大bxs平台完成的CTF挑战,涉及编码解码、DNS解析、Web漏洞、图片隐写等多个方面。通过解密、抓包、源码分析等方式获取flag,包括利用hosts文件、查看网页背景、JavaScript调试、HTTP头部信息等技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近在上网路安全实验课程的时候,其中一个任务就是完成这里面的题目,我还是记录一下吧, ,到时候补充到实验报告里面

basic部分

decode

这个题目下载之后是一个压缩包,但是里面什么东西也没有,于是放进HXD里面查看是否有其他的东西,打开发现十六进制编码,用Hackbar解码得到flag
ilTbin.md.png
ilTLR0.md.png

白驹过隙

题目的意思是说快,打开页面就会发现错过了flag之类的操作,肯定是存在跳转,老题目要么就抓包,要么就curl一下,这里我选择用vps来curl一下这个网址,直接出flag
ilTjMT.md.png

齐白石

这尼玛我感觉这是异形。。关齐白石什么事。。。根据提示先把图片在16进制编辑器打开看一下
,拉到最后一行发现flag
ilTvsU.md.png

encode

打开文件会发现一堆混淆,怀疑是js混淆,然后放进火狐的js调试器里面直接执行就出现flag了
ilTxLF.md.png

DNS解析

这个题目就是考了Windows下面的一个DNS解析的hosts文件,其实这是个历史遗留问题,就是每次要去经过DNS解析的时候都会默认先去找一下这个host文件里面的相关域名所对应的ip就会免去查上层DNS服务器里面的东西,所以我们只要在hosts文件下面添加,这一行,然后输入题目对应的的域名即可
host文件的目录:C:\Windows\System32\drivers\etc\hosts

il7pdJ.md.png
il79o9.md.png

forfun2

这题也是骚气,我他喵一直查看源代码都没找到,结果我在原网页上点击了查看背景图片,就出现flag了受不了。。。这题有点坑。。以前都没试过网网页图片上隐藏信息想。。。。
il7PiR.md.png

forfun

这个题目就是一直右击查看源代码,找到flag为止,flag在其中的这个页面下如图
il7iJ1.md.png
进去之后用ctrl+f找到对应的flag
il7FRx.md.png

签到1

打开题目让我们check the source code !!,点击右键查看源代码发现一段base64,解码得到flag{this_is_so_easy_is_it?}
il7EQK.md.png

签到2

打开网站发现http header!!!
然后F12去看看http头部的信息,发现flag
il7VsO.png

超简单的密码

这一个题目很明显的提示,注意看键盘很显然这是个键盘密码,从键盘上翻译一下就好得到
flag{isee}

滑稽

下载下来是一个ppt,ppt里面没发现些什么,但是这个东西是需要解密的
然后放到16进制编辑器里面看一下发现有zip包的文件头,于是就开始把这个文件后缀改为zip打开
il7ndH.png

在里面找到一个很奇怪的图片文件,其余的图片都能显示就他不能,放进16进制编辑器看一下发现ppt的base64加密的密码,解开之后就是ppt密码cumt2017ctf
il7uod.md.png
再把文件后缀改为ppt,输入密码,移动一下ppt就发现flag了
il7MFA.md.png

Fast 30

这明显就是一个脚本题,叫你2s内post你发现的东西,可以在http header里面发现有个flag选项想必就是把这个东西给post上去,参数是key,下面是我写的脚本
il7QJI.png

#!/usr/bin/python
# Author:0verWatch
# coding:utf-8


import requests

url = 'http://web.bxsteam.xyz/fast/'
req = requests.Session()

ans = req.get(url)

param =  ans.headers['Flag']

flag = req.post(url,data={
   'key':param})

print flag.content

得到flag
il78Qf.png

web

源代码

这个题目是查找页面的元素,打开之后发现一段可疑的信息其实就是把里面的中文字体去掉就是flag
il7Gy8.md.png

colorSnake

这个题目还是很有意思的,虽然要写个脚本当然你也可以手动去执行。。。这个进去就是一个小游戏,点击右键查看源码后发现显示分数的地方id是score,查看他的源代码发现还存在一个game.js的代码脚本,于是立即在里面搜关于score的信息
然后发现了这样的一段代码,同时发现一个很可疑的php代码,这里面有个xhr,介绍一下xhr,xhr叫XMLHttpRequest ,XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。
il7NwQ.md.png

也就是去访问这个页面的功能,我也去访问,发现有json格式的东西,把里面的msg部分的内容unicode解码,发现提示,这么久才吃到一个,零分!可以猜到应该是用这个去访问页面去增加得分,每刷新一下这个页面发现score加一了,但是刷新的太快又会重新置0,所以我就写了个小脚本

#!/usr/bin/python
# Author:0verWatch
# coding:utf-8


import requests
import json
import time

url = 'http://202.119.201.199/challenge/web/colorSnake/getScore.php'
req = requests.Session()

for i in range(0,55):    #怕会出现重新置零的现象,因此设置的数比50大
	time.sleep(1)    #用于延时
	ans = req.get(url)
	msg = json.loads(ans.content)['msg']
	print json.loads(ans.content)['score'],msg.encode('utf-8')

最后得到flag
il7dFs.png

备份

备份这个题目感觉也是一个脚本题目,一进去题目就提示There are too much baks in the website ,can you find the flag in these baks?,说明我们要遍历多个bak文件并且读取里面的内容。。。只要get请求就能下在相关bak文件了
il7DS0.md.png
直接放上我写的脚本。。。

#!/usr/bin/python
# Author:0verWatch
# coding:utf-8

import requests


url = "http://202.119.201.199/challenge/web/code/{num}.bak"
res = requests.Session()



for i in range(0,1500):      #开大点无所谓
	payload = url.format(num=i)
	#print payload
	ans = res.get(payload)
	file_name = '{_}.bak'.format(_=i)
	#print file_name
	with open(file_name, "wb") as code:
   		file_content = code.write(ans.content)
   		code.close()
   	print file_name
   	f = open(file_name,'rb')
   	read_content = f.read()
   	if 'flag' in read_content:  		
   		print read_content
   		break
   	else:
   		print 'Waiting!!!!!'
   	f.close()

结果应该是第998个bak文件里面有flag
il7gw4.png

上传一

打开页面让我们上传图片文件,尝试用bp抓包发包
发现
il72TJ.png
所以就是让我们上一个可执行的文件,那就尝试把后缀名改名为php,然后就得到两个flag了,这太水了吧,这题还送一个flag。。。。上传二也秒掉了
il7Wk9.md.png

上传二

其实也是上传一的页面,这个题目其实想要修改的是Content-Type:这个参数,由于我上一题是直接上传一个图片上去的,这样一来就导致直接出来两个flag,这题只要是Content-Type: image/jpeg这个类型就可以出flag,如果一开始你上传一上传的不是图片的话,而是一般的文件流的话们这里的Content-Type显示的是application/stream之类的东西,就不会两个flag出来的
il7hf1.png

Cookie?

页面请求以管理员身份进行登录,尝试用bp抓包查看
把包里面cookie里面的值改一下,一开始是guest,我们改成admin,发包
得到下面这个页面
il7Il6.png
有个key还有个密文,猜测是应该是维吉尼亚密码,把该网页中的图片拖到百度识图识别一下,果然是维吉尼亚。。。
il7o6K.md.png

然后我们可以在线解密,我们可以去这个页面 http://ctf.ssleye.com/vigenere.html 进行维吉尼亚密码解密
得到flag

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值