精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

ASP網站漏洞及黑客入侵防范方法解析

admin
2010年7月3日 14:36 本文熱度 6114

  如何更好的達到防范黑客攻擊,本人提一下個人意見!第一,免費程序不要真的就免費用,既然你可以共享原碼,那么攻擊者一樣可以分析代碼。如果在細節上注意防范,那樣你站點的安全性就大大的提高了。即使出現了sql injection這樣的漏洞,攻擊者也不可能馬上拿下你的站點。

  由于asp的方便易用,越來越多的網站后臺程序都使用asp腳本語言。但是, 由于asp本身存在一些安全漏洞,稍不小心就會給黑客提供可乘之機。事實上,安全不僅是網管的事,編程人員也必須在某些安全細節上注意,養成良好的安全習慣,否則會給自己的網站帶來巨大的安全隱患。目前,大多數網站上的asp程序有這樣那樣的安全漏洞,但如果編寫程序的時候注意一點的話,還是可以避免的。

  1、用戶名與口令被破解

  攻擊原理:用戶名與口令,往往是黑客們最感興趣的東西,如果被通過某種方式看到源代碼,后果是嚴重的。

  防范技巧:涉及用戶名與口令的程序最好封裝在服務器端,盡量少在asp文件里出現,涉及與數據庫連接的用戶名與口令應給予最小的權限。出現次數多的用戶名與口令可以寫在一個位置比較隱蔽的包含文件中。如果涉及與數據庫連接,在理想狀態下只給它以執行存儲過程的權限,千萬不要直接給予該用戶修改、插入、刪除記錄的權限。

  2、驗證被繞過

  攻擊原理:現在需要經過驗證的asp程序大多是在頁面頭部加一個判斷語句,但這還不夠,有可能被黑客繞過驗證直接進入。

  防范技巧:需要經過驗證的asp頁面,可跟蹤上一個頁面的文件名,只有從上一頁面轉進來的會話才能讀取這個頁面。

  3、inc文件泄露問題

  攻擊原理:當存在asp的主頁正在制作且沒有進行最后調試完成以前,可以被某些搜索引擎機動追加為搜索對象。如果這時候有人利用搜索引擎對這些網頁進行查找,會得到有關文件的定位,并能在瀏覽器中查看到數據庫地點和結構的細節,并以此揭示完整的源代碼。

  防范技巧:程序員應該在網頁發布前對它進行徹底的調試;安全專家則需要加固asp文件以便外部的用戶不能看到它們。首先對.inc文件內容進行加密,其次也可以使用.asp文件代替.inc文件使用戶無法從瀏覽器直接觀看文件的源代碼。inc文件的文件名不要使用系統默認的或者有特殊含義容易被用戶猜測到的名稱,盡量使用無規則的英文字母。

  4、自動備份被下載

  攻擊原理:在有些編輯asp程序的工具中,當創建或者修改一個asp文件時,編輯器自動創建一個備份文件,比如:ultraedit就會備份一個.bak文件,如你創建或者修改了some.asp,編輯器會自動生成一個叫some.asp.bak文件,如果你沒有刪除這個bak文件,攻擊者可以直接下載some.asp.bak文件,這樣some.asp的源程序就會被下載。

  防范技巧:上傳程序之前要仔細檢查,刪除不必要的文檔。對以bak為后綴的文件要特別小心。

  5、特殊字符

  攻擊原理:輸入框是黑客利用的一個目標,他們可以通過輸入腳本語言等對用戶客戶端造成損壞;如果該輸入框涉及數據查詢,他們會利用特殊查詢語句,得到更多的數據庫數據,甚至表的全部。因此必須對輸入框進行過濾。但如果為了提高效率僅在客戶端進行輸入合法性檢查,仍有可能被繞過。

  防范技巧:在處理類似留言板、bbs等輸入框的asp程序中,最好屏蔽掉html、javascript、vbscript語句,如無特殊要求,可以限定只允許輸入字母與數字,屏蔽掉特殊字符。同時對輸入字符的長度進行限制。而且不但要在客戶端進行輸入合法性檢查,同時要在服務器端程序中進行類似檢查。

  6、數據庫下載漏洞

  攻擊原理:在用access做后臺數據庫時,如果有人通過各種方法知道或者猜到了服務器的access數據庫的路徑和數據庫名稱,那么他也能夠下載這個access數據庫文件,這是非常危險的。

  防范技巧:

  (1)為你的數據庫文件名稱起個復雜的非常規的名字,并把它放在幾層目錄下。所謂 “非常規”, 打個比方說,比如有個數據庫要保存的是有關書籍的信息, 可不要給它起個“book.mdb”的名字,而要起個怪怪的名稱,比如d34ksfslf.mdb, 并把它放在如./kdslf/i44/studi/的幾層目錄下,這樣黑客要想通過猜的方式得到你的access數據庫文件就難上加難了。

  (2)不要把數據庫名寫在程序中。有些人喜歡把dsn寫在程序中,比如:

