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

首頁(yè) > 編程 > ASP > 正文

ASP文件中的安全問(wèn)題

2024-05-04 10:57:21
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

淺談ASP的安全問(wèn)題
先說(shuō)句牢騷話,我經(jīng)常看到有人說(shuō)ASP不安全,比如容易被注入,這種說(shuō)法我一直感到無(wú)法理解。如果你水平不高,那么你用php用ASP.net用JSP都有被注入的可能,這關(guān)ASP什么事?ASP只是一種技術(shù),用它開(kāi)發(fā)的網(wǎng)站是否安全,只跟程序員和服務(wù)器管理員的水平有關(guān)系,任何技術(shù)開(kāi)發(fā)的網(wǎng)站都一樣。只要你的程序有漏洞,而且你用的數(shù)據(jù)庫(kù)支持標(biāo)準(zhǔn)SQL語(yǔ)法,或者注入者會(huì)這種語(yǔ)法,那么就存在被注入的可能。
閑話少說(shuō),我今天結(jié)合我個(gè)人的經(jīng)驗(yàn)來(lái)簡(jiǎn)單說(shuō)說(shuō)ASP中常見(jiàn)的安全問(wèn)題。

一,注入。無(wú)論什么時(shí)候講到網(wǎng)站的安全問(wèn)題,SQL注入都是首當(dāng)其沖的。我們先來(lái)看看SQL注入是怎么回事。簡(jiǎn)單的說(shuō),SQL注入就是通過(guò)各種方式傳遞非法的參數(shù),其方式和目的無(wú)法是以下幾種:
·期望程序出錯(cuò),從而從服務(wù)器返回的錯(cuò)誤信息中獲得一些注入者想要的東西,這種方法常用來(lái)判斷數(shù)據(jù)庫(kù)的類型。
·執(zhí)行特殊語(yǔ)句,用來(lái)猜解表名等。
·構(gòu)造特殊語(yǔ)句,這個(gè)常常就是用來(lái)繞過(guò)登錄檢測(cè)取得管理權(quán)限的。
針對(duì)以上問(wèn)題,我一般采用以下的應(yīng)對(duì)方法:
·前面兩種情況應(yīng)該一起考慮。無(wú)論是哪種注入方式,其實(shí)都是通過(guò)構(gòu)造非法的參數(shù)來(lái)實(shí)現(xiàn)的,那么我們就通過(guò)程序來(lái)限制參數(shù),給合法的參數(shù)制定一個(gè)規(guī)則,不符合這個(gè)規(guī)則的就是非法的。但在檢測(cè)時(shí)經(jīng)常見(jiàn)出現(xiàn)下面的錯(cuò)誤:
1,用isnumeric函數(shù)來(lái)檢測(cè)id。這個(gè)函數(shù)僅僅是判斷是否是數(shù)字,僅此而已,那么如果我這樣輸入一個(gè)url:shownews.asp?id=1.1,那么也會(huì)通過(guò)檢測(cè),因?yàn)?.1也是數(shù)字,或者id=0也行。有這樣的id嗎?沒(méi)有,任何數(shù)據(jù)庫(kù)表中的id都是從1開(kāi)始的正整數(shù)。所以請(qǐng)大家不要這樣再使用它來(lái)檢測(cè)id的合法性。那用什么呢?這里就要用到正則表達(dá)式了。
可以通過(guò)id=cint(request("id"))或clng,或者就是用正則表達(dá)式替換所有的非數(shù)字字符,這樣就只有數(shù)字了。(asp下替換非數(shù)字為空的正則)

2,缺少錯(cuò)誤處理,或錯(cuò)誤處理不完善。比如rs.eof的情況,不加處理的話,我寫個(gè)id=999999999999999,那么程序就會(huì)出錯(cuò),我相信絕少有哪個(gè)網(wǎng)站有如此大的id,即使有我還可以換個(gè)更大的。我曾經(jīng)就遇到過(guò)有人用工具連續(xù)試探我的id,從8000測(cè)試到10000多。還有就是type參數(shù),一般網(wǎng)站的新聞都會(huì)分好幾個(gè)欄目,這時(shí)都依靠type來(lái)確定每個(gè)列表頁(yè)面該顯示哪個(gè)欄目的內(nèi)容,如果有人提交一個(gè)不存在的type值呢?這也需要處理,select case中的case else子句就是為這種意外情況準(zhǔn)備的,別為了省事不去用它。
·繞過(guò)登錄檢測(cè)的問(wèn)題大多數(shù)是因?yàn)槌绦騿T把登錄檢測(cè)語(yǔ)句寫成這樣:

復(fù)制代碼 代碼如下:

Sql="Select count(*) from Admin Where UserName='"&UserName&"' and Pwd='"&Pwd&"'"
if rs(0) > 0 then....
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 左云县| 牙克石市| 铁岭市| 平定县| 友谊县| 松阳县| 衢州市| 新宾| 本溪市| 新宁县| 东乌珠穆沁旗| 玛沁县| 汾阳市| 晋中市| 本溪市| 乌恰县| 蒲城县| 东乡县| 名山县| 海丰县| 公安县| 绥化市| 廊坊市| 西和县| 潮州市| 伊宁县| 平舆县| 皋兰县| 合肥市| 昌乐县| 双流县| 弥渡县| 莎车县| 隆化县| 淮南市| 南开区| 红原县| 苗栗市| 大理市| 子洲县| 开原市|