本博客为西南石油大学(南充校区)CTF团队赛的题解

所有题目网址:http://47.106.87.69:9000/game

今天我是流泪狗狗头

解压后发现压缩包中是一个带有密码的图片,winhex分析二进制,发现文件数据区的全局加密为00 00,但压缩源文件目录区的全局方位标记为09 00,可知为伪加密,更改为00 00即可在解压出图片,再用notepad打开即可发现藏在文件末尾的flag

你知道啥是机器人吗?

打开./robots.html即可发现flag

我说这是签到题你信吗

放大后即可发现flag

星座之谜

甲子纪年法,60一甲子,把年份对应成数字为

5 7 28 6 20 21 21 19,然后根据+甲子,再加上60即为

65 67 88 86 80 81 81 79

都在A-Z的范围,翻译提交不正确,可猜测还有字符加密,通过栅栏解密,再分别凯撒解密,即可得到最后flag

出题人正在学前端

wireshark或者brupsuite抓包即可,也可以禁止网页js达到进制页面跳转的效果。

简单信息检索

枚举不同组合即可

有趣的GIF

跑一下发现文件下面还有一个GIF文件,分离出来,然后再分帧找到最后一句话即可得到flag

嘤嘤嘤

js代码aaencode加密

控制台跑一下即可

Eazy_android

修改apk为rar文件,解压得到classes.dex文件,然后丢jadx-gui分析源码即可得到flag

简单MD5

写个脚本跑一下即可,脚本如下

import hashlib

# 明文为: djas?djashkj?as?ad
# 密文为 : 765781f???2485b8b727ce3c???d0e90 str1 = 'djas'
str2 = 'djashkj'
str3 = 'as'
str4 = 'ad' #遍历所有字符
res = ['', '', '', '', '', '', '', '', '', '', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] def getMd5(plaintext):
md5Object = hashlib.md5()
md5Object.update(str(plaintext).encode("UTF-8"))
return md5Object.hexdigest() for i in res:
for j in res:
for k in res:
plaintext = str1 + i + str2 + j + str3 + k + str4 # 拼接明文字符串
print (plaintext + " ",end = " ")
md5 = getMd5(plaintext)
print (md5)
# 判断是否成功
if md5.startswith('765781f') and md5.endswith('d0e90'):
print ('Flag is : spctf{' + md5 + '}')
exit(0)

图片很好看

看着像二维码,对比一下发现颜色反了,Stegsolve打开相反色扫描即可得到Flag

这是一道RE

基础python反汇编,通过https://tool.lu/pyc/得到源码,然后编写解密脚本即可得到Flag

import base64

def decode(message):
message = base64.b64decode(message)
s = ''
for i in message:
x = int(i) - 16
x = x ^ 32
s += chr(x)
return s correct = 'Y2BTZFZrWY9kWFleW49ZJ48hY49VUWppbQ==' print(decode(correct))

出题人学完前端了

既让pass变量和thepassword_123变量相等即可,所以通过POST传参使得两变量相等即可得到flag

Are u ok?

Ook编码解密即可得到Flag

QWER

abcd对应qwer即可得到Flag

Crack Me

ReversingKr原题,自行百度

F5一把梭

ReversingKr原题,自行百度

高级信息检索

右下角水印找到原微博即可在评论区找到Flag

又是一个签到题

分析二进制发现有ZIP文件结尾,但是文件开头PK改成了PL,改为PK即可找到隐藏压缩包中的FLAG文件

又是一个Zip

编写脚本异或两文件即可得到Flag,脚本如下

import binascii
import struct def str2hex(str):
hexs = []
for s in str:
tmp = (hex(ord(s)).replace('0x',''))
if len(tmp) == 2:
hexs.append(tmp)
else:
hexs.append(''+tmp)
return hexs arr = ['','','','','','','','','','','a','b','c','d','e','f']
arr2 = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15] def tran(r):
for i in range(len(arr)):
if r == arr[i]:
return arr2[i] f = open('A','rb')
f2 = open('B','rb')
hexs = []
hexs2 = []
while True:
t = f.readline()
t2 = f2.readline()
if not t or not t2:
break
hexs.extend(str2hex(t))
hexs2.extend(str2hex(t2))
f.close()
f2.close() ff = open('out.txt','wb')
for i in range(min(len(hexs),len(hexs2))):
a = tran(hexs[i][0])*16+tran(hexs[i][1])
b = tran(hexs2[i][0])*16+tran(hexs2[i][1])
B = struct.pack('B',a^b)
ff.write(B)
ff.close()

平面坐标系

群文件有WP,不再写

