Xman冬令营writeup
做题一时爽,期末火葬场,一晚上水了三题,跪求期末不挂,老老实实去复习。祝各位表哥冬令营玩的开心。
中二的成长之路

很容易发现图片本身就是个压缩包,里面还有个图片,但是加密了
所以需要我们求出压缩包的密码。
观察图片,有个二维码,扫描得到密文3ukka4wZf2Q9H8PEI5YKFA==
继续观察图片
- 有红色字样,写着aes,说明是AES加密
- 有黑色加粗字样,写的QR,猜测key值与QR有关,后来根据题目提示,key应该是QR的MD5值
写脚本解密密文
from Crypto.Cipher import AES
import binascii
import base64
obj2 = AES.new('66c35cd8077f7e1db5faefbc048a646a', AES.MODE_CBC,'\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0')
print obj2.decrypt(base64.b64decode('3ukka4wZf2Q9H8PEI5YKFA=='))
得到压缩包密码1Znmpr4jzChwxXqB,解密压缩包,得到另一个二维码
扫描得到密文bqIGBfOGuOsxLYV16OI7xRNAZrcFdYLJtHaDym2O7so=,
还是同样的套路,aes解密,其中aes的key是图片的名字s776051080zum92N,要注意的是这个密文包括了两段aes,分别解出XCTF{W0W_U_G0T_T和H3_FL4G},连在一起就是flag。
返老还童
大概看一下源码,发现密文格式是xxxx-xxxx-xxxx-xxxx,根据’-‘符号把密文分成了四组。
先对密文做了检验,必须是大小写字母或数字。
主程序是一大段等式判断,把其中两位参数a、b传到check_flag.html并调用了o0O0oo0o0o0o0oO函数检验是不是满足条件,其中a要大于b,a小于100。
public static void b(String str) {
|


观察check_flag.html函数,
主要需要满足的条件是
a*a-b*b=8(a+b) |
,写脚本爆破,发现就一组满足条件
根据a,b的值带入程序方程组很容易就能求出所有密文的值d2lu-bmVy-Y7hp-bgtl,即为flag。
神秘的TXT
发现有三个横坐标,三个纵坐标,因为是mobile题目,猜测对应着手机键盘密码。
因为不知道坐标顺序,所以把8种可能的反转情况都列出来,一个一个试,其中有一个是对的
XCTF{974856321}
|
好像是第四个,忘了。
Xman冬令营writeup的更多相关文章
- Jarvis OJ - [XMAN]level1 - Writeup
Jarvis OJ - [XMAN]level1 - Writeup M4x原创,转载请表明出处http://www.cnblogs.com/WangAoBo/p/7594173.html 题目: 分 ...
- Jarvis OJ - [XMAN]level3 - Writeup——ret2libc尝试
这次除了elf程序还附带一个动态链接库 先看一下,很一般的保护 思路分析 在ida中查看,可以确定通过read函数输入buf进行溢出,但是并没有看到合适的目标函数 但是用ida打开附带的链接库,可以看 ...
- Jarvis OJ - [XMAN]level2 - Writeup
简单利用"/bin/sh"夺权 简单看一下 放到ida中发现了"/bin/sh"串,和system函数,可以利用== 所以只要在vuln函数返回时跳转到syst ...
- Jarvis OJ - [XMAN]level1 - Writeup——简单shellcode利用
100分的pwn 简单查看一下,果然还是比较简单的 放到ida中查看一下,有明显的溢出函数,并且在函数中打印出了字符串的地址,并且字符串比较长,没有NX保护 所以我们很容易想到构造shellcode, ...
- Jarvis OJ - [XMAN]level0 - Writeup
差不多最简单的pwn了吧,不过本菜鸟还是要发出来镇楼 分析一下,checksec 查看程序的各种保护机制 没有金丝雀,没有pie 执行时输出Hello,World,在进行输入,溢出嘛 开工 丢到id ...
- xman随机数相关题目
参加xman夏令营,大佬给我们带来了密码学课程.其中随机数部分感受颇深,记录下几个脚本. 1. 以时间作为种子的随机数 https://www.jarvisoj.com/ 的[xman2019]bab ...
- Jarvis OJ - 栈系列部分pwn - Writeup
最近做了Jarvis OJ的一部分pwn题,收获颇丰,现在这里简单记录一下exp,分析过程和思路以后再补上 Tell Me Something 此题与level0类似,请参考level0的writeu ...
- [XMAN筛选赛](web)ctf用户登录
0x00 题目概述 就只写了几道web题,有些考察点比较明显,所以个人感觉来说web总体不难. 一航的writeup写得差不多,我这写个他没写的wirteup. 看题: 链接点进去是一个登录页面,习惯 ...
- 2016第七季极客大挑战Writeup
第一次接触CTF,只会做杂项和一点点Web题--因为时间比较仓促,写的比较简略.以后再写下工具使用什么的. 纯新手,啥都不会.处于瑟瑟发抖的状态. 一.MISC 1.签到题 直接填入题目所给的SYC{ ...
随机推荐
- 解决IDEA中springboot整合mybatis中出现的Invalid bound statement(not found)的问题【转】
感谢原博主,原文链接 : https://blog.csdn.net/benben513624/article/details/81076182 最近学习springboot的开发,中间磕磕碰碰也是遇 ...
- zencart新增configuration商店全局变量sql
将下面代码中的 '新增商店变量1', 'ADDS_NAME_1', '新增商店变量1的值', '新增商店变量1描述'换成你需要新增的内容即可. INSERT INTO `configuration` ...
- UVA 1482 SG打表
打出SG表来可以很容易的发现i为偶数时 SG[i]=i/2 i为奇数时 SG[i]=SG[i/2] #include<bits/stdc++.h> typedef long long ll ...
- 【踩坑记录】 使用form标签的 reset() 方法报错原因及处理方法
如果form标签内包含了 id 为 reset 的元素,在调用form的 reset() 方法时,会报xxx.reset is not a function,原因是在调用form的 reset() 方 ...
- 《Python基础教程》第一章:基础知识
如果希望只执行普通的除法,可以在程序前加上以下语句:from __future__ import division.还有另外一个方法,如果通过命令行运行Python, 可以使用命令开关-Qnew.此时 ...
- Jenkins配置邮件信息
1.进入Manage Jenkins----系统配置 2.设置Jenkins地址和管理员邮箱(不设置管理员邮箱无法发送邮件) 3.配置系统管理员的邮件属性 4.点击[高级]配置系统管理员的邮件属性 5 ...
- php类相关知识----类常量,静态变量
类常量 <?php class myuser { ;//定义的常量不带$符号,常量之前没有访问修饰符,常量之前没有修饰符号 public function monolog() { echo &q ...
- 题解 [USACO Mar08] 奶牛跑步
[USACO Mar08] 奶牛跑步 Description Bessie准备用从牛棚跑到池塘的方法来锻炼. 但是因为她懒,她只准备沿着下坡的路跑到池塘,然后走回牛棚. Bessie也不想跑得太远,所 ...
- LabVIEW:可执行文件运行缺少运行库问题
造冰箱的大熊猫@cnblogs 2018/5/11 上周调试设备网口犯了一个低级错误,今天又搞出一个笑话 目标机上没有LabVIEW开发环境,于是在开发机上将VI打包成可执行程序.在目标机上运行可执行 ...
- 2019icpc南京网络赛 A 主席树
题意 给一个\(n\times n\)的螺旋矩阵,给出其中的\(m\)个点的值分别为各个点上数字的数位之和,给出\(q\)个询问,每次询问从\((x1,y1)\)到\((x2,y2)\)的子矩阵的和. ...