男人吃奶摸下挵进去好爽,日日躁夜夜躁狠狠躁,freesexvide0s性欧美高清,高清freexxxx性国产,无码人妻一区二区三区一,乱人伦中文字幕成人网站在线,亚洲欧美综合一区二区三区 ,神马影院在线视频观看
知識學堂
  • ·聯系電話:+86.023-75585550
  • ·聯系傳真:+86.023-75585550
  • ·24小時手機:13896886023
  • ·QQ 咨 詢:361652718 513960520
當前位置 > 首頁 > 知識學堂 > 網站建設知識
ASP+Access網站安全解決方案匯總
更新時間:2011-11-18 | 發布人:本站 | 點擊率:969
由于前段時間忙于找工作,很久都沒有給黑防寫稿了,現在工作有著落了,繼續來支持黑防。本文我將就以ASP+Access為基礎構建的網站可能存在的各種安全問題進行匯總講解,給大家一個宏觀上的認識。

攻擊方法
在黑客學習過程中,我們很容易發現,國內80%的網站幾乎使用的都是ASP,而小站的數目遠遠多于大型網站。對于小站,若是動態網站,國內普遍采用ASP+Access結構,由于使用者數量眾多,具有針對性,這里我們就來詳細研究一下ASP+Access網站安全的解決方案。
要建設一個安全的站,我們不能不了解目前針對ASP+Access網站的主流攻擊手段,時下的攻擊方法有XSS跨站、SQL注入、Cookie欺騙、%5C暴庫、上傳漏洞等。下面我們就針對這些問題做出相應對策。
防范措施
1)上傳漏洞
對于上傳漏洞,一般的程序員都能做到在前臺避免ASP、ASA、CER等類型的文件上傳,所以對于前臺的問題,這里不再贅述。
2)XSS跨站
針對XSS跨站,最大的作用就是HTML注入和獲取Cookie。我想,更多的人是利用它來獲取Cookie,取得Cookie后,目的只有一個,就是看網站是否有漏洞,得以讓攻擊方通過欺騙的方式進入后臺。對于這種攻擊方法,最好的防范措施就是把服務器端的驗證改為Session。
3)%5C暴庫
解決方案一:并不是所有的網站都存在%5C暴庫的問題,對于這個問題,我們可以加入ON ERROR RESUME NEXT語句,讓程序出錯時仍繼續向下執行,這樣,數據庫會相對安全。比如原來的conn.asp的文件內容如下:
Response.buffer=true
Const conndata=mydata/^%$!%25#%23&%78@data(+.asp
'設置數據庫路徑
Const backdata="mydata/#數據庫備份#kycpanswpuzg1ok.asp"
'設置數據庫備份路徑
mydata="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(conndata)
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open mydata

為了防止暴庫,我們改為如下的形式:

Response.buffer=true
Const conndata=mydata/^%$!%25#%23&%78@data(+.asp
'設置數據庫路徑
Const backdata="mydata/#數據庫備份#kycpanswpuzg1ok.asp"
'設置數據庫備份路徑
On Error Resume Next
mydata="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(conndata)
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open mydata

經過這樣的設置后,就可以有效防止這種方法的攻擊。
我們再假設對方通過另外的途徑獲得了我們的數據庫,想下載它,那我們怎么防止對方下載呢?
有些朋友可能會認為,把數據庫改成一個復雜的名字,如^%$!%25#%23&%78@data(+.asp就可以防下載了。其實,這樣跟本就做不到防下載的目的,假如你的網站網址http://www.hacker.com.cn/data/^%$!%25#%23&%78@data(+.asp,把此地址直接復制到瀏覽器上,的確不能下載,但是經過URL編碼后呢?我們只要把^%$!%25#%23&%78@data(+.asp用URLENCODE轉換一下,得到%5E%25%24%21%2525%23%2523%26%2578%40data%28%2B%2Easp,再把完整的URLhttp://www.hacker.com.cn/data/%5E%25%24%21%2525%23%2523%26%2578%40data%28%2B%2Easp復制到迅雷,即可下載成功。
如果再作點調整,將數據庫加入防下載表,那么迅雷此時就無能為力了。我們首先建立一個表NotDown,設制類型為“備注”,然后在其中加入<% loop %>后,再將其類型設制為“OLE 對象”,如圖1和圖2所示。此時若在瀏覽器中下載數據庫,將會出現如下所示的錯誤:





