BXS入门赛部分writeup
pwn1 盲打(笑)
前言:没有听鱼哥的话,事先没有装好环境,于是开始没做出来,然后全程在装pwntools,经过一番努力,失败了0.0
最终在网上搜了一段python socket连接脚本,终于可以做题了(哭)。这是一个盲打,向服务端发送一定长度的字符串,服务端就会给你最喜欢的flag.
写下脚本尝试需要多长的字符才可以恰好让服务端给我们flag,脚本如下(由于现在服务端已经关闭,不能实时演示了,请见谅)
最终只需要如下脚本便可以让服务端乖乖把flag给我们
RE
0x00 Easy_CrackMe
下载附件,直接拖进IDA进行静态分析,开始点击WinMain函数,没有发现什么关键代码,一个一个函数点下去,点到sub_401080时发现关键代码
分析程序逻辑,通过关键代码我们可以知道当(v3 == 97 , v4 ==a5y ,v5 == aR3versing , String == 69) 时程序输出,其中97是ASCII码,单击它按R可转成字符a, 单击a5y转到它的定义发现它其实是字符串5y,同aR3versing是字符串R3versing,而String通过截图中我们可以看到它位于v3前面。由此我们已经可以推出
flag: Ea5yR3versing
0x01 KeygenMe
拖进IDA进行静态分析,直接点进main函数,F5
不难看出加密算法,开始我犯了一个错误,我把5B134977135E7D13分成单个字符进行异或解密,得出一串乱码,于是很方,错误脚本见下图
于是再继续看原加密算法,发现错误处
首先我们要知道sprintf这个函数的在这里的作用是把异或的结果以16进制存到v13中
于是修改脚本,如下图
运行得到flag: K3yg3nm3
MOBILE
0x00 Gift
下载好gift.apk,我没有用jeb对它进行反编译,我用的是dex2jar加jd-gui。它俩的用法请自行百度。这里直接放出反编译后的源码,这很明显就是给我们的gift.如图
0x01 Register
查看反编译源码,找到关键判断语句,发现checkSN函数是关键函数。
找到checkSN函数进行分析
经过分析我们可以知道此函数作用是取32位MD5中的16单数字符组成注册码。
于是我们可以自己写一个注册码生成脚本,脚本如下
这里输入用户名mumuzuishuai,得到注册码b10d7be3557a3021.
安装Register程序输入用户名和注册码,就会出现flag
Flag:G00D_YOU_HVCK_IT
BXS入门赛部分writeup的更多相关文章
- 阿里天池 NLP 入门赛 TextCNN 方案代码详细注释和流程讲解
thumbnail: https://image.zhangxiann.com/jung-ho-park-HbnqEhMBpPM-unsplash.jpg toc: true date: 2020/8 ...
- 【CTF】Pwn入门 XCTF 部分writeup
碎碎念 咕咕咕了好久的Pwn,临时抱佛脚入门一下. 先安利之前看的一个 Reverse+Pwn 讲解视频 讲的还是很不错的,建议耐心看完 另外感觉Reverse和Pwn都好难!! 不,CTF好难!! ...
- 10.0.0.55_12-16训练赛部分writeup
0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...
- 20190815网络与信息安全领域专项赛线上赛misc WriteUp
目录 签到题 题目内容 使用工具 解题步骤 七代目 题目下载地址 使用工具 解题步骤 亚萨西 题目下载链接 使用工具 解题步骤 24word 题目下载链接 使用工具 解题步骤 感想 几星期前报了名却完 ...
- 【LGR-(-8)】洛谷入门赛 #5 题解
比赛链接 9道题. 注:题目名称中链接为题目链接,题号中链接为比赛内链接 题目编号 洛谷题号 题目名称 题目难度 A P5713 [深基3.例5]洛谷团队系统 \(\color{red}{入门}\) ...
- 某团队线下赛AWD writeup&Beescms_V4.0代码审计
还是跟上篇一样.拿别人比赛的来玩一下. 0x01 预留后门 连接方式: 0x02 后台登录口SQL注入 admin/login.php 在func.php当中找到定义的check_login函数 很 ...
- 2019UNCTF竞技赛部分writeup
Reverse unctf_babyre2 这题flag分为两部分,第一部分每四个字符一组打包成int后,每次把四个int传入函数,后三个参数异或后先以每位为索引查表,将新数据进行循环移位.异或,将结 ...
- 虎符2021线下赛pwn writeup
jdt 一个图书管理系统,但并不是常规的堆题.edit和show函数可以越界.edit函数和show函数相互配合泄露libc基地址,将main函数的返回地址覆盖成onegadgets拿shell. f ...
- kaggle入门项目:Titanic存亡预测 (一)比赛简介
自从入了数据挖掘的坑,就在不停的看视频刷书,但是总觉得实在太过抽象,在结束了coursera上Andrew Ng 教授的机器学习课程还有刷完一整本集体智慧编程后更加迷茫了,所以需要一个实践项目来扎实之 ...
随机推荐
- API网络接口
1.天气 文章:http://segmentfault.com/a/1190000002607883 地址:http://api.lib360.net/open/weather.json?city=北 ...
- lightoj刷题日记
提高自己的实力, 也为了证明, 开始板刷lightoj,每天题量>=1: 题目的类型会在这边说明,具体见分页博客: SUM=54; 1000 Greetings from LightOJ [简单 ...
- C#中的yield return
4.1 迭代器块 一个迭代器块(iterator block)是一个能够产生有序的值序列的块.迭代器块和普通语句块的区别就是其中出现的一个或多个yield语句. yield return语句产生迭代的 ...
- Python Matplotlib 中对于 bar 显示时间的问题
参考: 官方教程: http://matplotlib.org/1.3.1/users/recipes.html http://stackoverflow.com/questions/13515471 ...
- 设置上一级controller的backBarButtonItem
设置上一级controller的backBarButtonItem. self.navigationItem.backBarButtonItem= [[UIBarButtonItem alloc]in ...
- canvas+js实现时钟效果图
<! DOCTYPE html> <html> <head> <title>Clock</title> </head> < ...
- mysql状态查询
在监控中,都是去探测这些状态数据,然后换算到时间刻度上,像zabbix. show status like 'uptime'; --查看select语句的执行数 show [global] statu ...
- SpringMVC-高级参数绑定
绑定数组 需求 在商品列表页面选中多个商品,然后删除. 需求分析 此功能要求商品列表页面中的每个商品前有一个checkbook,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品 ...
- DWR+Spring配置使用
一.DWR介绍 DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端 ...
- Linux--NiaoGe-Service-07网络安全与主机基本防护
Linux系统内自带的防火墙有两层: 第一层:数据包过滤防火墙:IP Filtering和Net Filter 要进入Linux本机的数据包都会先通过Linux预先内置的防火墙(Net Filter) ...