REVERSE-PRACTICE-BUUCTF-6

REVERSE-PRACTICE-BUUCTF-6

    • rsa
    • CrackRTF
    • [2019红帽杯]easyRE
    • [ACTF新生赛2020]easyre

rsa

解压出来是.enc和.key两个文件,.enc是密文,.key存放着公钥信息
使用在线网站或者openssl解析.key文件中存放着的公钥信息
可获知rsa需要的模数n和公钥e
rsa-n_e
使用在线网站或者yafu分解n,结果为两个大素数
rsa-break_n
写脚本即可得到flag
rsa-script

CrackRTF

exe程序,运行后提示输入密码,输入错误直接退出,无壳,ida分析
main函数中,要求输入两次密码,先看第一个密码
第一个密码的部分逻辑清晰,重点是sub_40100A这个函数
CrackRTF-logic1
sub_40100A函数点进去,发现有个CryptCreateHash函数
CryptCreateHash函数详解
重要的是这个函数的第二个参数,决定了要使用的哈希算法
这里0x8004u使用的是sha(sha1)算法
CrackRTF-sub_40100A
写脚本爆破,得到第一个密码
CrackRTF-pwd1
然后是第二个密码,和第一个密码的逻辑差不多,不过用的是md5散列,但是没有对第二个密码的6个字符做任何限制,爆破不可取,往下走,发现拼接后的input_2作为参数传入了sub_40100F函数
CrackRTF-logic2
sub_40100F函数的主要逻辑用红框标出,即exe程序带有的资源“AAA”和拼接后的input_2进行异或运算,结果写到程序创建的名为“dbapp.rtf”文件中
使用工具Resource Hacker可以获取资源“AAA”的数据
sub_401005函数就是进行异或运算
程序要创建并填充一个完整的rtf文件,rtf文件的文件头必不可少,搜索或自建一个空的rtf文件用010editor打开,可以得知rtf文件的文件头
由于第二个密码拼接时放在input_2的前面,也就是说第二个密码和资源“AAA”的数据异或后的结果正是rtf文件的文件头
CrackRTF-sub_40100F
写脚本得到第二个密码,第二个密码的长度为6,故资源“AAA”和rtf文件头都取前6个字节异或即可得到第二个密码,注意“\r”在python中的转义语义,再加一个“\”
CrackRTF-script
再次运行exe程序,输入正确的第一个和第二个密码,在当前目录下生成一个“dbapp.rtf”文件,内容即为flag
CrackRTF-flag

[2019红帽杯]easyRE

elf文件,无壳,ida分析
左侧函数窗找不到主逻辑函数,shift+F12打开字符串窗口
发现一长段很像base64的字符串和base64字符表
easyRE-Strings
一路交叉引用base64字符串,来到sub_4009C6函数
先看该函数中用到base64字符串的片段
逻辑是v56经过10次base64变换,结果为已知的那个base64字符串
easyRE-debase64
写脚本得到v56,结果为一个url,打开没发现和flag相关的内容,应该是误导选手了
easyRE-fake
继续看sub_4009C6函数的其他内容,该函数一开始给一堆变量赋值,然后有一个异或后比较的运算,用红框标出来了
easyRE-sub_4009C6
写脚本,提示说前四个字符为“flag”,也没有对flag具体内容的提示
easyRE-script
sub_4009C6函数分析完后,并没有对flag具体内容的判断
于是再次去字符串窗口找找有没有其他提示的内容
在那串base64字符串下面,有一段没有在sub_4009C6函数中用到的数据
easyRE-hidden
交叉引用来到sub_400D35函数
v5和v8相同,v8和byte_6CC0A0数组前4个字符异或的结果为“flag”,前面也提示到前4个字符为“flag”
然后v8再和byte_6CC0A0数组的全部元素异或easyRE-sub_400D35
写脚本,先解出v8,再循环异或得到flag
easyRE-script

[ACTF新生赛2020]easyre

exe程序,运行后提示输入,输入错误直接退出,有upx壳,脱壳后ida分析
main函数逻辑清晰,flag的内容减1后作为下标,从_data_start_这个数组中取值,与v4到v15比较,验证flag的内容
easyre-logic
写逆脚本即可得到flag
easyre-script

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/438179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vs项目结构解析

当我们用VS开发一个项目的时候,首先应该清楚用VS这个IDE生成的一些文件和文件夹是什么意思,起什么作用,什么场合下使用。 因为我使用的是VS2015,就以这个为例来进行一些说明: 首先要做的是更改你的操作系统&#xff…

REVERSE-PRACTICE-BUUCTF-7

REVERSE-PRACTICE-BUUCTF-7Youngter-drive[ACTF新生赛2020]rome[FlareOn4]login[SUCTF2019]SignInYoungter-drive exe程序,运行后提示输入flag,有upx壳,脱壳后ida分析 main函数中获取输入并拷贝,开启了两个线程分别运行StartAddr…

REVERSE-PRACTICE-BUUCTF-8

REVERSE-PRACTICE-BUUCTF-8[GUET-CTF2019]re相册[V&N2020 公开赛]strangeCpp[BJDCTF2020]easy[GUET-CTF2019]re elf文件,有upx壳,脱壳后ida分析 字符串交叉引用来到主逻辑函数sub_400E28 逻辑清晰,获取输入,验证输入&#xf…

NuGet的使用、部署、搭建私有服务

目录 前言 什么是NuGet?为什么要使用NuGetNuGet的优点使用 Get-Help NuGetInstall-PackageGet-PackageUninstall-Package制作NuGet库包搭建NuGet服务器上传NetGet库包新增NuGet源总结前言 什么是NuGet? Nuget是一个.NET平台下的开源的项目,它是Visual Studio的…

