上一篇中給大家著(zhù)重談了“ADO 存取數據庫時(shí)如何分頁(yè)顯示”的問(wèn)題,有位朋友來(lái)信給我指出我在計算頁(yè)面總數時(shí)忽略了 Recordset 對象的一個(gè)重要參數“PageCount”,它能在給 Pagesize 賦值后自動(dòng)得出頁(yè)面的總數,而無(wú)須用“INT(RS.recordcount/PgSz*-1)*-1”這樣繁瑣的公式。我要感謝這位朋友熱心地給我指出程序中的不足,由于這個(gè)程序是我在很久以前寫(xiě)的,因為在分頁(yè)顯示的時(shí)候記錄的總數不一定能整除頁(yè)面顯示記錄的數目,而當時(shí)我又不能肯定 PageCount 是否能正確得出頁(yè)面的數目,所以偷懶寫(xiě)了這個(gè)公式:),說(shuō)實(shí)話(huà)我到現在還都沒(méi)試過(guò)用 pagecount,有興趣的朋友千萬(wàn)要試一下哦,可別學(xué)我的懶惰呀。
最近我在 chinaasp 的 bbs 上討論問(wèn)題時(shí)發(fā)現很多朋友對于 asp 的一些安全性問(wèn)題不甚了解,甚至不知道如何解決最常見(jiàn)的 asp::$DATA 顯示源代碼的問(wèn)題,因此我覺(jué)得非常有必要在這里給廣大朋友們重點(diǎn)談一談這個(gè)問(wèn)題,在征得 chinaasp 飛鳥(niǎo)的同意下,我將他曾經(jīng)寫(xiě)過(guò)的一點(diǎn)關(guān)于 asp 漏洞的介紹加上我自己的一些實(shí)踐經(jīng)驗拿出來(lái)給大家詳細分析一下這個(gè)對于 webmaster 來(lái)說(shuō)至關(guān)重要的 asp 的安全性問(wèn)題。
當去年 ::$DATA 的漏洞被發(fā)現并公布的第二天,我曾經(jīng)檢測了當時(shí)國內大部分運用 asp 的站點(diǎn),其中百分之九十九都存在以上可以看見(jiàn)源代碼的問(wèn)題,當日我甚至在微軟的站點(diǎn)上抓下了 search.asp 這個(gè)文件的源代碼??赡苣銜?huì )覺(jué)得看到源代碼并沒(méi)有什么大礙,如果作為 webmaster 的你這么想就大錯特錯了。譬如,如果 asp 程序員將站點(diǎn)的登陸密碼直接寫(xiě)在 asp 里,那么一旦源碼被發(fā)現,他人就可以很容易的進(jìn)入本不該被看到的頁(yè)面,我就曾經(jīng)利用這個(gè)方法免費成為了一個(gè)收費網(wǎng)站的成員(大家可別揭發(fā)我哦?。?,而且很多數據庫的連接用戶(hù)名和密碼也都是直接寫(xiě)在 asp 里,一旦被發(fā)現,如果你的數據庫允許遠程訪(fǎng)問(wèn)而且沒(méi)有設防的話(huà)就相當危險了。在一些用 asp 開(kāi)發(fā)的 bbs 程序中,往往使用的是 access mdb 庫,如果 mdb 庫存放的路徑被獲知,數據庫就很有可能被他人下載,加之如果數據庫里含有的密碼不加密,那就非常危險了,獲取密碼的人如果有意進(jìn)行惡意破壞,他只需要以 admin 身份登陸刪除所有 bbs 里的帖子,就夠你嗆的了。下面列出了目前已經(jīng)發(fā)現的一些漏洞,希望大家提高警惕一、經(jīng)過(guò)實(shí)驗我們發(fā)現, win95+pws 上運行 ASP 程序,只須簡(jiǎn)單地在瀏覽器地址欄的 asp 文件名后多加一個(gè)小數點(diǎn) ASP 程序就會(huì )被下載下來(lái)。 IIS3 也存在同樣的問(wèn)題,如果你目前還在使用 IIS3 一定要測試一下。
二、 iis2、 iis3、 iis4 的一個(gè)廣為人知的漏洞就是 ::$DATA,通過(guò)它使用 ie 的 view source 或 netscape 直接訪(fǎng)問(wèn)該 asp 文件就能輕而易舉地看到 asp 代碼。 win98+pws4 不存在這個(gè)漏洞。
究竟是什么原因造成了這種可怕的漏洞呢?究其根源其實(shí)是 Windows NT 特有的文件系統在做怪。有一點(diǎn)常識的人都知道在 NT 提供了一種完全不同于 FAT 的文件系統: NTFS,這種被稱(chēng)之為新技術(shù)文件系統的技術(shù)使得 NT 具有了較高的安全機制,但也正是因為它而產(chǎn)生了不少令人頭痛的隱患。大家可能不知道, NTFS 支持包含在一個(gè)文件中的多數據流,而這個(gè)包含了所有內容的主數據流被稱(chēng)之為“DATA”,因此使得在瀏覽器里直接訪(fǎng)問(wèn) NTFS 系統的這個(gè)特性而輕易的捕獲在文件中的腳本程序成為了可能。然而直接導致 ::$DATA 的原因是由于 IIS 在解析文件名的時(shí)候出了問(wèn)題,它沒(méi)有很好地規范文件名。
我們該如何解決這個(gè)問(wèn)題呢?辦法有幾種:
a、是將 .asp 文件存放的目錄設置為不可讀(ASP 仍能執行),這樣 html、 css 等文件就不能放在這個(gè)目錄下,否則它們將不能被瀏覽。
b、是安裝微軟提供的補丁程序,下載的地址如下(注意針對不同的系統有不同
Copyright@ 2011-2016 版權所有:大連千億科技有限公司 遼ICP備11013762-3號 google網(wǎng)站地圖 百度網(wǎng)站地圖 網(wǎng)站地圖
公司地址:大連市沙河口區中山路692號辰熙星海國際2317 客服電話(huà):0411-39943997 QQ:2088827823 37482752
法律聲明:未經(jīng)許可,任何模仿本站模板、轉載本站內容等行為者,本站保留追究其法律責任的權利! 隱私權政策聲明