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的更多相关文章

  1. 阿里天池 NLP 入门赛 TextCNN 方案代码详细注释和流程讲解

    thumbnail: https://image.zhangxiann.com/jung-ho-park-HbnqEhMBpPM-unsplash.jpg toc: true date: 2020/8 ...

  2. 【CTF】Pwn入门 XCTF 部分writeup

    碎碎念 咕咕咕了好久的Pwn,临时抱佛脚入门一下. 先安利之前看的一个 Reverse+Pwn 讲解视频 讲的还是很不错的,建议耐心看完 另外感觉Reverse和Pwn都好难!! 不,CTF好难!! ...

  3. 10.0.0.55_12-16训练赛部分writeup

    0x1 - MISC MISC100 一张帅行的照片 目测是图片隐写,但是binwalk并没有出来,应该是对文件头进行了修改 010editor查看一下,发现在jpg文件尾之后还有大量的数据 而且在灰 ...

  4. 20190815网络与信息安全领域专项赛线上赛misc WriteUp

    目录 签到题 题目内容 使用工具 解题步骤 七代目 题目下载地址 使用工具 解题步骤 亚萨西 题目下载链接 使用工具 解题步骤 24word 题目下载链接 使用工具 解题步骤 感想 几星期前报了名却完 ...

  5. 【LGR-(-8)】洛谷入门赛 #5 题解

    比赛链接 9道题. 注:题目名称中链接为题目链接,题号中链接为比赛内链接 题目编号 洛谷题号 题目名称 题目难度 A P5713 [深基3.例5]洛谷团队系统 \(\color{red}{入门}\) ...

  6. 某团队线下赛AWD writeup&Beescms_V4.0代码审计

    还是跟上篇一样.拿别人比赛的来玩一下.  0x01 预留后门 连接方式: 0x02 后台登录口SQL注入 admin/login.php 在func.php当中找到定义的check_login函数 很 ...

  7. 2019UNCTF竞技赛部分writeup

    Reverse unctf_babyre2 这题flag分为两部分,第一部分每四个字符一组打包成int后,每次把四个int传入函数,后三个参数异或后先以每位为索引查表,将新数据进行循环移位.异或,将结 ...

  8. 虎符2021线下赛pwn writeup

    jdt 一个图书管理系统,但并不是常规的堆题.edit和show函数可以越界.edit函数和show函数相互配合泄露libc基地址,将main函数的返回地址覆盖成onegadgets拿shell. f ...

  9. kaggle入门项目:Titanic存亡预测 (一)比赛简介

    自从入了数据挖掘的坑,就在不停的看视频刷书,但是总觉得实在太过抽象,在结束了coursera上Andrew Ng 教授的机器学习课程还有刷完一整本集体智慧编程后更加迷茫了,所以需要一个实践项目来扎实之 ...

随机推荐

  1. API网络接口

    1.天气 文章:http://segmentfault.com/a/1190000002607883 地址:http://api.lib360.net/open/weather.json?city=北 ...

  2. lightoj刷题日记

    提高自己的实力, 也为了证明, 开始板刷lightoj,每天题量>=1: 题目的类型会在这边说明,具体见分页博客: SUM=54; 1000 Greetings from LightOJ [简单 ...

  3. C#中的yield return

    4.1 迭代器块 一个迭代器块(iterator block)是一个能够产生有序的值序列的块.迭代器块和普通语句块的区别就是其中出现的一个或多个yield语句. yield return语句产生迭代的 ...

  4. Python Matplotlib 中对于 bar 显示时间的问题

    参考: 官方教程: http://matplotlib.org/1.3.1/users/recipes.html http://stackoverflow.com/questions/13515471 ...

  5. 设置上一级controller的backBarButtonItem

    设置上一级controller的backBarButtonItem. self.navigationItem.backBarButtonItem= [[UIBarButtonItem alloc]in ...

  6. canvas+js实现时钟效果图

    <! DOCTYPE html> <html> <head> <title>Clock</title> </head> < ...

  7. mysql状态查询

    在监控中,都是去探测这些状态数据,然后换算到时间刻度上,像zabbix. show status like 'uptime'; --查看select语句的执行数 show [global] statu ...

  8. SpringMVC-高级参数绑定

    绑定数组 需求 在商品列表页面选中多个商品,然后删除. 需求分析 此功能要求商品列表页面中的每个商品前有一个checkbook,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品 ...

  9. DWR+Spring配置使用

    一.DWR介绍 DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,利用这个框架可以让AJAX开发变得很简单.利用DWR可以在客户端 ...

  10. Linux--NiaoGe-Service-07网络安全与主机基本防护

    Linux系统内自带的防火墙有两层: 第一层:数据包过滤防火墙:IP Filtering和Net Filter 要进入Linux本机的数据包都会先通过Linux预先内置的防火墙(Net Filter) ...