论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
代码审计
[901] 2019-04-08_PHP代码审计笔记--CSRF跨站请求伪造
文档创建者:
s7ckTeam
浏览次数:
14
最后更新:
2025-01-16
代码审计
14 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2019-04-08_PHP代码审计笔记--CSRF跨站请求伪造
P
H
P
代
码
审
计
笔
记
-
-
C
S
R
F
跨
站
请
求
伪
造
原
创
B
y
p
a
s
s
B
y
p
a
s
s
2
0
1
9
-
0
4
-
0
8
0
x
0
1
前
言
前
言
C
S
R
F
(
C
r
o
s
s
-
s
i
t
e
r
e
q
u
e
s
t
f
o
r
g
e
r
y
)
跨
站
请
求
伪
造
。
攻
击
者
盗
用
了
你
的
身
份
,
以
你
的
名
义
向
第
三
方
网
站
发
送
恶
意
请
求
,
对
服
务
器
来
说
这
个
请
求
是
完
全
合
法
的
,
但
是
却
完
成
了
攻
击
者
所
期
望
的
一
个
操
作
,
比
如
以
你
的
名
义
发
送
邮
件
,
发
私
信
,
添
加
管
理
用
户
,
甚
至
于
交
易
转
账
等
。
这
就
利
用
了
w
e
b
中
用
户
身
份
认
证
验
证
的
一
个
漏
洞
:
简
单
的
身
份
验
证
仅
仅
能
保
证
请
求
发
自
某
个
用
户
的
浏
览
器
,
却
不
能
保
证
请
求
本
身
是
用
户
自
愿
发
出
的
。
0
x
0
1
漏
洞
案
例
漏
洞
案
例
C
M
S
官
网
:
h
t
t
p
:
/
/
w
w
w
.
d
o
c
c
m
s
.
c
o
m
程
序
源
码
:
D
o
c
C
m
s
2
0
1
6
在
d
o
c
c
m
s
a
d
m
i
n
i
c
o
n
t
r
o
l
l
e
r
s
s
y
s
t
e
m
b
a
c
k
.
p
h
p
中
,
e
x
p
o
r
t
函
数
直
接
对
提
交
上
来
的
参
数
t
a
b
l
e
s
/
s
i
z
e
l
i
m
i
t
进
行
处
理
,
导
出
s
q
l
备
份
文
件
,
未
对
访
问
来
源
进
行
有
效
验
证
,
导
致
数
据
库
备
份
模
块
存
在
C
S
R
F
漏
洞
。
漏
洞
利
用
:
1
、
构
造
C
S
R
F
漏
洞
利
用
代
码
,
只
备
份
管
理
员
用
户
表
d
o
c
_
u
s
e
r
:
2
、
在
网
站
首
页
在
线
留
言
提
交
C
S
R
F
漏
洞
利
用
代
码
:
3
、
当
管
理
员
在
后
台
查
看
留
言
信
息
时
,
自
动
备
份
数
据
库
到
/
d
o
c
c
m
s
/
t
e
m
p
/
d
a
t
a
目
录
下
:
f
u
n
c
t
i
o
n
e
x
p
o
r
t
(
)
{
g
l
o
b
a
l
$
d
b
,
$
r
e
q
u
e
s
t
,
$
s
i
z
e
l
i
m
i
t
,
$
s
t
a
r
t
r
o
w
;
$
t
a
b
l
e
s
=
$
r
e
q
u
e
s
t
[
'
t
a
b
l
e
s
'
]
;
$
s
i
z
e
l
i
m
i
t
=
$
r
e
q
u
e
s
t
[
'
s
i
z
e
l
i
m
i
t
'
]
;
i
f
(
$
r
e
q
u
e
s
t
[
'
d
o
s
u
b
m
i
t
'
]
)
{
$
f
i
l
e
i
d
=
i
s
s
e
t
(
$
r
e
q
u
e
s
t
[
'
f
i
l
e
i
d
'
]
)
?
$
r
e
q
u
e
s
t
[
'
f
i
l
e
i
d
'
]
:
1
;
i
f
(
$
f
i
l
e
i
d
=
=
1
&
&
$
t
a
b
l
e
s
)
{
i
f
(
!
i
s
s
e
t
(
$
t
a
b
l
e
s
)
|
|
!
i
s
_
a
r
r
a
y
(
$
t
a
b
l
e
s
)
)
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
请
选
择
要
备
份
的
数
据
表
!
'
)
;
w
i
n
d
o
w
.
h
i
s
t
o
r
y
.
g
o
(
0
)
;
<
/
s
c
r
i
p
t
>
"
;
$
r
a
n
d
o
m
=
m
t
_
r
a
n
d
(
1
0
0
0
0
0
,
9
9
9
9
9
9
)
;
c
a
c
h
e
_
w
r
i
t
e
(
'
b
a
k
u
p
_
t
a
b
l
e
s
.
p
h
p
'
,
$
t
a
b
l
e
s
)
;
}
e
l
s
e
{
i
f
(
!
$
t
a
b
l
e
s
=
c
a
c
h
e
_
r
e
a
d
(
'
b
a
k
u
p
_
t
a
b
l
e
s
.
p
h
p
'
)
)
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
请
选
择
要
备
份
的
数
据
表
!
'
)
;
w
i
n
d
o
w
.
h
i
s
t
o
r
y
.
g
o
(
-
1
)
;
<
/
s
c
r
i
p
t
>
"
;
}
$
s
q
l
d
u
m
p
=
'
'
;
$
t
a
b
l
e
i
d
=
i
s
s
e
t
(
$
r
e
q
u
e
s
t
[
'
t
a
b
l
e
i
d
'
]
)
?
$
r
e
q
u
e
s
t
[
'
t
a
b
l
e
i
d
'
]
-
1
:
0
;
$
s
t
a
r
t
f
r
o
m
=
i
s
s
e
t
(
$
r
e
q
u
e
s
t
[
'
s
t
a
r
t
f
r
o
m
'
]
)
?
i
n
t
v
a
l
(
$
r
e
q
u
e
s
t
[
'
s
t
a
r
t
f
r
o
m
'
]
)
:
0
;
$
t
a
b
l
e
n
u
m
b
e
r
=
c
o
u
n
t
(
$
t
a
b
l
e
s
)
;
f
o
r
(
$
i
=
$
t
a
b
l
e
i
d
;
$
i
<
$
t
a
b
l
e
n
u
m
b
e
r
&
&
s
t
r
l
e
n
(
$
s
q
l
d
u
m
p
)
<
$
s
i
z
e
l
i
m
i
t
*
1
0
2
4
;
$
i
+
+
)
{
$
s
q
l
d
u
m
p
.
=
s
q
l
_
d
u
m
p
t
a
b
l
e
(
$
t
a
b
l
e
s
[
$
i
]
,
$
s
t
a
r
t
f
r
o
m
,
s
t
r
l
e
n
(
$
s
q
l
d
u
m
p
)
)
;
$
s
t
a
r
t
f
r
o
m
=
0
;
}
<
H
2
>
C
R
S
F
T
e
s
t
e
r
<
/
H
2
>
<
i
m
g
s
r
c
=
"
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
0
/
a
d
m
i
n
i
/
i
n
d
e
x
.
p
h
p
?
m
=
s
y
s
t
e
m
&
s
=
b
a
k
u
p
&
a
=
e
x
p
o
r
t
&
t
a
b
l
e
s
[
]
=
d
o
c
_
u
s
e
r
&
s
i
z
e
l
i
m
i
t
=
2
0
4
8
&
d
o
s
u
b
m
i
t
=
开
始
备
份
数
据
"
w
i
d
t
h
=
"
0
"
h
e
i
g
h
t
=
"
0
"
b
o
r
d
e
r
=
"
0
"
/
>
4
、
数
据
库
备
份
文
件
默
认
备
份
在
/
d
o
c
c
m
s
/
t
e
m
p
/
d
a
t
a
目
录
,
备
份
文
件
名
是
有
规
则
的
,
命
名
格
式
为
:
数
据
库
名
称
+
下
划
线
_
+
8
位
备
份
日
期
+
下
划
线
_
+
6
位
随
机
数
+
数
据
表
备
份
卷
号
,
如
d
o
c
c
m
s
_
2
0
1
8
0
1
1
5
_
3
0
8
0
3
4
_
1
.
s
q
l
,
只
需
爆
破
6
位
随
机
数
字
即
可
获
取
s
q
l
备
份
路
径
。
0
x
0
2
漏
洞
防
范
漏
洞
防
范
C
S
R
F
攻
击
是
攻
击
者
利
用
用
户
的
身
份
操
作
用
户
帐
户
的
一
种
攻
击
方
式
,
通
常
可
以
采
用
如
下
措
施
来
进
行
防
御
:
1
、
增
加
T
o
k
e
n
/
R
e
f
e
r
e
r
验
证
2
、
增
加
验
证
码
3
、
用
户
二
次
验
证
4
、
H
T
T
P
头
中
自
定
义
属
性
并
验
证
0
x
0
3
绕
过
技
巧
绕
过
技
巧
C
S
R
F
可
以
使
用
验
证
R
e
f
e
r
e
r
/
T
o
k
e
n
的
方
式
进
行
防
御
,
但
是
有
防
护
就
有
可
能
被
绕
过
,
网
站
服
务
端
的
验
证
方
法
仍
然
可
能
存
在
漏
洞
,
需
要
进
行
不
断
的
尝
试
。
R
e
f
e
r
e
r
绕
过
姿
势
绕
过
姿
势
1
.
空
R
e
f
e
r
e
r
绕
过
跨
协
议
间
提
交
请
求
。
常
见
的
协
议
:
f
t
p
:
/
/
,
h
t
t
p
:
/
/
,
h
t
t
p
s
:
/
/
,
f
i
l
e
:
/
/
,
j
a
v
a
s
c
r
i
p
t
:
,
d
a
t
a
:
,
最
简
单
的
情
况
就
是
我
们
在
本
地
打
开
一
个
H
T
M
L
页
面
,
这
个
时
候
浏
览
器
地
址
栏
是
f
i
l
e
:
/
/
开
头
的
,
如
果
这
个
H
T
M
L
页
面
向
任
何
h
t
t
p
站
点
提
交
请
求
的
话
,
这
些
请
求
的
R
e
f
e
r
e
r
都
是
空
的
。
那
么
我
们
接
下
来
可
以
利
用
d
a
t
a
:
协
议
来
构
造
一
个
自
动
提
交
的
C
S
R
F
攻
击
。
当
然
这
个
协
议
是
I
E
不
支
持
的
,
我
们
可
以
换
用
j
a
v
a
s
c
r
i
p
t
:
假
如
h
t
t
p
:
/
/
a
.
b
.
c
o
m
/
d
这
个
接
口
存
在
空
R
e
f
e
r
e
r
绕
过
的
C
S
R
F
,
那
么
我
们
的
P
O
C
可
以
是
这
样
的
:
上
面
i
f
r
a
m
e
的
s
r
c
的
代
码
其
实
是
:
自
动
提
交
表
单
到
有
缺
陷
的
C
G
I
。
2
.
判
断
R
e
f
e
r
e
r
是
某
域
情
况
下
绕
过
比
如
你
找
的
c
s
r
f
是
x
x
x
.
c
o
m
验
证
的
r
e
f
e
r
e
r
是
验
证
的
*
.
x
x
.
c
o
m
可
以
找
个
二
级
域
名
之
后
<
i
m
g
"
c
s
r
f
地
址
"
>
之
后
在
把
文
章
地
址
发
出
去
就
可
以
伪
造
。
3
.
判
断
R
e
f
e
r
e
r
是
否
存
在
某
关
键
词
r
e
f
e
r
e
r
判
断
存
在
不
存
在
g
o
o
g
l
e
.
c
o
m
这
个
关
键
词
在
网
站
新
建
一
个
g
o
o
g
l
e
.
c
o
m
目
录
把
C
S
R
F
存
放
在
g
o
o
g
l
e
.
c
o
m
目
录
,
即
可
绕
过
<
h
t
m
l
>
<
b
o
d
y
>
<
i
f
r
a
m
e
s
r
c
=
"
d
a
t
a
:
t
e
x
t
/
h
t
m
l
;
b
a
s
e
6
4
,
P
G
Z
v
c
m
0
g
b
W
V
0
a
G
9
k
P
X
B
v
c
3
Q
g
Y
W
N
0
a
W
9
u
P
W
h
0
d
H
A
6
L
y
9
h
L
m
I
u
Y
2
9
t
L
2
Q
+
P
G
l
u
c
H
V
0
I
H
R
5
c
G
U
9
d
G
V
4
d
C
B
u
Y
W
1
l
P
S
d
p
Z
C
c
g
d
m
F
s
d
W
U
9
J
z
E
y
M
y
c
v
P
j
w
v
Z
m
9
y
b
T
4
8
c
2
N
y
a
X
B
0
P
m
R
v
Y
3
V
t
Z
W
5
0
L
m
Z
v
c
m
1
z
W
z
B
d
L
n
N
1
Y
m
1
p
d
C
g
p
O
z
w
v
c
2
N
y
a
X
B
0
P
g
=
=
"
<
/
d
o
b
y
>
<
/
h
t
m
l
>
<
f
o
r
m
m
e
t
h
o
d
=
p
o
s
t
a
c
t
i
o
n
=
h
t
t
p
:
/
/
a
.
b
.
c
o
m
/
d
>
<
i
n
p
u
t
t
y
p
e
=
t
e
x
t
n
a
m
e
=
'
i
d
'
v
a
l
u
e
=
'
1
2
3
'
/
>
<
/
f
o
r
m
>
<
s
c
r
i
p
t
>
d
o
c
u
m
e
n
t
.
f
o
r
m
s
[
0
]
.
s
u
b
m
i
t
(
)
;
<
/
s
c
r
i
p
t
>
R
e
f
e
r
f
e
r
:
h
t
t
p
s
:
/
/
w
w
w
.
e
v
i
l
.
c
o
m
修
改
为
:
R
e
f
e
r
f
e
r
:
h
t
t
p
s
:
/
/
i
m
g
.
e
v
i
l
.
c
o
m
R
e
f
e
r
e
r
:
h
t
t
p
s
:
/
/
w
w
w
.
g
o
o
g
l
e
.
c
o
m
/
x
x
x
.
j
s
p
修
改
为
:
R
e
f
e
r
e
r
:
h
t
t
p
s
:
/
/
w
w
w
.
e
v
i
l
.
c
o
m
/
w
w
w
.
g
o
o
g
l
e
.
c
o
m
/
x
x
x
.
j
s
p
R
e
f
e
r
e
r
:
h
t
t
p
s
:
/
/
w
w
w
.
e
v
i
l
.
c
o
m
/
w
w
w
.
g
o
o
g
l
e
.
c
o
m
/
x
x
x
.
j
s
p
.
p
h
p
4
.
判
断
r
e
f
e
r
e
r
是
否
有
某
域
名
判
断
了
R
e
f
e
r
e
r
开
头
是
否
以
g
o
o
g
l
e
.
c
o
m
以
及
g
o
o
g
l
e
子
域
名
,
不
验
证
根
域
名
为
1
2
6
.
c
o
m
那
么
我
这
里
可
以
构
造
子
域
名
x
.
g
o
o
g
l
e
.
c
o
m
.
x
x
x
.
c
o
m
作
为
蠕
虫
传
播
的
载
体
服
务
器
,
即
可
绕
过
。
T
o
k
e
n
绕
过
姿
势
绕
过
姿
势
1
.
T
o
k
e
n
无
效
验
证
服
务
端
没
有
校
验
t
o
k
e
n
,
直
接
将
U
R
L
中
将
参
数
t
o
k
e
n
去
掉
。
另
外
,
部
分
模
块
有
T
o
k
e
n
校
验
,
有
些
模
块
却
没
有
t
o
k
e
n
,
找
那
些
没
有
校
验
的
漏
网
之
鱼
。
2
.
利
用
x
s
s
漏
洞
来
绕
过
C
S
R
F
防
御
存
在
x
s
s
的
情
况
下
,
使
用
a
j
a
x
来
跨
域
获
取
D
O
M
节
点
中
的
T
o
k
e
n
字
段
,
来
进
行
构
造
。
3
.
T
o
k
e
n
是
固
定
不
变
的
T
o
k
e
n
规
则
过
于
简
单
,
比
如
根
据
某
个
用
户
i
d
做
了
单
向
h
a
s
h
获
得
的
,
可
以
直
接
去
构
造
。
4
.
T
o
k
e
n
泄
露
T
o
k
e
n
的
表
数
据
泄
露
,
或
者
算
法
泄
露
,
程
序
逻
辑
不
严
谨
导
致
的
安
全
隐
患
。
R
e
f
e
r
e
r
:
h
t
t
p
:
/
/
m
e
m
b
e
r
.
x
x
x
.
c
o
m
修
改
为
:
R
e
f
e
r
e
r
:
h
t
t
p
:
/
/
m
e
m
b
e
r
.
x
x
x
.
c
o
m
.
e
v
i
l
.
c
o
m
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页