- 博客(7)
- 收藏
- 关注
原创 【攻防世界-pwn-练习区】 get_shell
下载文件,checksec一下。64位程序,只开了NX(堆栈不可执行)。 用IDA64打开文件,找到main(),F5查看。 这就直接结束了。在Lunix中直接nc连接一下。 获取flag。 cyberpeace{badb17a0fd7e2d9f3e4e9ae3f7872eab} ...
2022-01-07 11:51:45
296
原创 【攻防世界-pwn-练习区】 level0
下载文件,checksec一下。64位程序,只开了NX(堆栈不可执行)。 用IDA64打开文件,找到main(),F5查看。 双击查看一下vulnerable_function()函数。 我们可以看到buf可以输入的长度为0x200的东西,双击buf查看一下,发现buf这个字符数组的长度只有0x80。 r中存放着的就是返回地址。即当read函数结束后,程序下一步要到的地方。 查看一下函数列表那里,发现了一个可以的函数callsystem。 我们查看一下。综上所述,只需..
2022-01-07 11:50:59
336
原创 【攻防世界-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
177
原创 [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
264
原创 [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
356
原创 [BUUCTF-PWN] rip
下载文件,checksec查看一下文件,64位文件,没有开启任何保护。 用IDA64位打开文件,反编译main函数,看到了gets函数,gets函数存在栈溢出漏洞。 双击s,可以看到现只需存入15个字节即可劫持函数返回地址。 我们同时可以看到存在一个fun函数。就是一个系统调用。 查看一下fun函数的地址,为0x401186 exp如下: from pwn import * p = remote('node4.buuoj.cn', :9228) payload = b.
2022-01-02 15:16:45
183
原创 [BUUCTF-PWN] test_your_nc
首先checksec文件,64位文件。 用64位IDA打开看一下。 直接F5看一下main函数,发现直接运行便能获得权限。 直接nc一下。 ls查看文件,发现flag,cat flag 得到flag flag{efca2876-5aef-468a-9693-722c5a0185ae} ...
2022-01-02 14:03:23
202
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人