REVERSE-PRACTICE-BUUCTF-7

REVERSE-PRACTICE-BUUCTF-7

    • Youngter-drive
    • [ACTF新生赛2020]rome
    • [FlareOn4]login
    • [SUCTF2019]SignIn

Youngter-drive

exe程序,运行后提示输入flag,有upx壳,脱壳后ida分析
main函数中获取输入并拷贝,开启了两个线程分别运行StartAddress和sub_41119F两个函数,sub_411190函数验证输入,输入即为flag
youngter-drive-logic
分析StartAddress函数,input_index的初始值为29,当input_index的值大于-1时,调用sub_41112C函数,然后input_index值减1,休眠100ms
youngter-drive-startaddress
分析sub_41112C函数(反编译该函数需要先平衡栈),首先验证输入均为英文字母,然后对大小写区分,输入的内容的ascii码减去38或96的结果,作为下标,在table数组里取值,再赋给原来的位置,即对flag内容进行变换,实际上是大小写转换
youngter-drive-sub_41112C
回到main函数,再分析sub_41119F函数
该函数先休眠100ms,再对input_index减1,没有对flag内容的变换
youngter-drive-sub_41119F
于是可以知道,input_index初始值为29,在第一个线程作为下标对flag内容变换后减1,在第二个线程直接减1,相当于减2,值为27,再回到第一个线程……于是第一个线程仅在input_index为奇数时对flag内容进行变换
写逆脚本,由于input_index初始值为29,说明flag的内容长度为30,但是在check(sub_411190)函数中,只比较了29个字符,试出来最后一位是“E”提交成功
youngter-drive-script

[ACTF新生赛2020]rome

exe程序,运行后提示输入,输入错误直接退出,无壳,ida分析
主逻辑在func函数中
第一个红框是对flag的内容变换,分大小写,原来是大写字母的变换后仍然是大写字母,原来是小写字母的变换后仍然是小写字母,如果flag的内容中某个字符为其他字符,则不进行变换
第二个红框是循环比较,验证flag的内容
rome-func
写脚本即可得到flag
rome-script

[FlareOn4]login

html文件,打开后提示输入flag并点击验证,右键->查看网页源代码
逻辑清晰,获取输入,输入变换,验证输入
重要的是flag.replace部分的内容
首先判断flag内容中某个字符是大写还是小写字母,如果是大写字母,>=左边取90,如果是小写字母,>=左边取122,再判断该字符在26个字母表中的位置,如果该字符在字母表的前半部分,则替换为字母表后半部分对应位置的字符,同理,如果该字符在字母表的后半部分,则替换为字母表后半部分对应位置的字符,字符的大小写不变
login-logic
写逆脚本即可得到flag
login-script

[SUCTF2019]SignIn

elf文件,无壳,ida分析
main函数逻辑清晰,先获取输入,然后调用sub_96A函数分割输入,例如输入字符串的第一个字符为“f”,其十六进制ascii码为0x66,经过sub_96A函数,结果存储到v9,有v9[0]=0x6,v9[1]=0x6,然后v9数组转成整形作为RSA的明文m,接下来就是RSA加密和验证
signin-logic
在线网站或者yafu分解模数n
写脚本即可得到flag
signin-script

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

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

相关文章

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’…

REVERSE-PRACTICE-BUUCTF-18

REVERSE-PRACTICE-BUUCTF-18[SWPU2019]ReverseMe[FlareOn1]Bob Doge[FlareOn5]Ultimate Minesweeper[GKCTF2020]Chellys identity[SWPU2019]ReverseMe exe程序,运行后提示输入flag,输入错误打印“Try again”,无壳,ida分析 交叉引…

VS2008中Web Reference和Service Reference的区别

很早就发现在vs2008中应用web service有两种方式,即Add Web Reference和Add Service Reference,但是一直不是很清楚这两者有什么区别。趁着今天有空实验一下这两者的区别并记录下来供大家参考。 首先在网上查找,发现有如下两个主要区别&#…