2017年网络空间安全技术大赛部分writeup
作为一个bin小子,这次一个bin都没做出来,我很羞愧。
0x00 拯救鲁班七号
具体操作不多说,直接进入反编译源码阶段
可以看到,只要2处的str等于a就可以了,而str是由1处的checkPass返回,于是进入checkPass函数。
从代码看,这是调用了so库里的函数,并且我们知道so库的名字叫humen
于是找到so库,拖进ida静态分析
找到checkPass函数,直接F5,通过分析,2中的代码最为关键
这段代码把我们输入的密码做了非常复杂的变换,变换后得到的字符串为S!@#@1FD23154A34
于是我找了16张纸,将flag变换出来了。。。。。
0x01 取证密码
反编译
进入encrypt函数
找到XTU.so拖进ida静态分析。
这段代码很简单,脚本如下
dest = [0x39,0x20,7,0xA,0x20,0x29,0x13,2,0x3A,0xC,0x11,0x31,0x3B,0xB,7]
str = 'Welc0meT0XTUCTF'
str1 = 'yInS567!bcNOUV8vwCDefXYZadoPQRGx13ghTpqrsHklm2EFtuJKLzMijAB094W'
a = len(str)
b = ''
for i in range(a):
b += str1[dest[i]]
print b
运行,得到flag.
0x02 人民的名义-抓捕赵德汉1
是个jar文件,直接反编译。
分析逻辑,直接进入checkPassword分析
很明显只要MD5解密就行
0x03人民的名义-抓捕赵德汉2
是个jar文件,直接反编译
好多乱码,很方,但还是继续分析,进入这个不知名的函数
看到两个关键函数,先进入第一个函数分析,一路追踪
复现这段代码
得到字符串JsnatterrtJuaththovacke
然后进入开始的第二个函数
代码逻辑很简单,下面是脚本
# -*- coding: utf-8 -*-
def f1(a,b):
return f2(a) % len(b)
def f2(b):
if b > 2:
return f2(b - 1) + f2(b - 2)
else:
return 1
x = 'JsnatterrtJuaththovacke'
b = ''
z = 0
for i in range(0,4):
for j in range(0,4):
b += x[f1(z + j,x)]
z += 5
print b
运行得到flag.注意格式flag{xxxx-xxxx-xxxx-xxxx} .
2017年网络空间安全技术大赛部分writeup的更多相关文章
- 2017年陕西省网络空间安全技术大赛——种棵树吧——Writeup
2017年陕西省网络空间安全技术大赛——种棵树吧——Writeup 下载下来的zip解压得到两个jpg图片,在Kali中使用binwalk查看文件类型如下图: 有两个发现: 1111.jpg 隐藏了一 ...
- 2017年陕西省网络空间安全技术大赛——一维码——Writeup
<!doctype html> 2017年陕西省网络空间安全技术大赛——一维码——Writeup 先判断下载的文件flag.png确实是png格式的图片后(binwalk, file命令均 ...
- 2017年陕西省网络空间安全技术大赛——人民的名义-抓捕赵德汉2——Writeup
下载下来的文件是一个jar包,用die和binwalk检查,确实是一个纯正的jar包 java -jar FileName运行jar包,观察文件的外部特征,发现也是判断password的题目 用查 ...
- 陕西省网络空间安全技术大赛部分题目writeup
签到-欢迎来到CSTC2017 10 欢迎来到CSTC2017 ZmxhZ3tXZWlTdW9GeXVfQmllTGFuZ30= Base64解密:flag{WeiSuoFyu_BieLang} 种棵 ...
- 2016第二届陕西省网络空间安全大赛WriteUp
2016年5月28号(正式比赛) 有选择题和实践题,俩队员在弄选择题时,我去拿了web1的一血. 0x01 web 是一道代码审计题,发包,返回了源代码: <?php if (isset($_G ...
- 2018~第三届南宁市网络安全技术大赛~nnctf~write-up
Web 1.超简单 分值:100 类型:WEB 已解决 题目:超简单的web题 http://gxnnctf.gxsosec.cn:12311/ 代码审计 <?php $white_list ...
- 第一届合天杯河北科技大学网络安全技术大赛 web6 writeup
- 第三届“百越杯”福建省高校网络空间安全大赛_Do you know upload?
题目在i春秋的ctf训练营 既然是上传,那就直接抓包 二话不说上来先给个00截断传个一句话助助兴 直接就成功了.... 赶紧操起菜刀去连接 进去之后发现ctf.sql是个空文件,那么flag应该在数据 ...
- 第三届“百越杯”福建省高校网络空间安全大赛writeup--Do you know upload?
一打开网址,可以看出应该是文件上传漏洞,查看源码,也有可能是文件包含 上传个图片,成功,然后上传一句话木马 通过bp进行上传绕过 , 开始菜刀连接http://e00b6eca3c9c4e14a31c ...
随机推荐
- HTML5 中的meter 标签的样式设置
meter { -webkit-appearance: none; position: relative; display: block; margin: 8px auto; width: 100px ...
- POJ1011【判重剪枝】
题意: 给你一堆棒子,这些棒子是你从一堆一样的棒子折断而来的, 现在你忘记了是从那一堆一样的棒子的长度,让你写一个程序,求最短的长度. 思路: 首先这个棒长肯定是和的约数,且大于最大值. 然后是sor ...
- lightoj1004【基础DP】
从低端到顶端求个最大值: 思路: 基础DP,递推 #include<cstdio> #include<queue> #include<map> #include&l ...
- 3d工具收集
Poser 是Metacreations公司推出的一款三维动物.人体造型和三维人体动画制作的极品软件.用过Poser 2与Poser 3的朋友一定能感受到Poser的人体设计和动画制作是那么的轻松自如 ...
- 大数据技术之_27_电商平台数据分析项目_02_预备知识 + Scala + Spark Core + Spark SQL + Spark Streaming + Java 对象池
第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark ...
- hyperledger fabric 1.0.5 分布式部署 (六)
如何在相同的peer 节点上创建多个 channel 作者在hyperledger fabric 1.0.5 分布式部署 (五)已经向读者们介绍了一个简单的fabric 的部署流程,那么根据上一篇博客 ...
- spark sql 对接 HDFS
上一篇博客我向大家介绍了如何快速地搭建spark run on standalone,下面我将介绍saprk sql 如何对接 hdfs 我们知道,在spark shell 中操作hdfs 上的数据是 ...
- 企业级应用,如何实现服务化三(dubbo入门案例)
今天是六一儿童节,从千里之外的广州,回到了贵州老家,真好!好山好水好心情,好了接着写点东西.这是企业级应用,如何实现服务化系列的第三篇.在上一篇:企业级应用,如何实现服务化二(dubbo架构)中,认识 ...
- AFHTTPSessionManager下载文件 及下载中 进度条处理,进度条处理需要特别注意,要加载NSRunLoop 中
1.下载文件 和进度条处理代码 - (void)timer:(NSTimer *)timer{ // 另一个View中 进度条progress属性赋值 _downloadView.progress = ...
- Codeforces Round #547 (Div. 3) D. Colored Boots
链接:https://codeforces.com/contest/1141/problem/D 题意: 给连个n长度的字符串. 求两个字符串相同字符对应位置的对数,并挨个打印. 字符:?可以代替任何 ...