REVERSE-PRACTICE-BUUCTF-9

REVERSE-PRACTICE-BUUCTF-9[ACTF新生赛2020]usualCrypt[MRCTF2020]Transform[V&N2020 公开赛]CSRe[WUSTCTF2020]level1[ACTF新生赛2020]usualCrypt exe程序,运行后提示输入flag,无壳,ida分析 main函数逻辑清晰,获取输入&…

ASP.NET MVC Beta 新特性之 IValueProvider

在刚发布的ASP.NET MVC Beta版中,在UpdataModel方法中提供了一个带有IValueProvider参数的重载。那么这个IValueProvider有什么用呢? 我们先来看一个简单的场景,例如我们的blog系统有一个Post的对象,Post对象有一个Tags属性和Cat…

REVERSE-PRACTICE-BUUCTF-10

REVERSE-PRACTICE-BUUCTF-10[GWCTF 2019]xxor[HDCTF2019]Maze[WUSTCTF2020]level2[BJDCTF2020]BJD hamburger competition[GWCTF 2019]xxor elf文件,无壳,用ida分析 main函数的逻辑清晰,首先获取输入,为6个int64的值,…

Axure教程 axure新手入门基础(1)

axure新手入门基础(1) 名词解释: 线框图:一般就是指产品原型,比如:把线框图尽快画出来和把原型尽快做出来是一个意思。 axure元件:也叫axure组件或axure部件,系统自带了一部分最基础常用的,网上…

REVERSE-PRACTICE-BUUCTF-11

REVERSE-PRACTICE-BUUCTF-11[FlareOn4]IgniteMe[MRCTF2020]Xor[GKCTF2020]BabyDriver[MRCTF2020]hello_world_go[FlareOn4]IgniteMe exe程序,运行后提示输入flag,无壳,ida分析 主逻辑在start函数中,读取输入后check,验…

Axure教程 axure新手入门基础(2) 简单易上手

https://www.duote.com/tech/35/102713.html (二)Axure rp的线框图元件 l 图片 图片元件拖入编辑区后,可以通过双击选择本地磁盘中的图片,将图片载入到编辑区,axure会自动提示将大图片进行优化,以避免原型文件过大;选择图片时可以…

REVERSE-PRACTICE-BUUCTF-12

REVERSE-PRACTICE-BUUCTF-12[WUSTCTF2020]level3crackMe[FlareOn6]Overlong[WUSTCTF2020]Cr0ssfun[WUSTCTF2020]level3 elf文件,无壳,ida分析 main函数中,获取输入,对输入做base64编码,提示有错误,在程序中…

Axure RP使用基础教程

一、Axure界面介绍 1、页面导航面板(Pages) Axure的页面管理采用类似操作系统的文件夹和页面文件的管理方式,不同点是,页面文件可以存在子页面,这一点是考虑了页面与页面跳转或者嵌套页面等网页特点。 页面文件管理导…

REVERSE-PRACTICE-BUUCTF-13

REVERSE-PRACTICE-BUUCTF-13firmware[ACTF新生赛2020]Oruga[Zer0pts2020]easy strcmp[GXYCTF2019]simple CPPfirmware .bin(二进制)文件,由题目提示知是路由器固件逆向 参考:逆向路由器固件之解包 Part1 linux安装好binwalk和fir…

REVERSE-PRACTICE-BUUCTF-14

REVERSE-PRACTICE-BUUCTF-14[FlareOn3]Challenge1[GUET-CTF2019]number_game[GWCTF 2019]re3[网鼎杯 2020 青龙组]singal[FlareOn3]Challenge1 exe程序,运行后提示输入密码,输入错误退出程序,无壳,ida分析 main函数逻辑清晰&…

REVERSE-PRACTICE-BUUCTF-15

REVERSE-PRACTICE-BUUCTF-15[2019红帽杯]xx[ACTF新生赛2020]Universe_final_answer[WUSTCTF2020]level4findKey[2019红帽杯]xx exe程序,运行后直接输入,无壳,ida分析 交叉引用字符串“You win!”来到sub_1400011A0函数 主要的逻辑…

【三层架构】——COM/DCOM初识

背景: 在学习三层架构的时候,知道三层分为UI层(表现层)、BLL层(业务逻辑层)、DAL层(数据访问层),相对于传统的二层架构(客户端和数据库)来说&…

REVERSE-PRACTICE-BUUCTF-16

REVERSE-PRACTICE-BUUCTF-16[UTCTF2020]basic-reequation[安洵杯 2019]crackMe[FlareOn5]Minesweeper Championship Registration[UTCTF2020]basic-re elf文件,无壳,用ida分析 main函数就是简单的加减乘除运算 shiftF12,在字符串窗口看到fla…

IPC之命名管道

1.管道是通过IO接口存取得字节流, windows中利用得是ReadFile()和WriteFile(),windows利用单一句柄支持双向IO,命名管道也称做FIFO(first in first out) 命名管道得机制:一个进程把数据放到管道里,另一个知道管道名字得进程把数据把取走&…

REVERSE-PRACTICE-BUUCTF-17

REVERSE-PRACTICE-BUUCTF-17[网鼎杯 2020 青龙组]jocker[2019红帽杯]childRE[MRCTF2020]PixelShooter[ACTF新生赛2020]SoulLike[网鼎杯 2020 青龙组]jocker exe程序,运行后提示输入flag,无壳,用ida分析 main函数平衡栈后,F5反汇编…

Excluding Files From Team Foundation Version Control Using .tfignore Files

At one point I was coding on a hobby project, using Visual Studio Online for project management and source control. Because of the technologies involved, a large number of temporary files were being generated that I didn’t want checked in. Visual Studio’…