国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

防范SQL注入式攻擊

2024-07-21 02:11:08
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

sql注入式攻擊是利用是指利用設(shè)計(jì)上的漏洞,在目標(biāo)服務(wù)器上運(yùn)行sql命令以及進(jìn)行其他方式的攻擊
動(dòng)態(tài)生成sql命令時(shí)沒(méi)有對(duì)用戶(hù)輸入的數(shù)據(jù)進(jìn)行驗(yàn)證是sql注入攻擊得逞的主要原因。
比如:
 如果你的查詢(xún)語(yǔ)句是select * from admin where username='"&user&"' and password='"&pwd&"'"

 那么,如果我的用戶(hù)名是:1' or '1'='1
 那么,你的查詢(xún)語(yǔ)句將會(huì)變成:
 select * from admin where username='1 or '1'='1' and password='"&pwd&"'"
 這樣你的查詢(xún)語(yǔ)句就通過(guò)了,從而就可以進(jìn)入你的管理界面。

所以防范的時(shí)候需要對(duì)用戶(hù)的輸入進(jìn)行檢查。特別式一些特殊字符,比如單引號(hào),雙引號(hào),分號(hào),逗號(hào),冒號(hào),連接號(hào)等進(jìn)行轉(zhuǎn)換或者過(guò)濾。

需要過(guò)濾的特殊字符及字符串有:
   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
   %

下面是我寫(xiě)的兩種關(guān)于解決注入式攻擊的防范代碼,供大家學(xué)習(xí)參考!
js版的防范sql注入式攻擊代碼~:

[code start]  
<script language="javascript">
<!--
 var url = location.search;
 var re=/^/?(.*)(select%20|insert%20|delete%20from%20|count/(|drop%20table|update%20truncate%20|asc/(|mid/(|char/(|xp_cmdshell|exec%20master|net%20localgroup%20administrators|/"|:|net%20user|/'|%20or%20)(.*)$/gi;
 var e = re.test(url);
 if(e) {
  alert("地址中含有非法字符~");
  location.href="error.asp";
 }
//-->
<script>
[code end]


asp版的防范sql注入式攻擊代碼~:
[code start]
<%
on error resume next
dim strtemp

if lcase(request.servervariables("https")) = "off" then
 strtemp = "http://"
else
 strtemp = "https://"
end if

strtemp = strtemp & request.servervariables("server_name")
if request.servervariables("server_port") <> 80 then strtemp = strtemp & ":" & request.servervariables("server_port")

strtemp = strtemp & request.servervariables("url")

if trim(request.querystring) <> "" then strtemp = strtemp & "?" & trim(request.querystring)

strtemp = lcase(strtemp)

if instr(strtemp,"select%20") or instr(strtemp,"insert%20") or instr(strtemp,"delete%20from") or instr(strtemp,"count(") or instr(strtemp,"drop%20table") or instr(strtemp,"update%20") or instr(strtemp,"truncate%20") or instr(strtemp,"asc(") or instr(strtemp,"mid(") or instr(strtemp,"char(") or instr(strtemp,"xp_cmdshell") or instr(strtemp,"exec%20master") or instr(strtemp,"net%20localgroup%20administrators")  or instr(strtemp,":") or instr(strtemp,"net%20user") or instr(strtemp,"'") or instr(strtemp,"%20or%20") then
 response.write "<script language='javascript'>"
 response.write "alert('非法地址!!');"
 response.write "location.href='error.asp';"
 response.write "<script>"
end if
%>
[code end]

 

轉(zhuǎn)自:動(dòng)態(tài)網(wǎng)
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 镇康县| 凉山| 丘北县| 达日县| 三明市| 宜宾市| 宾川县| 泗水县| 烟台市| 闻喜县| 凤翔县| 井研县| 盖州市| 重庆市| 屏东县| 东城区| 乌兰浩特市| 来宾市| 汝城县| 闽清县| 桦南县| 南昌县| 怀宁县| 侯马市| 山阴县| 芒康县| 左贡县| 交口县| 磐安县| 久治县| 古丈县| 绥阳县| 巴里| 澜沧| 大连市| 安多县| 绥棱县| 岳阳市| 吉木萨尔县| 贵德县| 雷州市|