自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 [BUUCTF]PWN——babyheap_0ctf_2017

[BUUCTF]PWN19——babyheap_0ctf_2017附件步骤:例行检查,64位,保护全开试运行一下程序,看到这个布局菜单,知道了这是一道堆的题目,第一次接触堆的小伙伴可以去看一下这个视频,我也刚接触堆不久,有些地方我也讲不清楚ida载入,先看一下main函数,做堆题的时候需要将程序给理清楚了,这边的几个选项函数一开始不是如图所示的,我们可以右击给他重新命名一下,为了让我们看的更清楚add,就是简单的创建一个chunkedit,我们写入数据的长度是我们可以自己控制的,存在堆

2020-12-23 10:38:07 2900 3

原创 CTFHub[PWN技能树]——栈溢出

文章目录一、ret2text二、ret2shellcode一、ret2text例行检查,64位程序,没有开启任何保护本地运行一下情况,看看大概的情况64位ida载入,检索程序里的字符串发现了bin/sh要满足条件才可以执行,但是我们可以直接跳转到0x4007B8去system(‘/bin/sh’)看main函数第8行,gets函数读入没有限制数据的长度,明显的溢出,溢出ret到执行system(‘/bin/sh’)的地址即可from pwn import *#p=proc

2020-12-19 23:10:05 2397 3

原创 [BUUCTF]REVERSE——[FlareOn6]Overlong

[FlareOn6]Overlong附件步骤:例行检查,32位程序,不懂是个啥32位ida载入,main函数很简单处理函数sub_401000程序只对unk_402008的28位进行了处理,但是我看unk_402008并不止28位,实际长度是0xaf(0xb7-0x8)运行了一下附件,发现弹框里的数据长度也是28,结尾是:,让人总觉得后面还有东西将长度修改一下,让他将unk_402008完全处理一下看看,ida修改了不会保存,od动调修改需要将0x1c压入栈中,在栈中修改,我直

2020-12-18 15:32:11 926

原创 [BUUCTF]PWN——roarctf_2019_easy_pwn(详解)

roarctf_2019_easy_pwn附件步骤:例行检查,64位程序,保护全开试运行一下程序,看看大概的情况,经典的堆块的菜单64位ida载入,改了一下各个选项的函数名,方便看程序(按N)addeditfreeshow这道题通过 offbyone来构造重叠chunk,达到任意地址分配chunk的效果,然后修改__realloc_hook地址处的内容为one gadget地址,修改malloc_hook地址处的内容为ralloc函数的地址+x我们先申

2020-12-18 11:01:38 2340 5

原创 [BUUCTF]PWN——[ZJCTF 2019]EasyHeap

[ZJCTF 2019]EasyHeap附件步骤:例行检查,64位程序试运行一下看看程序大概执行的情况,经典的堆块的菜单64位ida载入,首先检索字符串,发现了读出flag的函数看一下每个选项的函数add这边size的大小由我们输入控制,heaparray数组在bss段上存放着我们chunk的指针edit,简单的根据指针修改对应chunk里的值,但是这里的size也是由我们手动输入的,也就是说只要我们这边输入的size比add的时候输入的size大就会造成溢出delete,释

2020-12-16 21:16:47 478 1

原创 [BUUCTF]REVERSE——[WUSTCTF2020]level3

[WUSTCTF2020]level3附件步骤:例行检查,64位程序,无壳64位ida载入,找到关键函数看样子是个base64加密,但又感觉没那么简单,再翻翻左边的函数,找到了base64加密变表的函数将加密表变换一下写个解密expimport base64table = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='model = list("ABCDEFGHIJKLMNOPQRSTUVWX

2020-12-16 19:54:07 502

原创 [BUUCTF]REVERSE——[MRCTF2020]hello_world_go

[MRCTF2020]hello_world_go附件步骤:例行检查,64位程序,无壳64位ida载入,检索程序里的字符串,有很多,直接检索flag一个一个点过去,找到了flag按a,提取字符串flag{hello_world_gogogo}

2020-12-16 19:53:47 1293

原创 [BUUCTF]REVERSE——[GKCTF2020]BabyDriver

[GKCTF2020]BabyDriver附件步骤:例行检查,64位程序,无壳64位ida载入,检索程序里的字符串,看到提示flag是md5(input),下方还看到了类似迷宫的字符串找到关键函数从o出发到#结束,碰到*失败,只能走‘.’,但是这个上下左右md5加密出来的东西不对看了别人的wp才知道这里由于是sys文件,是由键盘过滤驱动获取键盘扫描码来控制上下左右,而不是ascll码所以刚刚的上下左右对应的是IKJL画出迷宫,走一下顺序是LKKKLLKLKKKLLLKKKLLL

