ASP數據庫插馬小議

<from:lake2>

隨着技術的發展,ASP數據庫插馬也不是什麼新鮮的東東了,相信閣下也玩過這個的吧。呵呵,那你有沒有遇到過插入的asp代碼被空格拆開的情況呢(即插入的每個字符之間都出現了空格)?現在,就讓我們來解決這個問題。

經過對多例實際情況的分析,我發現只要出現代碼被空格隔開的數據庫,相應的字段的Unicode壓縮屬性總是“否”。相反,如過Unicode壓縮屬性爲“是”,則可以通過該字段進行插馬。

經過搜索,發現微軟官方對Unicode壓縮的描述:“Microsoft Access 2000 或更高版本使用 Unicode 字符編碼方案來表示文本、備註和超鏈接字段中的數據。Unicode 將每個字符表示爲兩個字節……需要的存儲空間比在 Access 97 或更早版本中要多……可通過將文本備註超鏈接字段的“Unicode 壓縮屬性的默認值設爲來彌補 Unicode 字符表達方式所造成的影響”

哦,原來開啓了 Unicode 壓縮的話,數據庫會自動把拉丁字符(西歐語言如英語、西班牙語或德語)用1個字節來存儲;如果沒開啓,數據庫就會用2個字節(1個字節爲0x00,作爲文本將被自動轉換爲空格)存儲拉丁字符,也就造成了插入的asp代碼被空格隔開的情況。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章