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

首頁 > 編程 > ASP > 正文

ASP程序密碼驗證問題 (MS,缺陷)

2019-11-18 22:24:32
字體:
來源:轉載
供稿:網友
涉及程序:
MS IIS
  
描述
國內一大學生發現的NT網站的asp程序密碼驗證漏洞
  
詳細
來自: benjurry@263.net
原文如下:

很早就發現很多國內程序員對密碼驗證不注意,今天去了陳水扁(www.abian.net)的網沾,隨手一試,居然發現有這種漏洞,真是讓人笑破肚皮!
原理:
很多網站把密碼放到數據庫中,在登陸驗證中用以下sql,(以asp為李)
sql="select * from user where username='"&username&"'and pass='"& pass&'"
此時,您只要根據sql構造一個特殊的用戶名和密碼,如:ben' or '1'='1
hehe ...是不是進去了??

-----------------------------------------------------------------------

解釋:
上述的SQL語句是ASP程序的if判斷的一部分,如果該語句返回為真,則密碼驗證通過。
輸入 ben' or '1'='1這樣的用戶名之后,其驗證的語句將執行為:
sql="select * from user where username='"& ben' or '1'='1 &"'and pass='"& pass&'"
因為1=1為真,由于 or 邏輯運算符的作用,這個語句將返回為真。
所以驗證通過。

  
解決方案
ASP程序員應該用更嚴密的判斷語句來防止這個安全問題
下面是發現者提出的解決方案:
比較好的應該按照以下方式:
1、處理輸入字符,
2、處理‘,|等字符
3、select * from user where user=’ " & User & "' "
4、如果返回不為假,則取密碼
pass=rs("passwd")
5、判斷:if pass=passWord
6、得出結論。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 本溪| 台北县| 玉林市| 鄂托克前旗| 长岛县| 莒南县| 平邑县| 东乌| 福州市| 大宁县| 金沙县| 墨竹工卡县| 拉孜县| 六安市| 扶沟县| 蒲城县| 五河县| 城步| 蒲江县| 科技| 宁陕县| 鄢陵县| 漳州市| 靖安县| 涟源市| 横峰县| 普兰店市| 平山县| 辽宁省| 宁明县| 娄底市| 仁化县| 平昌县| 平乡县| 本溪市| 鄯善县| 定陶县| 吴桥县| 台江县| 游戏| 平江县|