第一次代表单位参赛,没想到这么卷,但是题目难度整体上说不太大,针对的主要是取证方向的内容,冲了一天,还是在最后几分钟被卷死了。这里把自做出来的一些题目思路更新上来
Contents
- 1 题目名称:签到
- 2 题目名称:JWT
- 2.1 操作内容:
- 2.1.1 2.1 该网站使用了______认证方式。(如有字母请全部使用小写)
- 2.1.2 flag值
- 2.1.3 2.2 黑客绕过验证使用的jwt中,id和username是______。(中间使用#号隔开,例如1#admin)
- 2.1.4 flag值
- 2.1.5 2.3 黑客获取webshell之后,权限是______?
- 2.1.6 flag值
- 2.1.7 2.4 黑客上传的恶意文件文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
- 2.1.8 flag值
- 2.1.9 2.5 黑客在服务器上编译的恶意so文件,文件名是_____________。(请提交带有文件后缀的文件名,例如x.so)
- 2.1.10 flag值
- 2.1.11 2.6黑客在服务器上修改了一个配置文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)
- 2.1.12 flag值:
- 2.1 操作内容:
- 3 题目名称:webshell
- 3.1 操作内容:
- 3.1.1 3.1黑客登录系统使用的密码是_____________。
- 3.1.2 flag值
- 3.1.3 3.2 黑客修改了一个日志文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)
- 3.1.4 flag值
- 3.1.5 3.3 黑客获取webshell之后,权限是______?
- 3.1.6 flag值
- 3.1.7 3.4 黑客写入的webshell文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
- 3.1.8 flag值
- 3.1.9 3.5黑客上传的代理工具客户端名字是_____________。(如有字母请全部使用小写)
- 3.1.10 flag值
- 3.1.11 3.6黑客代理工具的回连服务端IP是_____________。
- 3.1.12 flag值
- 3.1.13 3.7 黑客的socks5的连接账号、密码是______。(中间使用#号隔开,例如admin#passwd)
- 3.1.14 flag值
- 3.1 操作内容:
- 4 题目名称:webshell
- 5 题目名称: 流量分析
- 6 题目名称: 内存取证
- 7 题目名称: 简单日志分析
- 8 题目名称:SQL注入
- 9 题目名称:ios
- 9.1 操作内容:
- 9.1.1 10.1 黑客所控制的C&C服务器IP是_____________。
- 9.1.2 flag值
- 9.1.3 10.2黑客利用的Github开源项目的名字是______。(如有字母请全部使用小写)
- 9.1.4 flag值
- 9.1.5 10.3通讯加密密钥的明文是____________。
- 9.1.6 flag值
- 9.1.7 10.4 黑客通过SQL盲注拿到了一个敏感数据,内容是____________。
- 9.1.8 flag值
- 9.1.9 10.5 黑客端口扫描的扫描器的扫描范围是____________。(格式使用“开始端口-结束端口”,例如1-65535)
- 9.1.10 flag值
- 9.1.11 10.7黑客访问/攻击了内网的几个服务器,IP地址为____________。(多个IP之间按从小到大排序,使用#来分隔,例如127.0.0.1#192.168.0.1)
- 9.1.12 flag值
- 9.1.13 10.8黑客写入了一个webshell,其密码为____________。
- 9.1.14 flag值
- 9.1 操作内容:
题目名称:签到
操作内容:
分析攻击方式,分析流量,大量的HTTP访问同一页面,达到泛洪攻击的目的
flag值:
http
题目名称:JWT
操作内容:
2.1 该网站使用了______认证方式。(如有字母请全部使用小写)
根据题目名称分析,认证方式为JWT方式
flag值
jwt
2.2 黑客绕过验证使用的jwt中,id和username是______。(中间使用#号隔开,例如1#admin)
注意是黑客绕过验证的jwt,分析一下黑客绕过的数据包,应该是上传webshell的时候进行的绕过,分析一下,因为题目是jwt认证,所有的用户信息都在token内存储
分析一下exec页面的token
解码数据发现id和用户名
flag值
10087#admin
2.3 黑客获取webshell之后,权限是______?
获取权限查看关键词whoami的数据包
权限为root
flag值
root
2.4 黑客上传的恶意文件文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
分析一下上传页面的数据包进行分析,发现存在,rename操作原文件名称为1.c
flag值
1.c
2.5 黑客在服务器上编译的恶意so文件,文件名是_____________。(请提交带有文件后缀的文件名,例如x.so)
根据获取上到题目获取到的.c文件后,向后查看数据流looter.c,同时发现make、makefile等操作,分析一下数据,发现生成的拓展文件
文件为looter.so
flag值
looter.so
2.6黑客在服务器上修改了一个配置文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)
根据数据流进行分析,
发现cat操作,追踪详细数据包,发现内容
flag值:
/etc/pam.d/common-auth
题目名称:webshell
操作内容:
3.1黑客登录系统使用的密码是_____________。
根据关键词检索,直接查看password词汇,发现访问的流量记录
将传输的数据解码一下
flag值
Admin123!@#
3.2 黑客修改了一个日志文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)
提示题目修改的是日志文件,检索一下关键词.log
检索一下详细的数据流
找到日志位置,根据题目提示为绝对路径,拼接数据
/var/www/html/data/Runtime/Logs/Home/21_08_07.log
flag值
/var/www/html/data/Runtime/Logs/Home/21_08_07.log
3.3 黑客获取webshell之后,权限是______?
分析一下数据流
看到了返回的权限,权限用户为www-data
flag值
www-data
3.4 黑客写入的webshell文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
根据数据流可以直接分析出,执行webshell的页面为 /1.php,所以文件后缀名为1.php
flag值
1.php
3.5黑客上传的代理工具客户端名字是_____________。(如有字母请全部使用小写)
分析数据流,在shell在执行查看当前目录下文件的时候发现存在frpc及frpc.ini的配置文件,可以推测黑客上传的代理工具客户端名字是frpc
flag值
frpc
3.6黑客代理工具的回连服务端IP是_____________。
根据数据分析,回连服务器IP应该在配置文件当中,查看一下数据流,将传输的数据进行解码分析
代码中讲POST数据的前两位去除进行base64解密执行命令,理解命令之后分析一下数据
发现该数据包是对frpc.ini进行操作,解码后面的hex
发现题目需要的IP
flag值
192.168.239.123
3.7 黑客的socks5的连接账号、密码是______。(中间使用#号隔开,例如admin#passwd)
根据上一个关卡发现的配置信息,构造答案
plugin_user = 0HDFt16cLQJ
plugin_passwd = JTN276Gp
flag值
0HDFt16cLQJ#JTN276Gp
题目名称:webshell
操作内容
4.1网络存在源码泄漏,源码文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
题目提供的是.log文件,使用notepad++进行urldecode,由于题目提示存在源码泄露,直接搜索常见的源码泄露名称
.git
www.zip
根据日志结构可以知道404为网页不存在 200为可以正常访问,搜索其他文件发现都为404,搜索www.zip
发现www.zip是存在的,证明文件泄露为www.zip
flag值
www.zip
4.2分析攻击流量,黑客往/tmp目录写入一个文件,文件名为_____________。
将日志拉到最后进行分析,发现存在反序列化执行的操作,写入到tmp的文件名为sess_car
flag值
sess_car
4.3 分析攻击流量,黑客使用的是______类读取了秘密文件。
题目询问使用哪个类进行读取,分析反序列化的payload
a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";}
发现利用的类为SplFileObject
flag值
SplFileObject
题目名称: 流量分析
操作内容:
5.1攻击者的IP是_____________。
导出数据流进行分析,发现都是内网的IP数据,回到流量包逐一查看数据流的信息
查看第85条流的数据,发现与其他数据流返回效率及次数不同
对比数据流发现,85号流的交互数据比正常交互数据都多,证明85号流所在的ip进行的访问为不当访问,查看数据流的ip
ip为172.18.0.125
flag值
172.18.0.125
题目名称: 内存取证
操作内容:
6.1虚拟机的密码是_____________。(密码中为flag{xxxx},含有空格,提交时不要去掉)
题目给的是一个vmem镜像,可以使用volatility进行分析,同时需要让我们获取密码,这里可以用volatility的插件进行获取mimikatz
Volatility Foundation Volatility Framework 2.5
Module User Domain Password
-------- ---------------- ---------------- ----------------------------------------
wdigest CTF WIN-QUN5RVOOF27 flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}
wdigest WIN-QUN5RVOOF27$ WORKGROUP
flag值
flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}
6.2虚拟机中有一个某品牌手机的备份文件,文件里的图片里的字符串为_____________。(解题过程中需要用到上一题答案中flag{}内的内容进行处理。本题的格式也是flag{xxx},含有空格,提交时不要去掉)
根据题目提示首先查看一下桌面文件的信息
根据题目提示发现华为手机的信息,使用dumpfiles等命令进行分离
根据虚拟内存分离exe程序,执行exe程序后分离出压缩包
images0.tar.enc
发现enc文件
百度发现是华为的备份加密文件,找到文章及相应工具
分离一下获取到的文件夹,使用github脚本进行解密,第一题获取到的flag即为解压密码,同时根据提示
分理出tar包文件,解压获取flag
flag值:
flag{TH4NK Y0U FOR DECRYPTING MY DATA}
题目名称: 简单日志分析
操作内容:
7.1黑客攻击的参数是______。(如有字母请全部使用小写)
根据日志分析发现攻击参数为user
flag值
user
7.2 黑客查看的秘密文件的绝对路径是_____________。
对user传输的数据进行base64解密
发现绝对路径
/Th4s_IS_VERY_Import_Fi1e
flag值
/Th4s_IS_VERY_Import_Fi1e
7.3黑客反弹shell的ip和端口是_____________。(格式使用“ip:端口”,例如127.0.0.1:2333)
分析最后一条数据包
找到攻击的ip和端口
flag值
192.168.2.197:8888
题目名称:SQL注入
操作内容:
8.1黑客在注入过程中采用的注入手法叫_____________。(格式为4个汉字,例如“拼搏努力”)
查看日志i进行分析
根据获取的数据来看,sql注入的方式是无回显的盲注,专业名次为布尔盲注
8.2黑客在注入过程中,最终获取flag的数据库名、表名和字段名是_____________。(格式为“数据库名#表名#字段名”,例如database#table#column)
查询database(),发现数据库名称为sqli,查询table_name,
发现表名为flag,根据注入语句,发现flag列为flag,最后拼接:
sqli#flag#flag
flag值
sqli#flag#flag
8.3黑客最后获取到的flag字符串为_____________。
根据sql日志进行分析,构造正则表达式分离关键数据
可以通过手工查看的形式获取一部分flag
flag{deddcd67
或者通过脚本的形式
with open('pay.txt','r') as f:
s = f.readlines()
flag = ""
for i in range(len(s)):
try:
if (int(s[i+1][11:13])-int(s[i][11:13])) == 1 or (int(s[i+1][36:38])-int(s[i][36:38])) == 2:
flag += s[i][46]
print flag
if s[i][47] == "\'":
flag +=s[i][48]
except Exception as e:
pass
print flag.replace('\'','')
#cd670bcfd0487e0b94001217e668c7d
由于python无法将“_”输出,输出结果变为0,根据二次检测进行构造
cd67-bcfd-487e-b940-1217e668c7d
最后查看flag最后一位,为b,构造flag
flag{deddcd67-bcfd-487e-b940-1217e668c7db}
flag值
flag{deddcd67-bcfd-487e-b940-1217e668c7db}
题目名称:ios
操作内容:
10.1 黑客所控制的C&C服务器IP是_____________。
首先了解CC服务器IP,其实本质上就是内网——>vps——>内网,我们作为端口转发或者作为shell的server端的vps就是CC服务器,分析一下流量包
根据流量包中传输的数据,以及详细数据流,发现连接服务器的信息,确认CC服务器IP为:3.128.156.159
flag值
3.128.156.159
10.2黑客利用的Github开源项目的名字是______。(如有字母请全部使用小写)
在流量包中搜索关键词github
查询关键数据流
找到github项目名称 Stowaway
flag值
stowaway
10.3通讯加密密钥的明文是____________。
根据在数据包发现的连接信息,找到连接密码
hack4sec
flag值
hack4sec
10.4 黑客通过SQL盲注拿到了一个敏感数据,内容是____________。
将keylog.txt导入到TLS流内
数据流中出现新的数据,分离出HTTP2进行分析
发现sql注入的流量,导出csv进行分析
导出列名进行分析
根据跳转位数分析flag,首先使用正则表达式
分析数据,撰写脚本
with open('pay_2.txt','r') as f:
s = f.readlines()
flag = ""
for i in range(len(s)):
try:
if (int(s[i+1][60])-int(s[i][61])) == 1 or (int(s[i+1][10:12])-int(s[i][10:12])) == 1:
flag += s[i][29:31]
print flag
if '\"' in s[i][29:31]:
flag +=s[i][28:30]
# if s[i][30:31] == '\"':
#flag +=s[i][28:30]
except Exception as e:
pass
print flag.replace('\'','')
#633834312D343536622D383564372D6436633066326564616262325A5A5A
#c841-456b-85d7-d6c0f2edabb2
剩下的数据手动分析一下
746558f3- #37343635353866332D
拼接获取真正的数据
746558f3-c841-456b-85d7-d6c0f2edabb2
flag值
746558f3-c841-456b-85d7-d6c0f2edabb2
10.5 黑客端口扫描的扫描器的扫描范围是____________。(格式使用“开始端口-结束端口”,例如1-65535)
分离出192.168.1.8的IP进行分析,对info的信息分析,发现规律排序
相同数据到499戛然而之,猜测是在进行端口扫描,且端口范围为10-499
flag值
10-499
10.7黑客访问/攻击了内网的几个服务器,IP地址为____________。(多个IP之间按从小到大排序,使用#来分隔,例如127.0.0.1#192.168.0.1)
首先access_log中:
首先是:172.28.0.2
其次分析流量包导出的数据
最后数据为:192.168.1.12
flag值
172.28.0.2#192.168.1.12
10.8黑客写入了一个webshell,其密码为____________。
根据日志分析得到webshell为ma.php,密码为fxxk
flag值
fxxk