假如 您的查询语句是select * from admin where username= 三 九; 三 九; 三 九; 三 九;"&user&" 三 九; 三 九; 三 九; 三 九; and password= 三 九; 三 九; 三 九; 三 九;"&pwd&" 三 九; 三 九; 三 九; 三 九;"
这么,假如 尔的用户名是: 一 三 九; 三 九; 三 九; 三 九; or 三 九; 三 九; 三 九; 三 九; 一 三 九; 三 九; 三 九; 三 九;= 三 九; 三 九; 三 九; 三 九; 一
这么,您的查询语句将会酿成 :
select * from admin where username= 三 九; 三 九; 三 九; 三 九; 一 or 三 九; 三 九; 三 九; 三 九; 一 三 九; 三 九; 三 九; 三 九;= 三 九; 三 九; 三 九; 三 九; 一 三 九; 三 九; 三 九; 三 九; and password= 三 九; 三 九; 三 九; 三 九;"&pwd&" 三 九; 三 九; 三 九; 三 九;"
如许 您的查询语句便经由过程 了,进而便否以入进您的治理 界里。
以是 防备 的时刻 须要 对于用户的输出入止检讨 。特殊 是一点儿特殊字符,好比 双引号,单引号,分号,逗号,冒号,衔接 号等入止变换或者者过滤。
须要 过滤的特殊字符及字符串有:
net user
xp_cmdshell
/add
exec master.dbo.xp_cmdshell
net localgroup administrators
select
count
Asc
char
mid
三 九; 三 九; 三 九; 三 九;
:
"
insert
delete from
drop table
update
truncate
from
%
js版的防备 SQL注进式进击 的二段代码~:
[CODE START]
<script language="javascript">
<!--
var url = location-.search;
var re=/^\必修(.*)(select% 二0|insert% 二0|delete% 二0from% 二0|count\(|drop% 二0table|update% 二0truncate% 二0|asc\(|mid\(|char\(|xp_cmdshell|exec% 二0master|net% 二0localgroup% 二0administrators|\"|:|net% 二0user|\ 三 九; 三 九; 三 九; 三 九;|% 二0or% 二0)(.*)$/gi;
var e = re.test(url);