dbpath = server.mappath("cmddb.mdb")

conn.open "driver={microsoft access driver (*.mdb)};dbq=" & dbpath

  假如萬一給人拿到了源程序,你的access數據庫的名字就一覽無余了。因此建議你在odbc里設置數據源,再在程序中這樣寫:

conn.open "shujiyuan"

  (3)使用access來為數據庫文件編碼及加密。首先在“工具→安全→加密/解密數據庫”中選取數據庫(如:employer.mdb),然后按確定,接著會出現“數據庫加密后另存為”的窗口,可存為:“employer1.mdb”。

  要注意的是,以上的動作并不是對數據庫設置密碼,而只是對數據庫文件加以編碼,目的是為了防止他人使用別的工具來查看數據庫文件的內容。

  接下來我們為數據庫加密,首先打開經過編碼了的 employer1.mdb,在打開時,選擇“獨占”方式。然后選取功能表的“工具→安全→設置數據庫密碼”,接著輸入密碼即可。這樣即使他人得到了employer1.mdb文件,沒有密碼他也是無法看到 employer1.mdb中的內容。

  7、防范遠程注入攻擊

  這類攻擊在以前應該是比較常見的攻擊方式,比如post攻擊,攻擊者可以隨便的改變要提交的數據值已達到攻擊目的.又如:cookies 的偽造,這一點更值得引起程序編寫者或站長的注意,不要使用cookies來做為用戶驗證的方式,否則你和把鑰匙留給賊是同一個道理.

  比如:

if trim(request. cookies("uname"))="fqy" and request.cookies("upwd")="fqy#e3i5.com" then

'……..more………

end if

  我想各位站長或者是喜好寫程序的朋友千萬別出這類錯誤,真的是不可饒恕.偽造cookies 都多少年了,你還用這樣的就不能怪別人跑你的密碼.涉及到用戶密碼或者是用戶登陸時,你最好使用session 它才是最安全的.如果要使用cookies就在你的cookies上多加一個信息,sessionid,它的隨機值是64位的,要猜解它,不可能.例:

if not (rs.bof or rs.eof) then

  login="true"

  session("username"&sessionid) = username

  session("password"& sessionid) = password

  'response.cookies(“username”)= username

  'response.cookies(“password”)= password

end if

  下面我們來談談如何防范遠程注入攻擊,一般的攻擊都是將單表提交文件拖到本地,將form action=”chk.asp” 指向你服務器中處理數據的文件即可.如果你全部的數據過濾都在單表頁上,那么恭喜你,你將已經被腳本攻擊了.

  怎么才能制止這樣的遠程攻擊?好辦,請看代碼如下:

server_v1=cstr(request.servervariables("http_referer"))

server_v2=cstr(request.servervariables("server_name"))

if mid(server_v1,8,len(server_v2))<>server_v2 then

  response.write "<br><br><center>"

  response.write "你提交的路徑有誤,禁止從站點外部提交數據請不要亂改參數!"

  response.write "</center>"

  response.end

end if

'個人感覺上面的代碼過濾不是很好,有一些外部提交竟然還能堂堂正正的進來,于是再寫一個。

'這個是過濾效果很好,建議使用。

if instr(request.servervariables("http_referer"),"http://"&request.servervariables("host") )<1 then

  response.write "處理 url 時服務器上出錯。如果您是在用任何手段攻擊服務器,那你應該慶幸,你的所有操作已經被服務器記錄,我們會第一時間通知公安局與國家安全部門來調查你的ip。"

  response.end

end if


  程序體(9)

  本以為這樣就萬事大吉了,在表格頁上加一些限制,比如maxlength啦,等等..但天公就是那么不作美,你越怕什么他越來什么.你別忘了,攻擊者可以突破sql注入攻擊時輸入框長度的限制.寫一個socket程序改變http_referer?我不會。網上發表了這樣一篇文章:

------------len.reg-----------------

windows registry editor version 5.00

[hkey_current_user\software\microsoft\internet explorer\menuext\擴展(&e)]

@="c:\documents and settings\administrator\桌面\len.htm"

"contexts"=dword:00000004

-----------end----------------------

-----------len.htm------------------


