


堵塞Web漏洞(下)
添加時間:2010-11-7
添加:
admin
解決方法:
(1)為你的數據庫文件名稱起個復雜的非常規的名字,并把他放在幾層目錄下。所謂“非常規”,打個比方:比如有個數據庫要保存的是有關書籍的信息,可不要把它命名為”book.mdb“的名字,起個怪怪的名稱,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/的幾層目錄下,這樣黑客要想通過猜的方式得到你的Access數據庫文件就難上加難了;
(2)不要把數據庫名寫在程序中。有些人喜歡把DSN寫在程序中,比如:
DBPath=Server.MapPath(“cmddb.mdb”)
conn.Open“driver={MicrosoftAccessDriver(*.mdb)};dbq=”&DBPath
假如萬一給人拿到了源程序,你的Access數據庫的名字就一覽無余。因此建議你在ODBC里設置數據源,再在程序中這樣寫:
conn.open“shujiyuan”
(3)使用Access來為數據庫文件編碼及加密。首先在選取“工具”→“安全”→“加密/解密數據庫”,選取數據庫(如:employer.mdb),然后接確定,接著會出現“數據庫加密后另存為”的窗口,存為:employer1.mdb。接著“employer.mdb”就會被編碼,然后存為:employer1.mdb。
注意:以上的動作并不是對數據庫設置密碼,而只是對數據庫文件加以編碼,目的是為了防止他人使用別的工具來查看數據庫文件的內容。
接下來我們為數據庫加密,首先以打開經過編碼了的“employer1.mdb”,在打開時,選擇“獨占”方式。然后選取功能表的“工具”→“安全”→“設置數據庫密碼”,接著輸入密碼即可。
為“employer1.mdb”設置密碼之后,接下來如果再使用Access數據庫文件時,則Access會先要求輸入密碼,驗證正確后才能夠啟動數據庫。
不過要在ASP程序中的Connection對象的open方法中增加PWD的參數即可,例如:
以下為引用的內容:
param=“driver={MicrosoftAccessDriver(*.mdb)};Pwd=yfdsfs”
param=param&“;dbq=”&server.mappath(“employer1.mdb”)
conn.openparam
這樣即使他人得到了Fmployer1.mdb文件,沒有密碼他是無法看到employer1.mdb的。
5.asp程序密碼驗證漏洞
漏洞描述:
很多網站把密碼放到數據庫中,在登陸驗證中用以下Sql,(以ASP為例)
sql=“select*fromuserwhereusername=”&username&“andpass=”&pass&”
此時,您只要根據SQL構造一個特殊的用戶名和密碼,如:benor1=1
就可以進入本來你沒有特權的頁面。再來看看上面那個語句吧:
sql=“select*fromuserwhereusername=”&username&“andpass=“&pass&”
or是一個邏輯運算符,作用是在判斷兩個條件的時候,只要其中一個條件成立,那么等式將會成立。而在語言中,是以1來代表真的(成立)。那么在這行語句中,原語句的“and”驗證將不再繼續,而因為“1=1”和“or”令語句返回為真值。
另外我們也可以構造以下的用戶名:
username=aaorusername<>aa
pass=aaorpass<>aa
相應的在瀏覽器端的用戶名框內寫入:aaorusername<>aa口令框內寫入:aaorpass<>aa,注意這兩個字符串兩頭是沒有的。這樣就可以成功的騙過系統而進入。
后一種方法理論雖然如此,但要實踐是非常困難的,下面兩個條件都必須具備。
(1)你首先要能夠準確的知道系統在表中是用哪兩個字段存儲用戶名和口令的,只有這樣你才能準確的構造出這個進攻性的字符串。實際上這是很難猜中的。
(2)系統對你輸入的字符串不進行有效性檢查。
問題解決和建議:對輸入的內容驗證和“”號的處理。
6.IIS4或者IIS5中安裝有IndexServer服務會漏洞ASP源程序
問題描述:
在運行IIS4或者IIS5的IndexServer,輸入特殊的字符格式可以看到ASP源程序或者其它頁面的程序。甚至以及添打了最近關于參看源代碼的補丁程序的系統,或者沒有.htw文件的系統,一樣存在該問題。獲得ASP程序,甚至global.asp文件的源代碼,無疑對系統是一個非常重大的安全隱患。往往這些代碼中包含了用戶密碼和ID,以及數據庫的源路徑和名稱等等。這對于攻擊者收集系統信息,進行下一步的入侵都是非常重。
通過構建下面的特殊程序可以參看該程序源代碼:
http://202.116.26.38/null.htwCiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteTyp-e=Full
這樣只是返回一些HTML格式的文件代碼,但是當你添加%20到CiWebHitsFile的參數后面,如下:
http://someurl/null.htw?CiWebHitsFile=/default.asp%20&CiRestriction=none&CiHiliteType=Full
這將獲得該程序的源代碼。(注意:/default.asp是以Web的根開始計算。如某站點的http://XXXXXX/welcome.asp)
那么對應就是:
http://someurl/null.htwCiWebHitsFile=/XXXXXX/wel
(1)為你的數據庫文件名稱起個復雜的非常規的名字,并把他放在幾層目錄下。所謂“非常規”,打個比方:比如有個數據庫要保存的是有關書籍的信息,可不要把它命名為”book.mdb“的名字,起個怪怪的名稱,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/的幾層目錄下,這樣黑客要想通過猜的方式得到你的Access數據庫文件就難上加難了;
(2)不要把數據庫名寫在程序中。有些人喜歡把DSN寫在程序中,比如:
DBPath=Server.MapPath(“cmddb.mdb”)
conn.Open“driver={MicrosoftAccessDriver(*.mdb)};dbq=”&DBPath
假如萬一給人拿到了源程序,你的Access數據庫的名字就一覽無余。因此建議你在ODBC里設置數據源,再在程序中這樣寫:
conn.open“shujiyuan”
(3)使用Access來為數據庫文件編碼及加密。首先在選取“工具”→“安全”→“加密/解密數據庫”,選取數據庫(如:employer.mdb),然后接確定,接著會出現“數據庫加密后另存為”的窗口,存為:employer1.mdb。接著“employer.mdb”就會被編碼,然后存為:employer1.mdb。
注意:以上的動作并不是對數據庫設置密碼,而只是對數據庫文件加以編碼,目的是為了防止他人使用別的工具來查看數據庫文件的內容。
接下來我們為數據庫加密,首先以打開經過編碼了的“employer1.mdb”,在打開時,選擇“獨占”方式。然后選取功能表的“工具”→“安全”→“設置數據庫密碼”,接著輸入密碼即可。
為“employer1.mdb”設置密碼之后,接下來如果再使用Access數據庫文件時,則Access會先要求輸入密碼,驗證正確后才能夠啟動數據庫。
不過要在ASP程序中的Connection對象的open方法中增加PWD的參數即可,例如:
以下為引用的內容:
param=“driver={MicrosoftAccessDriver(*.mdb)};Pwd=yfdsfs”
param=param&“;dbq=”&server.mappath(“employer1.mdb”)
conn.openparam
這樣即使他人得到了Fmployer1.mdb文件,沒有密碼他是無法看到employer1.mdb的。
5.asp程序密碼驗證漏洞
漏洞描述:
很多網站把密碼放到數據庫中,在登陸驗證中用以下Sql,(以ASP為例)
sql=“select*fromuserwhereusername=”&username&“andpass=”&pass&”
此時,您只要根據SQL構造一個特殊的用戶名和密碼,如:benor1=1
就可以進入本來你沒有特權的頁面。再來看看上面那個語句吧:
sql=“select*fromuserwhereusername=”&username&“andpass=“&pass&”
or是一個邏輯運算符,作用是在判斷兩個條件的時候,只要其中一個條件成立,那么等式將會成立。而在語言中,是以1來代表真的(成立)。那么在這行語句中,原語句的“and”驗證將不再繼續,而因為“1=1”和“or”令語句返回為真值。
另外我們也可以構造以下的用戶名:
username=aaorusername<>aa
pass=aaorpass<>aa
相應的在瀏覽器端的用戶名框內寫入:aaorusername<>aa口令框內寫入:aaorpass<>aa,注意這兩個字符串兩頭是沒有的。這樣就可以成功的騙過系統而進入。
后一種方法理論雖然如此,但要實踐是非常困難的,下面兩個條件都必須具備。
(1)你首先要能夠準確的知道系統在表中是用哪兩個字段存儲用戶名和口令的,只有這樣你才能準確的構造出這個進攻性的字符串。實際上這是很難猜中的。
(2)系統對你輸入的字符串不進行有效性檢查。
問題解決和建議:對輸入的內容驗證和“”號的處理。
6.IIS4或者IIS5中安裝有IndexServer服務會漏洞ASP源程序
問題描述:
在運行IIS4或者IIS5的IndexServer,輸入特殊的字符格式可以看到ASP源程序或者其它頁面的程序。甚至以及添打了最近關于參看源代碼的補丁程序的系統,或者沒有.htw文件的系統,一樣存在該問題。獲得ASP程序,甚至global.asp文件的源代碼,無疑對系統是一個非常重大的安全隱患。往往這些代碼中包含了用戶密碼和ID,以及數據庫的源路徑和名稱等等。這對于攻擊者收集系統信息,進行下一步的入侵都是非常重。
通過構建下面的特殊程序可以參看該程序源代碼:
http://202.116.26.38/null.htwCiWebHitsFile=/default.asp&CiRestriction=none&CiHiliteTyp-e=Full
這樣只是返回一些HTML格式的文件代碼,但是當你添加%20到CiWebHitsFile的參數后面,如下:
http://someurl/null.htw?CiWebHitsFile=/default.asp%20&CiRestriction=none&CiHiliteType=Full
這將獲得該程序的源代碼。(注意:/default.asp是以Web的根開始計算。如某站點的http://XXXXXX/welcome.asp)
那么對應就是:
http://someurl/null.htwCiWebHitsFile=/XXXXXX/wel
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解