ctf
Startr4ck
远在远方的风比远方更远
展开
-
蓝鲸ctf 逆向0x1 Warmup
Warmup【题目链接】http://whalectf.xin/challenges#Warmup【解题流程和思路】打开IDA之后搜索对比成功和对比失败的字符串,然后转到程序对比处将v17溯源,发现了v17是输入的字符进行变化得到的直接将v17的数值再进行一次异或,就可以得到flag...原创 2018-04-10 18:55:41 · 692 阅读 · 0 评论 -
2018 10 14 pwn的学习0x5 没有缓冲区溢出,但是函数参数可覆盖
同样是一道pwn的入门题目,题目本身不同于覆盖返回地址进行控制程序流,而是通过控制紧紧挨着缓冲区附近的参数进行修改从而达到我们所想要程序的目的。在这里发现我们使用的fgets进行输入,我们利用gdb进去看看 ,在这里发现箭头所指的位置是指的我们的下面的输出函数的内容所以我们要把这个内容所替换,在程序当中发现有这么一段把返回地址覆盖为他的地址就可以了 使用scanf函...原创 2018-10-14 10:35:48 · 315 阅读 · 0 评论 -
2018 10 12 pwn的学习0x3 32位程序和64位程序的差别(两点),在Linux 寄存器调用函数syscall
在64位程序当中和32的不一样的原因是 但是可以使用的内存地址不能大于0x00007fffffffffff,否则会抛出异常,这就是为什么调试64位程序的时候,我们不能使用字符串进行的原因x64中前六个参数依次保存在RDI, RSI, RDX, RCX, R8和 R9寄存器里syscall调用read eax 0x3 ebx 0x3 ecx re...原创 2018-10-12 23:34:13 · 1100 阅读 · 0 评论 -
2018 10 11 pwn的学习0x2 gets函数和fgets函数 ,新的参数传递方式
还是一一样的没有binsh字符串所以我们需要继续读取字符串到内存当中 在id中寻找函数 发现并没有我们想要的提权函数我们可以尝试着搜索gadgets去寻找我们想要找到的看到有汇编代码 mov dword ptr[edi],ebp和 pop edi ebppop edi ebp后面就跟参数edi 放地址,ebp放数值。就可以将ebp的数值放在edi位置上 直接利...原创 2018-10-11 23:57:04 · 1510 阅读 · 0 评论 -
2018.10.10 pwn的学习0x1 参数传递
在32位程序当中,函数的传递是通过栈来进行传递。构造shellcode 的方式是 padding+ fake_ebp+p32(system)+p32(返回地址)+p32(system 的参数)在64位程序当中,函数的传递是通过寄存器进行传递。在64位程序当中,参数先是找rdi, rsi, rdx, rcx, r8, r9。构造shellcode的方式是padding+fake_ebp+...原创 2018-10-11 17:21:03 · 804 阅读 · 0 评论 -
2018/5/16 逆向脱壳的几个方法(单步跟踪,ESP定律,使用出口标志,SFX方法)
来自于西普实验吧在线实验单步跟踪法破解Aspack条件:一般是不是很复杂的程序方法:通过载入程序,当程序弹出点击事件框的时候就重新od载入,因为当点击事件框出现的时候意味着程序已经进入了oep当中。所以当不断进入call当中去寻找oep所在位置,中间遇到跳转使用f4进行标记汇编命令再运行就可以跳转。找到之后进行运行,删除分析,使用od的脱壳调试进行有两种方法分别都采用一次。得到两个文件都进行保存,...原创 2018-05-16 11:30:23 · 1605 阅读 · 0 评论 -
之前的逆向(7)逆向入门
【题目链接】http://123.206.31.85/challenges#逆向入门【解题流程和思路】打开之后是一个没有后缀的文件,尝试添加后缀exe没有结果尝试添加后缀pyc没有结果尝试载入od没有结果尝试载入IDA还是没有结果尝试载入PE工具发现不是PE文件看了Writeup直接拖入txt出来了一些代码,一般在这种情况下出现的都是base64进行加密,对其进行base64编码转图片出来的图片是...原创 2018-04-28 07:11:00 · 327 阅读 · 0 评论 -
之前的逆向(6)第三届上海大学生网络竞赛-easy crack
【题目链接】https://www.ichunqiu.com/battalion?t=1&r=59857【解题流程和思路】因为分数比较低,以为直接就能够明文对比,没想到和想象的不一样,这道题涉及到Nspack脱壳还有算法破解。第一步 破解Nspack 壳,使用 peid 查看发现是 nspack 的3.x 壳。使用 ESP定律进行脱壳第二步 使用IDA对算法进行破解,使用 F5转换成c 语...原创 2018-04-28 07:09:28 · 380 阅读 · 0 评论 -
之前的逆向(5)-看雪-hellore
【题目链接】http://www.shiyanbar.com/ctf/1884【解题流程和思路】下载程序之后拖入OD进行逆向分析,在比较call中进行暂停,发现是输入的字符串进行加密之后与加密后的字符进行对比。那么主要的是寻找加密方式,使用OD并不能快速找到加密方式。换做IDA进行分析。记住之前od关键call位置,在IDA当中进行寻找IDA当中分析加密方式编写程序进行反加密即可。如何编写程序?分...原创 2018-04-28 07:06:28 · 440 阅读 · 0 评论 -
之前的逆向(4)-实验吧-Just Click
题目链接:http://www.shiyanbar.com/ctf/1889使用 peid 对该程序进行 查看发现是 一个c++程序 考虑使用 netreflactor 对其进行反编译打开netreflactor 打开之后 找到 windows 窗口判定 程序代码打开该 exe的时候是让 自己选择怎么去点击 button 根据判断要求来进行判断 得到的flag...原创 2018-04-28 07:02:42 · 266 阅读 · 0 评论 -
之前的逆向(3)-实验吧-smail 文件 的分析
题目链接http://www.shiyanbar.com/ctf/1871下载之后 得到的是一个dex 文件 使用 dex2jar生成新的一个文件 再使用jd hgui 对其进反编译得到然后自己计算就是flag!考察了 dex 和 jd -gui 的使用 可以避免分析 smail 文件...原创 2018-04-28 07:00:37 · 393 阅读 · 0 评论 -
之前的逆向(2)-bin 100 etctf
利用 od 进行逆向http://www.shiyanbar.com/ctf/1747 使用od 进行修改 程序的汇编代码 从而得到flag首先使用peid 查看该编译代码的 语言 发现是 c艹 嗯 不会使用 od 进行反编译打开od 之后 搜索 文本 ,找到判断的 汇编跳转指令只要将 汇编跳转指令换成nop就是不执行 就可以不执行 判断 那一部分所以 修改程序 至nop 所以无论你是否输入符合...原创 2018-04-28 06:58:51 · 290 阅读 · 0 评论 -
之前的逆向(1)-实验吧-Byte Code
Byte Codehttp://www.shiyanbar.com/ctf/1997通过连接下载的文件是一个class 文件 百度了怎么打开class知道能够用 eclipse 和 txt 打开 打开之后发现是打不开的。是一个class 文件 然后使用jd - gui 进行 逆向 发现得到的结果是这样的 (果然jd gui 是一个非常好用的工具)发现key即可...原创 2018-04-28 06:57:03 · 345 阅读 · 0 评论 -
蓝鲸ctf 逆向0x3 r100
【题目链接】http://whalectf.xin/challenges#app-release【解题流程和思路】下载之后发现打不开,使用notepad打开文件发现是elf文件,先将其放在linux系统下,发现是要求你输入flag,输入之后进行比较,然后输出提示,使用IDA对这道题目应该是最快的解法了吧将其载入ida当中观察先转到主函数当中按下f5进入sub 4006fd对这块进行分析,发现是将输...原创 2018-04-10 18:58:31 · 755 阅读 · 0 评论 -
蓝鲸ctf 逆向0x4 逆向练习
【题目链接】http://whalectf.xin/challenges#%E9%80%86%E5%90%91%E7%BB%83%E4%B9%A0【解题流程和思路】下载之后发现是一个windows窗口程序,先尝试使用od对其进行破解,但是发现这个加密的方法太过困难了。定位到加密函数的时候并不是自己所想的那个样子可以直接得到加密函数的源代码,在他的加密函数当中嵌套了一个函数,在函数当中又进行嵌套,反...原创 2018-04-10 19:00:36 · 1272 阅读 · 0 评论 -
蓝鲸ctf 逆向0x2 app-release
【题目链接】http://whalectf.xin/challenges#app-release【解题流程和思路】基本流程和上面的warm up那道题目相同,也是对输入进行异或处理,处理得到的数据进行比较就可以得到flag了打开之后发现需要的进行异或字符串将就上一道题目的python写出了flag...原创 2018-04-10 18:57:03 · 609 阅读 · 0 评论 -
2018 10 15 pwn的学习0x6 aslr保护和pie保护
1.getint 是什么getint函数将输入的字符流分解后才能整数,且每次调用得到一个整数。getint需要返回转换得到的整数,并且在到达输入结尾的时候返回文件结束标记2.什么是stdin stdout 怎么进行利用?C去写文件时的操作,File *fp=fopen(),这个fp就是我们向系统申请的stdin,stdout,stderr就是这个fp,不过他是随着计算机系统的开启默认打...原创 2018-10-15 23:44:22 · 1477 阅读 · 0 评论