论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
代码审计
[244] 2018-09-02_PHP代码审计之添加管理员
文档创建者:
s7ckTeam
浏览次数:
10
最后更新:
2025-01-16
代码审计
10 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前在线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2018-09-02_PHP代码审计之添加管理员
P
H
P
代
码
审
计
之
添
加
管
理
员
发
哥
微
课
堂
a
F
a
攻
防
实
验
室
2
0
1
8
-
0
9
-
0
2
0
x
0
0
:
前
言
:
前
言
c
m
s
注
册
用
户
时
,
存
在
添
加
管
理
员
漏
洞
,
记
录
如
下
。
0
x
0
1
:
代
码
追
踪
:
代
码
追
踪
首
先
,
前
台
注
册
普
通
账
号
时
,
u
r
l
地
址
为
/
u
s
e
r
/
r
e
g
i
n
.
p
h
p
,
打
开
r
e
g
i
n
.
p
h
p
发
现
,
刚
开
始
是
接
收
注
册
数
据
,
并
进
行
一
些
校
验
,
代
码
如
下
:
都
是
一
些
基
本
的
校
验
,
且
用
户
名
过
滤
了
特
殊
符
号
,
继
续
往
下
,
处
理
代
码
如
下
:
i
f
(
!
c
h
e
c
k
:
:
C
h
e
c
k
U
s
e
r
(
$
_
P
O
S
T
[
'
u
s
e
r
_
n
a
m
e
'
]
)
)
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
输
入
的
用
户
名
必
须
是
4
-
2
1
字
符
之
间
的
数
字
、
字
母
!
"
,
-
1
)
;
}
$
s
t
r
W
h
e
r
e
=
"
w
h
e
r
e
e
m
a
i
l
=
'
"
.
$
_
P
O
S
T
[
'
e
m
a
i
l
'
]
.
"
'
"
;
$
a
r
r
I
n
f
o
=
c
h
e
c
k
:
:
g
e
t
A
P
I
(
'
m
c
e
n
t
e
r
'
,
'
g
e
t
U
s
e
r
W
h
e
r
e
'
,
"
$
s
t
r
W
h
e
r
e
^
u
s
e
r
_
i
d
"
)
;
i
f
(
!
e
m
p
t
y
(
$
a
r
r
I
n
f
o
)
)
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
错
误
:
该
邮
箱
已
被
使
用
!
"
,
-
1
)
;
}
$
s
t
r
W
h
e
r
e
=
"
w
h
e
r
e
u
s
e
r
_
n
a
m
e
=
'
"
.
$
_
P
O
S
T
[
'
u
s
e
r
_
n
a
m
e
'
]
.
"
'
"
;
$
a
r
r
I
n
f
o
=
c
h
e
c
k
:
:
g
e
t
A
P
I
(
'
m
c
e
n
t
e
r
'
,
'
g
e
t
U
s
e
r
W
h
e
r
e
'
,
"
$
s
t
r
W
h
e
r
e
^
u
s
e
r
_
i
d
"
)
;
i
f
(
!
e
m
p
t
y
(
$
a
r
r
I
n
f
o
)
)
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
错
误
:
用
户
名
已
被
注
册
!
"
,
-
1
)
;
}
$
a
r
r
I
l
l
e
g
a
l
=
a
r
r
a
y
(
'
a
d
m
i
n
'
,
'
管
理
员
'
,
'
客
服
'
)
;
f
o
r
e
a
c
h
(
$
a
r
r
I
l
l
e
g
a
l
a
s
$
v
)
{
i
f
(
s
t
r
i
p
o
s
(
$
_
P
O
S
T
[
'
u
s
e
r
_
n
a
m
e
'
]
,
$
v
)
!
=
=
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
输
入
的
登
录
帐
号
包
含
非
法
字
符
!
"
,
-
1
)
;
}
}
i
f
(
!
i
s
_
n
u
m
e
r
i
c
(
$
_
P
O
S
T
[
'
m
o
b
i
l
e
'
]
)
o
r
s
t
r
l
e
n
(
$
_
P
O
S
T
[
'
m
o
b
i
l
e
'
]
)
>
1
2
)
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
电
话
必
须
为
数
字
并
且
不
能
大
于
1
2
!
"
,
-
1
)
;
}
i
f
(
!
c
h
e
c
k
:
:
C
h
e
c
k
P
o
s
t
(
$
_
P
O
S
T
[
'
p
o
s
t
c
o
d
e
'
]
)
)
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
邮
编
不
符
合
要
求
"
,
-
1
)
;
}
i
f
(
!
c
h
e
c
k
:
:
C
h
e
c
k
P
a
s
s
w
o
r
d
(
$
_
P
O
S
T
[
'
p
a
s
s
w
o
r
d
'
]
)
)
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
输
入
的
密
码
必
须
是
4
-
2
1
字
符
之
间
的
数
字
、
字
母
!
"
,
-
1
)
;
}
i
f
(
$
_
P
O
S
T
[
'
p
a
s
s
w
o
r
d
'
]
!
=
$
_
P
O
S
T
[
'
p
a
s
s
w
o
r
d
_
c
'
]
)
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
两
次
输
入
的
密
码
不
一
致
!
"
,
-
1
)
;
}
i
f
(
$
_
P
O
S
T
[
'
a
u
t
h
C
o
d
e
'
]
!
=
$
_
S
E
S
S
I
O
N
[
'
c
a
p
t
c
h
a
'
]
)
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
"
错
误
:
验
证
码
不
匹
配
!
"
,
-
1
)
;
}
}
功
能
是
将
其
数
据
放
到
了
$
_
P
O
S
T
数
组
中
,
然
后
通
过
s
a
v
e
I
n
f
o
函
数
进
行
了
保
存
,
那
么
跟
踪
其
函
数
,
代
码
如
下
:
这
个
函
数
的
第
一
个
参
数
$
a
r
r
D
a
t
a
是
一
个
数
组
,
也
就
是
r
e
g
i
n
.
p
h
p
传
过
来
的
注
册
用
户
信
息
的
$
_
P
O
S
T
数
组
,
最
后
一
个
参
数
i
s
M
c
e
n
t
e
r
在
注
册
页
面
被
调
用
时
传
入
的
t
r
u
e
,
所
以
程
序
会
走
到
c
h
e
c
k
:
:
g
e
t
A
P
I
这
里
,
这
个
写
法
第
一
个
参
数
传
入
的
模
块
名
称
,
第
二
个
参
数
传
入
的
是
方
法
名
,
找
到
这
个
模
块
中
的
这
个
方
法
,
其
代
码
如
下
:
$
_
P
O
S
T
[
'
u
s
e
r
_
n
a
m
e
'
]
=
s
t
r
i
p
_
t
a
g
s
(
t
r
i
m
(
$
_
P
O
S
T
[
'
u
s
e
r
_
n
a
m
e
'
]
)
)
;
i
f
(
!
e
m
p
t
y
(
$
a
r
r
G
W
e
b
[
'
u
s
e
r
_
p
a
s
s
_
t
y
p
e
'
]
)
)
$
_
P
O
S
T
[
$
_
P
O
S
T
[
'
r
e
a
l
_
n
a
m
e
'
]
=
s
t
r
i
p
_
t
a
g
s
(
t
r
i
m
(
$
_
P
O
S
T
[
'
r
e
a
l
_
n
a
m
e
'
]
)
)
;
$
_
P
O
S
T
[
'
n
i
c
k
_
n
a
m
e
'
]
=
s
t
r
i
p
_
t
a
g
s
(
t
r
i
m
(
$
_
P
O
S
T
[
'
n
i
c
k
_
n
a
m
e
'
]
)
)
;
$
_
P
O
S
T
[
'
p
o
s
t
c
o
d
e
'
]
=
$
_
P
O
S
T
[
'
p
o
s
t
c
o
d
e
'
]
;
$
_
P
O
S
T
[
'
m
o
b
i
l
e
'
]
=
$
_
P
O
S
T
[
'
m
o
b
i
l
e
'
]
;
$
_
P
O
S
T
[
'
e
m
a
i
l
'
]
=
$
_
P
O
S
T
[
'
e
m
a
i
l
'
]
;
$
_
P
O
S
T
[
'
c
o
r
p
_
n
a
m
e
'
]
=
$
_
P
O
S
T
[
'
c
o
r
p
_
n
a
m
e
'
]
;
$
_
P
O
S
T
[
'
c
o
n
t
a
c
t
_
a
d
d
r
e
s
s
'
]
=
$
_
P
O
S
T
[
'
c
o
n
t
a
c
t
_
a
d
d
r
e
s
s
'
]
;
$
_
P
O
S
T
[
'
q
u
e
s
t
i
o
n
'
]
=
$
_
P
O
S
T
[
'
q
u
e
s
t
i
o
n
'
]
;
$
_
P
O
S
T
[
'
a
n
s
w
e
r
'
]
=
$
_
P
O
S
T
[
'
a
n
s
w
e
r
'
]
;
$
_
P
O
S
T
[
'
s
e
x
'
]
=
$
_
P
O
S
T
[
'
s
e
x
'
]
;
$
_
P
O
S
T
[
'
t
e
l
'
]
=
$
_
P
O
S
T
[
'
t
e
l
'
]
;
$
_
P
O
S
T
[
'
p
r
o
v
i
n
c
e
'
]
=
$
_
P
O
S
T
[
'
p
r
o
v
i
n
c
e
'
]
;
$
_
P
O
S
T
[
'
c
i
t
y
'
]
=
$
_
P
O
S
T
[
'
c
i
t
y
'
]
;
$
_
P
O
S
T
[
'
a
r
e
a
'
]
=
$
_
P
O
S
T
[
'
a
r
e
a
'
]
;
$
_
P
O
S
T
[
'
u
s
e
r
_
i
p
'
]
=
c
h
e
c
k
:
:
g
e
t
I
P
(
)
;
$
_
P
O
S
T
[
'
s
u
b
m
i
t
_
d
a
t
e
'
]
=
d
a
t
e
(
'
Y
-
m
-
d
H
:
i
:
s
'
)
;
$
_
P
O
S
T
[
'
s
e
s
s
i
o
n
_
i
d
'
]
=
s
e
s
s
i
o
n
_
i
d
(
)
;
$
i
n
t
I
D
=
$
o
b
j
W
e
b
I
n
i
t
-
>
s
a
v
e
I
n
f
o
(
$
_
P
O
S
T
,
0
,
f
a
l
s
e
,
t
r
u
e
)
;
i
f
(
$
i
n
t
I
D
)
{
$
_
S
E
S
S
I
O
N
[
'
u
s
e
r
_
i
d
'
]
=
$
i
n
t
I
D
;
$
_
S
E
S
S
I
O
N
=
a
r
r
a
y
_
m
e
r
g
e
(
$
_
S
E
S
S
I
O
N
,
$
_
P
O
S
T
)
;
$
a
r
r
T
e
m
p
[
'
u
s
e
r
_
i
d
'
]
=
$
i
n
t
I
D
;
$
a
r
r
T
e
m
p
[
'
a
d
d
_
d
a
t
e
'
]
=
d
a
t
e
(
'
Y
-
m
-
d
H
:
i
:
s
'
)
;
$
s
t
r
D
a
t
a
=
c
h
e
c
k
:
:
g
e
t
A
P
I
A
r
r
a
y
(
$
a
r
r
T
e
m
p
)
;
c
h
e
c
k
:
:
g
e
t
A
P
I
(
'
m
c
e
n
t
e
r
'
,
'
u
p
d
a
t
e
U
s
e
r
'
,
$
s
t
r
D
a
t
a
)
;
e
c
h
o
"
<
s
c
r
i
p
t
>
a
l
e
r
t
(
'
注
册
完
成
'
)
;
w
i
n
d
o
w
.
l
o
c
a
t
i
o
n
=
'
{
$
a
r
r
G
W
e
b
[
'
W
E
B
_
R
O
O
T
_
p
r
e
'
]
}
/
'
;
<
/
s
c
r
i
p
t
>
"
;
e
x
i
t
(
)
;
}
e
l
s
e
{
c
h
e
c
k
:
:
A
l
e
r
t
E
x
i
t
(
'
注
册
失
败
'
,
-
1
)
;
}
f
u
n
c
t
i
o
n
s
a
v
e
I
n
f
o
(
$
a
r
r
D
a
t
a
,
$
i
s
M
o
d
i
f
y
=
f
a
l
s
e
,
$
i
s
A
l
e
r
t
=
t
r
u
e
,
$
i
s
M
c
e
n
t
e
r
=
f
a
l
s
e
)
{
i
f
(
$
i
s
M
c
e
n
t
e
r
)
{
$
s
t
r
D
a
t
a
=
c
h
e
c
k
:
:
g
e
t
A
P
I
A
r
r
a
y
(
$
a
r
r
D
a
t
a
)
;
i
f
(
!
$
i
n
t
U
s
e
r
I
D
=
c
h
e
c
k
:
:
g
e
t
A
P
I
(
'
m
c
e
n
t
e
r
'
,
'
s
a
v
e
I
n
f
o
'
}
}
$
a
r
r
=
a
r
r
a
y
(
)
;
$
a
r
r
=
c
h
e
c
k
:
:
S
q
l
I
n
j
e
c
t
i
o
n
(
$
t
h
i
s
-
>
s
a
v
e
T
a
b
l
e
F
i
e
l
d
G
(
$
a
r
r
D
a
t
a
,
$
i
s
M
o
d
i
f
y
)
)
;
i
f
(
$
i
s
M
o
d
i
f
y
=
=
0
)
{
}
e
l
s
e
{
i
f
(
$
b
l
A
l
e
r
t
)
c
h
e
c
k
:
:
A
l
e
r
t
(
"
新
增
失
败
"
)
;
r
e
t
u
r
n
f
a
l
s
e
;
}
}
e
l
s
e
{
i
f
(
$
t
h
i
s
-
>
u
p
d
a
t
e
U
s
e
r
(
$
a
r
r
)
!
=
=
f
a
l
s
e
)
{
i
f
(
$
i
s
A
l
e
r
t
)
c
h
e
c
k
:
:
A
l
e
r
t
(
"
修
改
成
功
!
"
)
;
}
e
l
s
e
{
i
f
(
$
b
l
A
l
e
r
t
)
c
h
e
c
k
:
:
A
l
e
r
t
(
"
修
改
失
败
"
)
;
r
e
t
u
r
n
f
a
l
s
e
;
}
}
}
在
这
个
函
数
中
,
首
先
通
过
c
h
e
c
k
:
:
S
q
l
I
n
j
e
c
t
i
o
n
过
滤
了
可
能
造
成
s
q
l
注
入
的
危
险
字
符
,
过
滤
通
过
后
,
通
过
i
n
s
e
r
t
U
s
e
r
函
数
进
行
了
插
入
用
户
的
操
作
,
跟
踪
此
函
数
,
代
码
如
下
:
这
里
只
有
一
个
参
数
$
a
r
r
D
a
t
a
,
这
个
参
数
传
来
的
数
据
,
就
是
注
册
页
面
一
开
始
接
收
的
用
户
数
据
$
_
P
O
S
T
数
组
,
然
后
将
相
关
数
据
进
行
了
s
q
l
语
句
的
拼
接
。
至
此
,
这
个
注
册
流
程
就
走
完
了
。
在
拼
接
s
q
l
语
句
时
,
程
序
使
用
了
R
E
P
L
A
C
E
I
N
T
O
,
而
不
是
I
N
S
E
R
T
I
N
T
O
,
根
据
字
面
理
解
一
个
是
替
换
数
据
,
一
个
是
插
入
数
据
。
他
们
的
区
别
在
于
r
e
p
l
a
c
e
i
n
t
o
首
先
会
尝
试
插
入
数
据
到
表
中
,
如
果
发
现
表
中
已
经
有
此
数
据
(
通
过
主
键
或
者
唯
一
索
引
去
判
断
)
,
则
会
先
进
行
删
除
此
数
据
,
然
后
插
入
新
数
据
,
否
则
的
话
会
直
接
进
行
插
入
操
作
。
这
样
的
话
,
就
会
存
在
一
个
注
册
管
理
账
号
的
漏
洞
,
在
程
序
中
u
s
e
r
_
i
d
为
1
的
默
认
是
管
理
员
。
而
注
册
用
户
时
,
接
收
的
数
据
是
通
过
$
_
P
O
S
T
接
收
的
,
而
并
非
固
定
的
参
数
,
这
样
在
注
册
时
拦
截
数
据
报
可
以
增
加
一
个
u
s
e
r
_
i
d
的
参
数
,
其
值
为
1
,
然
后
再
通
过
R
E
P
L
A
C
E
I
N
T
O
语
句
进
行
插
入
,
则
可
以
成
功
替
换
掉
管
理
员
的
账
号
。
0
x
0
2
:
渗
透
验
证
:
渗
透
验
证
首
先
,
前
台
注
册
账
号
,
然
后
拦
截
数
据
报
,
随
后
在
参
数
中
添
加
u
s
e
r
_
i
d
,
其
值
为
1
,
然
后
发
送
给
服
务
器
,
截
图
如
下
:
f
u
n
c
t
i
o
n
s
a
v
e
I
n
f
o
(
$
a
r
r
D
a
t
a
,
$
i
s
M
o
d
i
f
y
=
f
a
l
s
e
,
$
i
s
A
l
e
r
t
=
t
r
u
e
)
{
$
a
r
r
=
a
r
r
a
y
(
)
;
$
a
r
r
=
c
h
e
c
k
:
:
S
q
l
I
n
j
e
c
t
i
o
n
(
$
t
h
i
s
-
>
s
a
v
e
T
a
b
l
e
F
i
e
l
d
G
(
$
a
r
r
D
a
t
a
,
$
i
s
M
o
d
i
f
y
)
)
;
i
f
(
$
i
s
M
o
d
i
f
y
=
=
0
)
{
r
e
t
u
r
n
$
t
h
i
s
-
>
i
n
s
e
r
t
U
s
e
r
(
$
a
r
r
)
;
}
e
l
s
e
{
i
f
(
$
t
h
i
s
-
>
u
p
d
a
t
e
U
s
e
r
(
$
a
r
r
)
!
=
=
f
a
l
s
e
)
{
i
f
(
$
i
s
A
l
e
r
t
)
c
h
e
c
k
:
:
A
l
e
r
t
(
"
修
改
成
功
!
"
)
;
}
e
l
s
e
{
i
f
(
$
b
l
A
l
e
r
t
)
c
h
e
c
k
:
:
A
l
e
r
t
(
"
修
改
失
败
!
"
)
;
r
e
t
u
r
n
f
a
l
s
e
;
}
}
}
p
u
b
l
i
c
f
u
n
c
t
i
o
n
i
n
s
e
r
t
U
s
e
r
(
$
a
r
r
D
a
t
a
)
{
$
s
t
r
S
Q
L
=
"
R
E
P
L
A
C
E
I
N
T
O
$
t
h
i
s
-
>
t
a
b
l
e
n
a
m
e
1
(
"
;
$
s
t
r
S
Q
L
.
=
'
`
'
;
$
s
t
r
S
Q
L
.
=
i
m
p
l
o
d
e
(
'
`
,
`
'
,
a
r
r
a
y
_
k
e
y
s
(
$
a
r
r
D
a
t
a
)
)
;
$
s
t
r
S
Q
L
.
=
'
`
)
'
;
$
s
t
r
S
Q
L
.
=
"
V
A
L
U
E
S
(
'
"
;
$
s
t
r
S
Q
L
.
=
i
m
p
l
o
d
e
(
"
'
,
'
"
,
$
a
r
r
D
a
t
a
)
;
$
s
t
r
S
Q
L
.
=
"
'
)
"
;
i
f
(
$
t
h
i
s
-
>
d
b
-
>
e
x
e
c
(
$
s
t
r
S
Q
L
)
)
{
r
e
t
u
r
n
$
t
h
i
s
-
>
d
b
-
>
l
a
s
t
I
n
s
e
r
t
I
d
(
)
;
}
e
l
s
e
{
r
e
t
u
r
n
f
a
l
s
e
;
}
}
然
后
,
查
看
数
据
库
,
发
现
成
功
替
换
,
如
下
图
:
0
x
0
3
:
修
复
建
议
:
修
复
建
议
其
主
要
原
因
在
于
注
册
时
接
收
数
组
时
数
组
名
称
为
$
_
P
O
S
T
,
这
样
就
可
以
随
意
添
加
参
数
,
都
会
被
程
序
处
理
,
所
以
可
以
修
改
其
名
称
,
这
样
就
会
成
为
固
定
参
数
,
再
添
加
u
s
e
r
_
i
d
就
不
会
生
效
。
如
果
把
R
E
P
L
A
C
E
I
N
T
O
替
换
为
I
N
S
E
R
T
I
N
T
O
呢
,
既
然
有
R
E
P
L
A
C
E
I
N
T
O
的
存
在
,
那
么
肯
定
有
需
要
的
地
方
,
当
一
个
数
据
表
有
主
键
索
引
时
,
如
果
插
入
一
条
数
据
,
当
主
键
已
经
存
在
时
,
就
会
发
生
冲
突
报
错
,
有
些
业
务
会
需
要
先
删
除
其
数
据
然
后
再
进
行
插
入
操
作
,
这
个
时
候
R
E
P
L
A
C
E
I
N
T
O
就
会
派
上
用
场
。
欢
迎
将
文
章
分
享
到
朋
友
圈
如
果
想
g
e
t
更
多
的
技
能
,
长
按
二
维
码
可
关
注
我
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页