2020-12-14 18:44:19 278

原创 [BUUCTF]PWN——[V&N2020 公开赛]simpleHeap

[V&N2020 公开赛]simpleHeap附件步骤:例行检查,64位,保护全开根据题目可知是一道堆,直接用64位ida打开我修改了这些函数的名称,这样方便看程序add,我们可以申请一个0~111大小的堆块,note_list里存放的是chunk的指针,size_list里存放的是chunk的sizeeditedit_1,可以看到当i在出了第6行的if循环的时候,它的值是a2+1,这样导致存在off by one漏洞,应该将判断条件改写成>=10show,根据传

2020-12-14 18:44:04 457

原创 [BUUCTF]REVERSE——[MRCTF2020]Xor

[MRCTF2020]Xor附件步骤:例行检查,32位程序,无壳32位ida载入,首先检索程序里的字符串,根据字符串的提示,跳转到程序的关键函数根据flag,跳转到sub_401090函数可以看到v0和byte_4212c0按位异或,最后得到byte_41EA08就会输出right看一下byte_41EA08的值直接写个异或的exp看一下byte_4212c0里的值a="MSAWB~FXZ:J:`tQJ\"N@ bpdd}8g"s=""for i in range(len(a

2020-12-12 14:59:40 486

原创 [BUUCTF]REVERSE——[FlareOn4]IgniteMe

[FlareOn4]IgniteMe附件步骤:例行检查,32位程序,无壳32位ida载入当满足第10行的if条件时,输出G00d j0b!提示我们成功,看一下sub_401050函数3.sub_401050函数byte_403180经过10~14行的操作后的值与byte_403000数组相同v4的值,不大懂这个的结果是什么,动调后看到是0x4v4返回的是一个定值,动态调试就能出来,v0就是接收函数的整的花里胡哨。理一下,程序对我们输入的字符串,最后一个字符xor 0x4,

2020-12-11 16:30:13 344

原创 [BUUCTF]REVERSE——crackMe

crackMe附件步骤:例行检查,32位程序,无壳32位ida载入,已知用户名welcomebeijing,解密码,直接看main函数可以看到程序是个死循环,只有满足sub_404830函数的条件,才能跳出循环sub_404830函数里要让sub_404830函数返回1,必须要让v13=43924,v13经过了sub_401470的变换,先看sub_401470函数_DWORD *__usercall sub_401470@<eax>(int a1@<eb

2020-12-11 16:29:54 647

原创 [BUUCTF]PWN——[BJDCTF 2nd]ydsneedgirlfriend2

[BJDCTF 2nd]ydsneedgirlfriend2附件步骤:例行检查,64位程序,开启了canary和nx试运行一下程序,看看大概的情况,经典的堆块的布局64位ida载入,习惯性的检索程序里的字符串,发现了后门函数,shell_addr=0x400D864.找一下4个菜单选项的函数adddeledele函数存在明显的UAF漏洞,关于UAF漏洞,具体的看这篇文章https://my.oschina.net/u/4345478/blog/4656767show我

2020-12-11 16:29:43 144

原创 [BUUCTF]REVERSE——[WUSTCTF2020]level2

[WUSTCTF2020]level2附件步骤:例行检查,32位程序,upx壳儿脱完壳儿,扔进32位ida,习惯性的检索字符串,在我没找到什么关键信息,准备去看main函数的时候,将字符串拉到底,看到了一个眼熟的东西wctf2020{Just_upx_-d}...

2020-12-10 19:46:02 419

原创 [BUUCTF]REVERSE——[BJDCTF2020]BJD hamburger competition

[BJDCTF2020]BJD hamburger competition附件步骤:例行检查,64位程序,无壳儿由于unity是用C++开发的,这里就不用IDA了,直接用dnspy看源码在BJD hamburger competition_Data\Managed文件夹中找到Assembly-CSharp.dll(进去文件后第一个就是)这个dll文件是程序的源码,用来存放C++工程。试运行了一下程序,发现进去后我们可以点击一些“食材”,在dnspy里找到有用的ButtonSpaw

2020-12-10 19:45:36 1085

原创 [BUUCTF]REVERSE——[WUSTCTF2020]level1

[WUSTCTF2020]level1附件步骤:下载下来的附件有两个,output.txt里是一堆数字64位ida打开第一个附件,检索字符串,发现了flag字样双击跟进,ctrl+x交叉引用,找到了关键函数程序很简单,一开始打开flag文件读出了flag文件里的内容,之后将里面的内容按照12行到18行的语句进行处理后输出。附件里还有一个文件,output.txt,猜测就是输出后的内容,将里面的数据根据这个算法还原一下flag里的内容expa = [198,232,

2020-12-10 19:44:15 634

原创 [BUUCTF]PWN——[BJDCTF 2nd]secret

[BJDCTF 2nd]secret附件步骤:例行检查,64位程序,开启了canary和nx本地试运行一下,看看程序大概的情况,好像是一个什么游戏64位ida载入,检索程序里的字符串,发现了flag字样双击,ctrl+x找到了函数sub_46A3F(),游戏开始界面,让我们输入名字sub_40136D()函数太长了,没法f5看汇编,看到首先调用了sub_46A329函数,在sub_46A329里读入了一个数据,off_46D090-1,然后跟标记处的数据比较,如果正确的话,就跳

2020-12-09 20:08:20 163

原创 [BUUCTF]PWN——pwnable_start

pwnable_start附件步骤:例行检查,32位程序,什么保护都没开,首先想到的是ret2shellcode的方法本地试运行一下,看看程序大概的情况32位ida载入,没法f5,好在汇编不长,看得懂一开始调用write函数输出了let’s start the ctf,4是write函数的调用号,之后的调用号是3,调用了read函数,我们知道dl这个寄存器是控制输入字符的多少的,也就是所我们可以输入0x3c个字符,也就是执行了write(1,buf,0x14)read

2020-12-05 21:46:31 1205 2

原创 Niushop开源商店渗透测试

靶机 提取码:le8l首先连上靶机先扫一下靶场ip,看看开启了哪些端口开启了80端口,扫描一下目录一个shop的界面,一个admin后台管理界面其他的目录翻看了一下,看样子是网站的配置文件,但是打开后是空的应该是上传文件的目录,之后可能会用到看完扫描结果,去shop界面创建一个用户登录看看首先是看一下输入框,是否存在sql注入看这个样子应该是不存在sql注入了在个人信息这边,看到有填写信息的输入框,输入,确认修改后来看看有没有xss漏洞,改完后并没有弹窗,不存在x

2020-12-04 00:47:12 2711

原创 [BUUCTF]REVERSE——[HDCTF2019]Maze

[HDCTF2019]Maze附件步骤:例行检查,32位程序,upx壳upx脱壳儿后扔进32位ida,首先检索程序里的字符串有类似迷宫的字符串,下面也有有关flag的提示字符串,但是没法进行交叉引用跳转查看main函数,没法f5,看汇编,下方有个奇怪的jnz指令,它跳转到了下一行,相当于没跳它call了一个奇怪的地址,ida没法分析出来,百度后得知这个叫花指令,nop掉之后就是这个call指令,不能全部nop,因为后面那个东西可能是有效代码(我先全部nop掉了没法f5)。按d将其

2020-12-02 19:44:20 935 1

原创 [BUUCTF]REVERSE——[V&N2020 公开赛]CSRe

[V&N2020 公开赛]CSRe附件步骤:例行检查,无壳儿,但是有NET混淆,使用de4dot工具进行处理之后用dnSpy打开,从入口点开始看程序找到有关flag的信息flag由str+text组成str根据if (Class3.smethod_0("3" + str + "9") != "B498BFA2498E21325D1178417BEA459EB2CD28F8")可以推算出来看一下Class3.smethod_0,是sha1加密sha1解密得到str,str=

2020-12-01 15:45:26 313

原创 [BUUCTF]REVERSE——[MRCTF2020]Transform

[MRCTF2020]Transform附件步骤:例行检查,64位程序,无壳64位ida载入,找到关键函数一开始让我们输入一个长度为33位的字符串,之后使用数组dword_40F040打乱了我们一开始输入的v6的值,打乱后的结果在与dword_40F040异或之后得到byte_40F0E0数组里的值理清楚程序干了什么直接写逆向算法首先将dword_40F040和byte_40F0E0异或一下得到打乱后的输入的字符串之后将打乱的字符串还原回去即可得到输入的字符串dword_40F0

2020-12-01 15:45:13 375

原创 [BUUCTF]REVERSE——[GWCTF 2019]xxor

[GWCTF 2019]xxor附件步骤:无壳,64位ida载入程序很简单,首先让我们输入一个字符串,然后进行中间部分的操作,最后需要满足44行的if判断,看一下sub_400770函数得到几个关系式a1[2] - a1[3] = 2225223423a1[3] + a1[4] = 4201428739a1[2] - a1[4] = 1121399208a1[0] = 3746099070 a1[5] = 550153460a1[1] = 550153460利用z3

2020-12-01 15:44:56 460 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除