----------end-----------------------

  用法:先把len.reg導入注冊表(注意文件路徑),然后把len.htm拷到注冊表中指定的地方。
  打開網頁,光標放在要改變長度的輸入框上點右鍵,看多了一個叫擴展的選項了吧。
  單擊搞定!后記:同樣的也就可以對付那些限制輸入內容的腳本了。
  怎么辦?我們的限制被饒過了,所有的努力都白費了?不,舉起你de鍵盤,說不。讓我們繼續回到腳本字符的過濾吧,他們所進行的注入無非就是進行腳本攻擊。我們把所有的精力全都用到action以后的頁面吧,在chk.asp頁中,我們將非法的字符全部過濾掉,結果如何?我們只在前面虛晃一槍,叫他們去改注冊表吧,當他們改完才會發現,他們所做的都是那么的徒勞。

  8、asp木馬

  已經講到這里了,再提醒各位論壇站長一句,小心你們的文件上傳:為什么論壇程序被攻破后主機也隨之被攻擊者占據。原因就在……對!asp木馬!一個絕對可惡的東西。病毒么?非也.把個文件隨便放到你論壇的程序中,您老找去吧。不吐血才怪哦。如何才能防止asp木馬被上傳到服務器呢?方法很簡單,如果你的論壇支持文件上傳,請設定好你要上傳的文件格式,我不贊成使用可更改的文件格式,直接從程序上鎖定,只有圖象文件格式,和壓縮文件就完全可以,多給自己留點方便也就多給攻擊者留點方便。怎么判斷格式,我這里收集了一個,也改出了一個,大家可以看一下:
  程序體(10)

'判斷文件類型是否合格

private function checkfileext (fileext)

dim forumupload

forumupload="gif,jpg,bmp,jpeg"

forumupload=split(forumupload,",")

for i=0 to ubound(forumupload)

  if lcase(fileext)=lcase(trim(forumupload(i))) then

    checkfileext=true

    exit function

  else

    checkfileext=false

  end if

next

end function

'驗證文件內容的合法性

set myfile = server.createobject ("scripting.filesystemobject")

set mytext = myfile.opentextfile (sfile, 1) '讀取文本文件

stextall = lcase(mytext.readall): mytext.close

'判斷用戶文件中的危險操作

sstr ="8 .getfolder .createfolder .deletefolder .createdirectory .deletedirectory"

sstr = sstr & " .saveas wscript.shell script.encode"

snostring = split(sstr," ")

for i = 1 to snostring(0)

  if instr(stextall, snostring(i)) <> 0 then

    sfile = upl.path & sfilesave: fs.deletefile sfile

    response.write "<center><br><big>"& sfilesave &"文件中含有與操作目錄等有關的命令"&_

    "<br><font color=red>"& mid(snostring(i),2) &"</font>,為了安全原因,<b>不能上傳。<b>"&_"</big></center></html>"

    response.end

  end if

next

  把他們加到你的上傳程序里做一次驗證,那么你的上傳程序安全性將會大大提高.

  什么?你還不放心?拿出殺手锏,請你的虛擬主機服務商來幫忙吧。登陸到服務器,將prog id 中的"shell.application"項和"shell.application.1"項改名或刪除。再將”wscript.shell”項和”wscript.shell.1”這兩項都要改名或刪除。呵呵,我可以大膽的說,國內可能近半以上的虛擬主機都沒改過。


該文章在 2024/10/30 9:21:49 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲国产精品成人影院 | 蜜臀久久99精品久久久久久 | 国产精品无码久久久久久 | 亚洲精品无码久久久久yw | 成人又色又爽的免费网站 | 色综合视频一区中文字幕 | 国四虎影永久电视剧全集在线观看 | 欧美日韩精品一区二区三区不卡 | 一区二区三区视频日本精品 | 无码精品国产dvd在线观看9久 | 国产成人女人视频在线观看 | 国产精品一区二区AV交换 | 国产成人精品一区二区三区视 | 精品日本一区二区三区在线观看 | 丰满少妇高潮惨叫久久久一 | 国产 高清 无码 在线播放 | 欧美日韩国产另类在线观看 | 亚洲国产精品综合图片区 | 国产午夜激无码毛片久久HD | 亚洲欧美日本人成在线观看 | 无码人妻一区二区三区免责 | 国产三级aⅴ在线观看 | 精品免费看一区二区三区A片 | 国产成人久久综合777777麻豆 | 亚洲av中文无码字幕色三 | 亚洲综合日韩中文字幕v在线 | 国产亚洲综合一区二区三区 | 国产麻豆成人传媒免费观看 | 精品人妻无码中字系列 | 黑人无套内谢中国少妇一区我综合欧美 | 女人张开腿让男桶喷水高潮 | 亚洲AⅤ乱码一区二区三区 亚洲aⅴ秘区二区三区4 | 日韩在线视频www色 久热这里只精品99re8久 | 自拍日韩亚洲一区在线 | 欧洲熟妇色xxxx欧美老妇 | 在线岛国片免费观看无码 | 免费成人电影在线观看 | 亚洲国产精品美女久久久久 | 国产午夜精品无码理论片 | 亚洲国产av一区二区三区四区 | 日本三级香港三级三级人!妇久 |