公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

asp中trim()函數(shù)及漏洞詳述,用戶注冊異型“空格”對策

admin
2010年7月22日 16:3 本文熱度 6041
在asp編程中,我們常常使用trim(rtrim,ltrim)函數(shù)去掉一些數(shù)據(jù)的開頭和結(jié)尾的空格,筆者最近寫了一個asp聊天室,有下面的一段代碼:  [br][br]<% dim name,title  [br]name=trim(request.form("name"))  [br]password=trim(request.form("password"))  [br]if name=""or password="" then response.redirect "error.asp?error=name&name=null"   [br]mydsn="dsn=test;uid=test;pwd=test"  [br]set cn=server.createobject("adodb.connection")  [br]cn.open mydsn  [br]sql="insert into test(name,title) values('"&name&"','"&password&"')"  [br]cn.execute(sql)  [br]cn.close%>  [br][br]使用了trim函數(shù)來去掉開頭和結(jié)尾的空格,在一般的情況下,這段程序執(zhí)行的很正常,但是后來竟然發(fā)現(xiàn)有人竟然可以使用空格來,意思就是說,該用戶的name完全為空格,但是自己嘗試使用空格卻無論都不能通過(即被程序監(jiān)測了出來),開頭和結(jié)尾的空格都被trim函數(shù)給去掉了,即使中間有空格,若需要的話也可以使用一個函數(shù)把中間的空格給去掉,由于使用的是sql數(shù)據(jù)庫記錄下的用戶資料,于是懷疑他使用了其它什么的東西讓系統(tǒng)看不到,于是去察看紀(jì)錄用戶資料的sql數(shù)據(jù)庫(曾經(jīng)使用這種方法看到了帶換行符的用戶),但是仍然看到數(shù)據(jù)庫中的改用戶的資料也是空格,這難道說該用戶使用了一種手段可以繞過我的用戶名和密碼監(jiān)測嗎???實在找不到程序上的漏洞,于是只能向這位用戶請教,幸運的是這位用戶爽快的告訴了筆者,原來是"alt+255",按住alt鍵然后依次按下小鍵盤中"2","5","5"就會產(chǎn)生一個比較特殊的東西"空格"字符(這個概念筆者也不是比較清楚,這是一種控制字符,在一些編輯器中可以看到word2000,應(yīng)該還有其他的控制字符),這個空格字符不同于傳統(tǒng)的按下空格鍵產(chǎn)生的字符,它的asc代碼是255,而傳統(tǒng)的space鍵入的空格的asc代碼是32,trim函數(shù)只能認(rèn)識asc代碼為32的代碼并去除,所以出現(xiàn)了出現(xiàn)空格用戶的情況!針對這種情況筆者設(shè)計了下面的兩種函數(shù)去掉這"空格"字符:[br]function xuankong(str)  [br]dim result  [br]dim j  [br]   j=len(str)  [br]   result=""  [br]dim i   [br]for i = 1 to j  [br]   select case mid(str,i,1)  [br]       case "<"  [br]          result=result+"<"  [br]       case ">"  [br]          result=result+">"  [br]       case chr(34)    [br]          result=result+"""  [br]       case "&"  [br]          result=result+"&"  '以上代碼轉(zhuǎn)換一些html標(biāo)記  [br]       case chr(255) '防止特殊空格  [br]          result=result  [br]       case chr(13) '防止回車符  [br]          result=result+""  [br]       case chr(10) '防止換行符  [br]          result=result+""  [br]       case else  [br]          result=result+mid(str,i,1)  [br]  end select  [br]next   [br]xuankong=result  [br]end function  [br]然后在你的asp程序中使用這個函數(shù),比如:  [br]name=xuankong(trim(request.form("name")))  [br][br]因為字符0-z asc代碼的數(shù)值為 48-122 這一個區(qū)段 ,所以可以使用如下的方法監(jiān)測: [br][br]dim j  [br]j=len(trim(request.form("name")))  [br]for i= 1 to  j  [br]if  asc(mid(name,i,1))>122 or asc(mid(name,i,1))<48 then response..redirect"error.asp?[br]error=special"  [br]next[br]  [br]雖然這種“空格”暫時沒有發(fā)現(xiàn)會破壞程序的問題,但是卻是可以讓人搗亂的,還是防了的好,不過這種空格也有一種好處,如果作為你得上網(wǎng)密碼的話,嘿嘿… …恐怕沒有幾個人能看到吧!看到的都是以為是space,但是卻不是… … 筆者不熟悉php和jsp所以不知道在這兩種東西中是否會存在這種問題。

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

主站蜘蛛池模板: 精品日韩亚洲av无码一区二区三区 | 91国产在线视频在线观看^ | 国产人妻熟女玄幻 | 国产高清精品入口91 | 国产一本大道香蕉大在线 | av片无码一区二区不卡电影 | 91午夜福利国产 | 精品国产专区不卡 | av无码观 | 国产精品午夜爆乳美女视频免费 | 国产av毛片影院精品资源 | 高清亚洲日韩欧洲不卡在线 | 精品国产一区二区三区国产馆 | 国产精品二区在线 | 国产精品区免费视频 | 高潮潮喷 | 2025国产精品自慰 | 国产欧美日韩一区二区三区在 | 99精品视频在线观看免费蜜桃 | 成人无码午夜在线观看 | 成人午夜福利在线观看 | 国产极品久久久久极品 | 国产一区二区三区亚洲综合 | 黄色三级网站免费 | 国产av一区二区三区久久浪潮 | 国产精品大屁股白浆一区二区 | 国产狂喷潮在线观看国产片 | 91亚洲国产日韩欧美在线播放 | 国产午夜福利在线视频导航 | 国产色视频一区二区三区qq号 | 成人欧美一区二区三区在线 | 国产无套嗨操在线观看 | 成人无码h动漫在线网站免费y | 成人精品日本亚洲电影院电影 | av无码小缝喷白 | 精品视频一区二区在线观看 | 91网视频在线观看 | 国产精品白丝av在线观看播放 | 97人妻免费在线视频中文 | 国产成人精品大尺度在线观看 | 国产91九色在线 |