no6*_*no6 0 c linux gcc buffer-overflow nop
我有2个系统:
我在两个系统上编译了以下代码:
int numOfNops = 600;
unsigned char nops[numOfNops];
int i;
for (i=0; i < numOfNops; i++) {
nops[i] = '\x90';
}
...
printf("GET /%s%s\x90\x90%s HTTP/1.0 \n", nops, buf, ESPs);
Run Code Online (Sandbox Code Playgroud)
问题是打印"nops"数组.
Hexdump系统#1
00000250 90 90 90 90 90 90 90 90 90 90 90 90 90 89 e3 da |................|
00000260 c4 d9 73 f4 5f 57 59 49 49 49 49 49 49 49 49 49 |..s._WYIIIIIIIII|
Run Code Online (Sandbox Code Playgroud)
Hexdump系统#2:
00000250 90 90 90 90 90 90 90 90 90 90 90 90 90 24 c5 12 |.............$..|
00000260 89 e3 da c4 d9 73 f4 5f 57 59 49 49 49 49 49 49 |.....s._WYIIIIII|
Run Code Online (Sandbox Code Playgroud)
所以附加字符是:0x24 0xc5 0x12.
[问]为什么?
谢谢.
| 归档时间: |
|
| 查看次数: |
1687 次 |
| 最近记录: |