- 博客(7)
- 收藏
- 关注
原创 【攻防世界-pwn-练习区】 get_shell
下载文件,checksec一下。64位程序,只开了NX(堆栈不可执行)。用IDA64打开文件,找到main(),F5查看。这就直接结束了。在Lunix中直接nc连接一下。获取flag。cyberpeace{badb17a0fd7e2d9f3e4e9ae3f7872eab}...
2022-01-07 11:51:45
330
原创 【攻防世界-pwn-练习区】 level0
下载文件,checksec一下。64位程序,只开了NX(堆栈不可执行)。用IDA64打开文件,找到main(),F5查看。双击查看一下vulnerable_function()函数。我们可以看到buf可以输入的长度为0x200的东西,双击buf查看一下,发现buf这个字符数组的长度只有0x80。r中存放着的就是返回地址。即当read函数结束后,程序下一步要到的地方。查看一下函数列表那里,发现了一个可以的函数callsystem。我们查看一下。综上所述,只需..
2022-01-07 11:50:59
376
原创 【攻防世界-pwn-练习区】 hello_pwn
下载文件,checksec一下。64位程序,只开了NX(堆栈不可执行)。用IDA64打开文件,找到main(),F5查看。查看一下sub_400686()可以看到,调用这个函数可以获取flag。回到mian(),可以看到如果dword_60106C==1853186401那么就可以获取flag,但我们只能给unk_601068赋值。我们查看一下这俩者的位置。dword_60106C和unk_601068这俩变量都在.bss段,并且dword_60106C就在离unk_601.
2022-01-04 22:07:51
206
原创 [BUUCTF-PWN] ciscn_2019_n_1
下载文件,checksec看一下。用IDA64打开文件,找到main函数,F5查看。双击进去func函数。输入的数传给v1,但是需要使v2=11.28125才能获得flag。我们查看一下v1和v2的栈信息。因此我们可以利用gets先覆盖到v2的部分,再跟上11.28125的十六进制数即可成功获取flag。11.28125的16进制为0x41348000。exp如下:from pwn import *p = remote('node4.buuoj.cn',
2022-01-04 21:43:29
328
原创 [BUUCTF-PWN] warmup_csaw_2016
下载文件,checksec看一下,保护都没开,64位文件。用IDA64打开文件,查看一下main函数。可以看到明显的栈溢出漏洞(gets)。看一下v5,v5大小是 0x40, 返回地址是8 字节, 溢出大小就是0x48。sub_40060D有点可疑,双击看一下。发现这里就是system函数,我们在构造pyaload的时候加上sub_40060D。exp为:from pwn import *p = remote('node4.buuoj.cn', 2574...
2022-01-03 22:43:49
407
原创 [BUUCTF-PWN] rip
下载文件,checksec查看一下文件,64位文件,没有开启任何保护。用IDA64位打开文件,反编译main函数,看到了gets函数,gets函数存在栈溢出漏洞。双击s,可以看到现只需存入15个字节即可劫持函数返回地址。我们同时可以看到存在一个fun函数。就是一个系统调用。查看一下fun函数的地址,为0x401186exp如下:from pwn import *p = remote('node4.buuoj.cn', :9228)payload = b.
2022-01-02 15:16:45
230
原创 [BUUCTF-PWN] test_your_nc
首先checksec文件,64位文件。用64位IDA打开看一下。直接F5看一下main函数,发现直接运行便能获得权限。直接nc一下。ls查看文件,发现flag,cat flag 得到flagflag{efca2876-5aef-468a-9693-722c5a0185ae}...
2022-01-02 14:03:23
234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人