Microsoft VBScript 編譯器錯誤 錯誤 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft VBScript 編譯器錯誤 錯誤 '800a040e'
'loop' 語句缺少 'do'
/data/^%$!%25#%23&%78@data(+.asp,行227
Loop

同樣,在迅雷和其它軟件中也無法下載,這就是解決方案一。
解決方案二:將數據庫的地址設在非網站目錄下,假如你網站的路徑為“C:\Inetpub\wwwroot”,那么我們改數據庫放于d:\data\^%$!%25#%23&%78@data(+.asp,conn.asp下,修改后的代碼如下:

Response.buffer=true
Const conndata="d:\data\^%$!%25#%23&%78@data(+.asp"
'設置數據庫路徑
Const backdata="d:\data\#數據庫備份#kycpanswpuzg1ok.asp"
'設置數據庫備份路徑
On Error Resume Next
mydata="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&conndata
Set conn=Server.CreateObject("ADODB.Connection")
conn.Open mydata

這樣相對于前面的方法而言,更為安全,因為數據庫已不能通過HTTP下載了
4)SQL注入
     現在SQL注入很厲害,一個大型網站,由于文件眾多,出現SQL注入漏洞也是情有可原的。現在多數人想到的辦法是過濾掉危險的字符,如“‘”、“()”、“<>”以及Select、Update等字符,但是由于代碼太多,很有可能忽略掉其中某些未經處理的外部數據。對此,我們可以換個角度來考慮。
     我們可以想想,不管是SQL注入還是%5C暴庫,其目的都是為了獲取網站后臺用戶名和管理員密碼。假如我們的密碼是MD5加密的,那么對方將嘗試進行暴力破解。如果把MD5加密算法作點修改,加密后,其密碼散列將發生變化,使暴力破解失效。如果再用我們修改后的MD5加密算法對密匙進行二次MD5加密,安全性必將大大提高。
下面我們就一起來修改MD5加密算法,其方法很簡單。一份原MD5加密49至53行(16位加密)的代碼如下:
     RShift = (lValue And &H7FFFFFFE) \ m_l2Power(iShiftBits)

     If (lValue And &H80000000) Then
         RShift = (RShift Or (&H40000000 \ m_l2Power(iShiftBits - 1)))
     End If

注意RShift = (lValue And &H7FFFFFFE)這部分,我們只要將H7FFFFFFE稍微作點修改,暴力破解就失效了,比如我們修改為H7FB9DFAE。在作修改前,我們用原MD5算法加密“a”得到散列“c0f1b6a831c399e2”,http://www.cmd5.com網站上可以輕松破解,如圖3所示。修改后,我們再次對“a”加密,得到散列“8016a044f35128b8”,現在我們再次


    
     由此我們可以看出,暴力破解“a”已經失效。這樣操作后,一個字母a都破解不出來了,要是我們對a進行二次、三次MD5加密,想想結果會是什么?破解的人別想得到結果!不過前提是對方不知道你修改的MD5算法,否則根據你修改的算法再編寫工具,暴力破解是完全可行的。所以,你要保證你的MD5.asp安全,千萬不要在程序上出現一個像新云網站管理系統downfile.asp中的下載任意文件的漏洞,不然,就別想著安全了。
     對于上面的方法,在不過濾任何字符的情況下也可以算是安全的,讓旁注者去破解吧。如果真要做得完全不過濾,還要注意一個地方,就是登錄頁login.asp。我們可以把用戶名和密碼都改為MD5的加密密碼,然后把加密后的MD5和數據庫中的MD5作比較。這樣,絕對不可能直接利用’or’=’or’進行后臺猜解的。比如我們原來的登錄驗證代碼如下:
sql=”select user,pwd from admin where uname=’”&request(“user”)&”’ and pwd=’”&request(“pwd”)&”’”
conn.execute(sql)
if not rs.eof and not rs.bof then
response.redirect “manage.asp”
else
response.write “登陸失敗”
end if