SWPU CTF题解的更多相关文章

  1. There only 10 people use the same phone as you(i春秋CTF题解)

      (1)访问网址进行CTF测试,仅出现登陆与注册的页面 (2)进行注册尝试登陆并进行burp抓取数据包: (3)注册成功,进行登陆尝试查看信息是否具有提示,在登录的页面只有两个点击页面,一个为:Ch ...

  2. there is nothing(i春秋CTF题解)

      (1)打开页面,显示为:there is nothing (2)抓包发现提示 (3)hint:ip,Large internal network 意为最大的内网网段IP,hint: ip,Larg ...

  3. bugku sql2

    sql注入2 200 http://123.206.87.240:8007/web2/ 全都tm过滤了绝望吗? 提示 !,!=,=,+,-,^,%

  4. 一道简单的CTF登录题题解

    一.解题感受 这道题50分,在实验吧练习场算比较高分,而且通过率只有14%,比较低的水平. 看到这两个数据,一开始就心生惬意,实在不应该呀! 也是因为心态原因,在发现test.php之后,自以为在SQ ...

  5. swpu新生赛ctf wp

    WEB:gift_F12 没啥好说的 直接F12得了 NSSCTF{We1c0me_t0_WLLMCTF_Th1s_1s_th3_G1ft} RE 简简单单的解密 import base64, url ...

  6. 2019广东外语外贸大学CTF新手赛-密码学-RSA题解

    题面 n=100000463700003241 e=17 密文: 分析: 题面已明示是RSA加密,已公开n与公钥e,n为1e18内的数字(64位).要爆破RSA,显然是先分析n的值. n的值是由两个素 ...

  7. CTF比赛中SQL注入的一些经验总结

    ctf中sql注入下的一些小技巧 最近花了一点时间总结了各大平台中注入的trick,自己还是太菜了,多半都得看题解,就特此做了一个paper方便总结 注释符 以下是Mysql中可以用到的单行注释符: ...

  8. 华南师大 2017 年 ACM 程序设计竞赛新生初赛题解

    题解 被你们虐了千百遍的题目和 OJ 也很累的,也想要休息,所以你们别想了,行行好放过它们,我们来看题解吧... A. 诡异的计数法 Description cgy 太喜欢质数了以至于他计数也需要用质 ...

  9. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

随机推荐

  1. c# NPOI 导出23万条记录耗时12秒

    先上测试代码: string connectionString = "Server=localhost;Initial Catalog=******;User ID=sa;Password= ...

  2. 100天搞定机器学习|day40-42 Tensorflow Keras识别猫狗

    100天搞定机器学习|1-38天 100天搞定机器学习|day39 Tensorflow Keras手写数字识别 前文我们用keras的Sequential 模型实现mnist手写数字识别,准确率0. ...

  3. 【原】iOS查找私有API

    喜接新项目往往预示的会出一堆问题.解决问题的同时往往也就是学到更多东西的时候,这也许就是学习到新东西最直接最快速的方法吧! 小编经过努力,新项目终于过测试了,可是被苹果大大给拒了,好苦啊,最近的审核真 ...

  4. ansible批量自动配置Juniper

    一.需求 有几台新上线的Juniper,需要批量配置下syslog,ntp,snmp基础配置 二.拓扑 三.实施步骤 1.读取配置并输出作为初步核查 2.把配置载入网络其中一台网络设备中,并做一个sh ...

  5. 行车记+翻车记:.NET Core 新车改造,C# 节能降耗,docker swarm 重回赛道

    非常抱歉,10:00~10:30 左右博客站点出现故障,给您带来麻烦了,请您谅解. 故障原因与博文中谈到的部署变更有关,但背后的问题变得非常复杂,复杂到我们都在怀疑与阿里云服务器 CPU 特性有关. ...

  6. 使用executor、callable以及一个Future 计算欧拉数e

    package test; import java.math.BigDecimal; import java.math.MathContext; import java.math.RoundingMo ...

  7. 为什么要用Kubernetes?

    1.前言 第一次接触Kubernetes是在2016年,再一次浏览博文的时候,那是我第一次听到Kubernetes这个名词,也是第一次认识了k8s这么一个东西.后来在慢慢了解它的时候,被它天生高可用. ...

  8. css3弹性盒子 flex布局

    CSS3 弹性盒 1.display:flex 说明: 设置为弹性盒(父元素添加) 2.flex-direction(主轴排列方式) 说明: 顺序指定了弹性子元素在父容器中的位置 row 默认在一行内 ...

  9. 王某人从0开始学习lorawan的笔记_1:最底层!IO驱动层,Gpio_t类

    本来想介绍SX1276(与SX1278的操作完全相同,只是需要处理频段)的,但是这款芯片内容还是很丰富的,三言两语介绍不清,而且资料也很多就算了. 直接正面怼lorawan吧,怼到高地去,打爆lora ...

  10. MySQL的count(*)的优化,获取千万级数据表的总行数[转]

    一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 二.关于cou ...