能力值:
( LV8,RANK:147 )
|
-
-
2 楼
能上传一下题目吗?
|
能力值:
(RANK:730 )
|
-
-
3 楼
|
能力值:
( LV8,RANK:147 )
|
-
-
4 楼
有毒
已经上传题目
谢谢~
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
这也不算rop吧,算个ret2text
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
大佬您好,请问payload中的0x88+0x4是怎样获得的
|
能力值:
( LV3,RANK:35 )
|
-
-
7 楼
Hotspur
大佬您好,请问payload中的0x88+0x4是怎样获得的[em_9]
查看栈空间
|
能力值:
( LV12,RANK:407 )
|
-
-
8 楼
函数里面的char的位置是ebp-0x88
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
+0x4 是因为什么呢?是因为32位程序吗?
|
能力值:
( LV5,RANK:75 )
|
-
-
10 楼
栈空间是0x88+ebp+ret(返回地址),ROP要覆盖的是返回地址,所以+0x4是因为要覆盖ebp,ebp是没用的
|
能力值:
( LV1,RANK:0 )
|
-
-
11 楼
大佬,我想请问一下:payload = 'A' * (0x88 + 0x4) + p32(sys_addr) + p32(0xdeadbeef) + p32(sh_addr)中p32(0xdeadbeef)的作用是什么,是覆盖栈中的什么位置,为什么去掉 了它就不成功。
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
请问一下大佬,read函数有三个参数,这三个参数是不是按从右到左存放在返回地址下面啊,存的是buf数组的首地址吗
|
能力值:
(RANK:730 )
|
-
-
13 楼
ZhangZreo
大佬,我想请问一下:payload = 'A' * (0x88 + 0x4) + p32(sys_addr) + p32(0xdeadbeef) + p32(sh_addr)中p32(0xde ...
是为了覆盖ebp
|
能力值:
(RANK:730 )
|
-
-
14 楼
wx_辰先森
请问一下大佬,read函数有三个参数,这三个参数是不是按从右到左存放在返回地址下面啊,存的是buf数组的首地址吗
是的
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
谢谢
|
能力值:
( LV1,RANK:0 )
|
-
-
16 楼
谢谢大佬
|
能力值:
( LV1,RANK:0 )
|
-
-
17 楼
大佬,在跳到system函数的时候,是不是不会在进行 push ebp mov ebp,esp 的操作,这样构造的栈针才会起作用
|
能力值:
( LV1,RANK:0 )
|
-
-
18 楼
大佬,还是有点不懂,大佬说是覆盖ebp,那system函数的返回地址不用覆盖吗?栈针的结构不是 参数 返回地址 ebp 局部变量
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
@ZhangZreo 那个sysaddr就是ret address,返回后覆盖为system的地址 你可以自己操练一下,把remote()改为process()
|
能力值:
( LV1,RANK:0 )
|
-
-
20 楼
问下大佬,为什么payload里system的地址不是0x804849E呢?
|
|
|