很明顯,上面的代碼存在注入。在不過濾的情況下,我們可以做如下的修改。

sql=”select user,pwd from admin where uname=’”&md5(request(“user”))&”’ and pwd=’”&md5(request(“pwd”))&”’”
conn.execute(sql)
if not rs.eof and not rs.bof then
response.redirect “manage.asp”
else
response.write “登陸失敗”
end if

注意,原數據庫中的用戶名和密碼都是經過MD5加密了的。現在就不存在注入了,因為’or’=’or’會被我們修改了的MD5加密,加密后已變成“4556995b8f421800”。
經過上面幾種方法的防范之后,現在還有惟一的一個問題,就是防溯雪之類軟件的暴力破解。雖然說一個字母a經過我們修改的MD5加密,讓針對MD5密匙破解的程序已失效,但是如果你后臺用戶名和密碼就用一個a,用溯雪幾秒鐘就能破解進入后臺。
像溯雪這類POST和GET的攻擊,我們可以這樣修改代碼,讓Session來處理(這里不采用Cookie,因為Cookie很容易被偽造)。

dim t1
if session("times")>=3 then
response.write("<script>alert('登錄次數超過限制,不允許再嘗試暴力破解');this.location.href='index.asp';</script>")
Response.End
sql=”select user,pwd from admin where uname=’”&md5(request(“user”))&”’ and pwd=’”&md5(request(“pwd”))&”’”
conn.execute(sql)
if not rs.eof and not rs.bof then
response.redirect “manage.asp”
else
session("times")=session("times")+1
t1=3-session("times")
response.write ("<script>alert('登陸失敗');</script>”)
response.write (”<script>alert('你還有"&t1&"次機會'); history.back();”)
end if

改為以上代碼后,只要連續提交次數超過3次,系統將自動轉到首頁,這樣就有效的防范了溯雪之類的軟件攻擊,當然,我們還可以編個稍微復雜點的,直接封鎖攻擊者的IP。需要注意的是,以上的方法只對ASP+Access網站有效。

總結
我們可以想象,攻擊者不管是通過SQL注入、XSS跨站、%5C暴庫,其直接目的就是為了得到管理員的用戶名和密碼進入后臺,然后通過上傳漏洞,或備份數據庫之類的方法得到一個WebShell。如果我們的MD5是無法破解的,只要我們程序不存在Cookie之類的欺騙和下載任意文件的漏洞,攻擊者前面作的很多事都將會是徒勞的。網站管理員千萬要記住,密碼是敏感的,可別被社會工程學給害了
分享到: QQ空間 新浪微博 開心網 人人網
主站蜘蛛池模板: 女人被狂c躁到高潮视频| 九九re6热在线视频精品66| 姑娘国语视频在线观看| 精品伊人久久大线蕉色首页| 内射人妻骚骚骚| 美女裸体18禁免费网站| 夜夜夜夜曰天天天天拍国产| 欧美第一黄网免费网站| 性色欲情网站iwww| 性欧美长视频免费观看不卡| 野花免费社区在线| 性高朝久久久久久久久久| 色天天躁夜夜躁天干天干| 国产精品无码无片在线观看3d | 国产午精品午夜福利757视频播放| 最好看的中文字幕国语| 日本护士体内she精2╳╳╳| 孕交videosgratis孕妇性欧美| 无码精品视频一区二区三区| 亚洲三级黄色大片| 国产精品午夜福利视频234区| 久久99精品久久久学生| 永久黄网站色视频免费观看| 久久久国产精品午夜一区| 亚洲色中文字幕无码av| 无码专区国产精品视频| 内射少妇一区27p| 电影在线观看+伦理片| 欧美丰满妇大ass| 一出一进一爽一粗一大视频免费的| 午夜理论片yy6080私人影院| 欧美超级乱婬视频播放| 亚洲自偷精品视频自拍| 星空影院电影在线看| 啦啦啦免费视频在线观看| 国产成人亚洲精品乱码| 日本一道本| 青草青草久热精品视频在线观看| 欧美v国产v亚洲v日韩九九| 亚洲av午夜福利精品香蕉麻豆| √新版天堂资源在线资源|