在这篇文中,我们将共同分析一下Oracle数据库的XXE注入漏洞(CVE-2014-6577),Oracle公司1月20日发布了针对该漏洞的相关补丁. 有关XXE的相关知识,可以查看安全脉搏站内的另一篇文章<未知攻焉知防——XXE漏洞攻防>. 漏洞描述 Oracle数据库的XML解析器模块容易受到XML外部实体(XML External Entity , XXE)注入. 受影响版本:11.2.0.3, 11.2.0.4, 12.1.0.1 和12.1.0.2 所需权限:创建会话(CREATE…
XXE漏洞 XXE漏洞全称XML External Entity Injection即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取.命令执行.内网端口扫描.攻击内网网站.发起dos攻击等危害.xxe漏洞触发的点往往是可以上传xml文件的位置,没有对上传的xml文件进行过滤,导致可上传恶意xml文件. 类似于文件包含漏洞--通过加载XML文件并调用配置文件,来实现注入 造成漏洞的代码: <?php $xml=$_GE…
Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的.这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了.oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力,这是通过引入一种新的flashback log实现的. flashback log有点类似redo log,只不过redo log将数据库往前滚,flashback log则将Oracle数据库往后滚.为了保存管理和备份恢复相…
`SELECT * FROM student ROWNUM <= 1 ORDER BY id ASC`执行结果,返回结果没有排序.使用驱动"System.Data.OracleClient". 换用Oracle.ManagedDataAccess.Client执行结果就排序了. ## 原因分析-----------------------------oracle中rownum和order by之间的关系,rownum并不是和sql server中的top一样,区别在于执行的顺序不…
前言 这是2016年的一个洞,利用条件是至少知道一个触发 springboot 默认错误页面的接口及参数名. 影响版本:1.1.0-1.1.12 1.2.0-1.2.7 1.3.0 修复方案:升级版本 环境搭建 下载链接:https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository/springboot-spel-rce 用idea打开之后配置一下,如下图: 然后启动访问出现如下页面,代表搭建成功. 漏洞复现 访问…
织梦dedecms,在整个互联网中许多企业网站,个人网站,优化网站都在使用dede作为整个网站的开发架构,dedecms采用php+mysql数据库的架构来承载整个网站的运行与用户的访问,首页以及栏目页生成html静态化,大大的加快的网站访问速度,以及搜索引擎的友好度,利于百度蜘蛛的抓取,深受广大站长以及网站运营者的喜欢.最近我们发现dedecms漏洞,存在高危的parse_str函数sql注入漏洞. 关于该织梦漏洞的详情,我们一步一步来剖析: 首先来介绍下parse_str函数的机制与作用是什…
0x00 前言 在oracle注入时候出现了数据库报错信息,可以优先选择报错注入,使用报错的方式将查询数据的结果带出到错误页面中. 使用报错注入需要使用类似 1=[报错语句],1>[报错语句],使用比较运算符,这样的方式进行报错注入(MYSQL仅使用函数报错即可),类似mssql报错注入的方式. 判断注入 http://www.jsporcle.com/news.jsp?id=1 and (select count (*) from user_tables)>0 -- http://www.j…
5/30 报错注入 0x01 准备阶段 1. 基础知识今天了解了,但是,只能看懂和最基本的理解,不能自己上路.所以,还是要不停学习基础.并且及时总结.这有一篇很详细的文章:https://www.cnblogs.com/pshell/articles/7473713.html 2.现在有基本思路了.先找注入点,然后再确定有几个字段,再确定字段的位置.通过字段位置,查数据库名.表名.列名. 3.找注入点.确定字段数.判断回显位置. 然后发现有三个null,接下来,我们寻找三个null中,哪些才是真…
PHP知名开发框架Laravel,之前在官方博客通报了一个高危SQL注入漏洞,这里简单分析下. 首先,这个漏洞属于网站coding写法不规范,官方给了提示: 但官方还是做了修补,升级最新版本V5.8.7可修复. 我们先定位下这里: Illuminate\Validation\Rule     官方推荐的写法是: Rule::unique('users')->ignore($id),     如果网站coding没有预先对$id的值做处理时,用户可以直接传递恶意数据给ignore函数,就会导致SQ…
判断数据库的类型 当我们通过一些测试,发现存在SQL注入之后,首先要做的就是判断数据库的类型. 常用的数据库有MySQL.Access.SQLServer.Oracle.PostgreSQL.虽然绝大多数数据库的大部分SQL语句都类似,但是每个数据库还是有自己特殊的表的.通过表我们可以分辨是哪些数据库. MySQL数据库的特有的表是 information_schema.tables , access数据库特有的表是 msysobjects ,SQLServer 数据库特有的表是 sysobje…
问题背景: 刚进入公司不久的BI新手,最近接部门的一个交接项目,需要在SQL Server上通过openquery来获取Oracle数据库的数据.各种配置,各种设置折腾了一周之久.在此,将自己的问题解决过程拿出来与大家分享.这里需要强调一点,网络资源虽然强大,但是每个人的问题一定是specific的,切忌生搬硬套. 系统配置:Windows server 2012 R2,64bit Intel Xeon 8 threads,48GB Memory: 预装软件:VS 2012 32bit,SQL…
XML被设计为传输和存储数据,XML文档结构包括XML声明.DTD文档类型定义(可选).文档元素,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具.XXE漏洞全称XML External Entity Injection,即xml外部实体注入漏洞,XXE漏洞发生在应用程序解析XML输入时,没有禁止外部实体的加载,导致可加载恶意外部文件,造成文件读取.命令执行.内网端口扫描.攻击内网网站等危害. 与html区别: Xml:被设计为传输和存储数据,其焦点是数据的内容 Ht…
Access数据库注入 前言:在常见的注入测试中,由于每个数据库内置架构和应用不同,导致数据库类型将决定注入的手法,Access数据库是小型数据库类型,普遍用于小型WEB应用,其中Access注入手法也相对于较为简单. 第一点:比较Mysql结构及功能 Mysql数据库 数据库A zblog = www.zblog.com 表名 列名 数据 数据库B dede = www.dede.com 表名 列名 数据 ACCESS数据库(只有一个数据库,不存在多个,适合小型网站) 表名 列名 数据 功能:…
XXE 漏洞原理 XXE是xml外部实体注入漏洞,应用程序解析xml输入时,没有禁止外部实体的加载,导致可加载恶意外部文件和代码,造成任意文件读取,命令执行,内网端口扫描攻击内网网站等危害. 漏洞危害 1. 读取敏感文件. 2. 执行ssrf漏洞,进行内网端口探测,攻击内网网站等. 漏洞检测 1. XInclude攻击 一些应用程序接收用户的数据,在服务端嵌入到xml文档中解析,这时我们无法控制整个xml文档,所以就无法定义或修改DOCTYPE元素.XInclede是xml规范的一部分,允许从子…
day17总结 今日内容 l JDBC 1.1 上次课内容总结 SQL语句: 1.外键约束:foreign key * 维护多个表关系! * 用来保证数据完整性! 2.三种关系: * 一对多: * 一个客户可以对应多个订单,一个订单只属于一个客户! * 建表原则: * 在多的一方创建一个字段,作为外键指向一的一方的主键!!! * 多对多: * 一个学生可以选择多个课程,一个课程也可以被多个学生选择! * 建表原则: * 创建第三张表,第三张表中放入两个字段,作为外键分别指向多对多双方的主键! *…
漏洞名称: WordPress WP-Realty插件‘listing_id’参数SQL注入漏洞 CNNVD编号: CNNVD-201310-499 发布时间: 2013-10-23 更新时间: 2013-10-23 危害等级:    漏洞类型: SQL注入 威胁类型: 远程 CVE编号:   漏洞来源: Napsterakos WordPress是WordPress软件基金会的一套使用PHP语言开发的博客平台,该平台支持在PHP和MySQL的服务器上架设个人博客网站.WP-Realty是其中的…
漏洞版本: mod_accounting 0.5 漏洞描述: BUGTRAQ ID: 62677 CVE ID: CVE-2013-5697 mod_accounting是Apache 1.3.x上的流量计费模块,该模块使用数据记录流量,支持的数据库类型包括MySQL及PostgreSQL. mod_accounting 0.5模块在Host报文头中存在SQL注入漏洞,攻击者可利用此漏洞破坏应用,执行未授权数据库操作.该漏洞源于用户提供的HTTP报文头未经过滤即用在查询内.该模块使用了简单的字符…
所谓SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令,比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这类表单特别容易受到SQL注入式攻击. sql注入 什么时候最易受到sql注入攻击 当应用程序使用输入内容来构造动态sql语句以访问数据库时,会发生sql注入攻击.如果代码使用存储过程,而这些存储过程作为包含未筛选的用户输入的 字符串来传递,也会发生sql注入.sql注入可能导致攻击者使…
首先要知道sql注入形成的原因:用户输入的数据被sql解释器执行 sql注入又分:数字型,字符型,cookie 注入,post注入,延时注入,搜索注入,base64注入 如何甄别一个模块是否有sql注入呢 打个比方 数字型注入 www.baidu.com/test?id=1 有这摸一个页面 我在后面加上 www.baidu.com/test?id=1 and 1=2   如果返回正常无数据就证明此模块可能存在SQL注入漏洞 而注入多存在asp.php弱类型语言中 上面那个例子就是典型的数字型注入…
本文只指针编码层次的SQL注入漏洞解决方法,例子代码是以java为主. 1,参数化的预编译查询语句 不安全例子 String query = "SELECT account_balance FROM user_data WHERE user_name = " + request.getParameter("customerName"); try { Statement statement = connection.createStatement( … ); Resu…
   1.     漏洞描述 ThinkCMF是一款基于ThinkPHP+MySQL开发的中文内容管理框架,其中X系列基于ThinkPHP 3.2.3开发,最后更新到2.2.2版本.最近刚好在渗透测试项目中遇到这个CMS,便审了下源码发现多处SQL注入漏洞,在Github给项目方提issues后,提交到CVE官方后很快就拿到了分配的多个编号:CVE-2018-19894.CVE-2018-19895.CVE-2018-19896.CVE-2018-19897.CVE-2018-19898. 2.…
1.一个问题引发的思考 大家在群里讨论了一个问题,奉文帅之命写篇作文,且看: String user_web = "user_web" String sql = "update user set user_web="+user_web+" where userid=2343"; 大家看看这条sql有没有问题,会将user_web字段 更新成什么? 问题的结论是:执行后的记录结果跟执行前一样,(执行时的sql语句为 update user set…
现在通过mysql以及oracle来测试sql注入  漏洞 mysql中的注释#    oracle中的注释为-- 所以注入漏洞就产生了 //登录测试 public void login()throws Exception{ Scanner input=new Scanner(System.in); System.out.println("登录名:"); String loginname=input.nextLine(); System.out.println("密码:&qu…
0x01 Oracle存储过程”缺陷” 在 Oracle 的存储过程中,有一个有趣的特点:运行权限.运行权限分为两种,definer 和 invoker. definer 为函数创建者的权限,而 invoker 则是当前调用函数的用户.运行权限在函数创建时就已经被钦定了,默认为 definer. 说白了,如果我们用低权限用户去运行DBA权限用户创建的存储过程,我们在调用时就可以额访问DBA资源,使用DBA的权限 Oracle 这样做的初衷,实际上是为了用户互相访问资源时,避免用户凭据的问题.当然…
SQL注入漏洞详解 目录 SQL注入的分类 判断是否存在SQL注入 一:Boolean盲注 二:union 注入 三:文件读写 四:报错注入 floor报错注入 ExtractValue报错注入 UpdateXml报错注入 五:时间盲注 六:REGEXP正则匹配 七:宽字节注入 八:堆叠注入 九:二次注入 十:User-Agent注入 十一:Cookie注入 十二:过滤绕过 十三:传说中的万能密码 SQL注入的预防 (1)预编译(PreparedStatement)(JSP) (2)PDO(PH…
目录 SQL注入的分类 判断是否存在SQL注入 一:Boolean盲注 二:union 注入 三:文件读写 四:报错注入 floor报错注入 ExtractValue报错注入 UpdateXml报错注入 五:时间盲注 六:REGEXP正则匹配 七:宽字节注入 八:堆叠注入 九:二次注入 十:User-Agent注入 十一:Cookie注入 十二:过滤绕过 十三:传说中的万能密码 SQL注入的预防 (1)预编译(PreparedStatement)(JSP) (2)PDO(PHP) (3)使用正则…
jira ssrf CVE-2019-8451 url = url + '/plugins/servlet/gadgets/makeRequest?url=' + host + '@www.baidu.com/' Jira未授权服务端模板注入远程代码执行漏洞(CVE-2019-11581) Ueditor 任意文件上传 uchome uchome 2.0 存在持久XSS漏洞 发布时间:-- 在uchome 简体utf- .0测试IE6,IE7,IE8通过. @import url(http://…
一.执行java代码 简介 oracle提权漏洞集中存在于PL/SQL编写的函数.存储过程.包.触发器中.oracle存在提权漏洞的一个重要原因是PL/SQL定义的两种调用权限导致(定义者权限和调用者权限).定义者权限给了低权限用户在特定时期拥有高权限的可能,这就给提权操作奠定了基础. 即无论调用者权限如何,执行存储过程的结果权限永远为定义者的权限.因此,如果一个较高权限的用户定义了存储过程,并赋予了低权限用户调用权限,较低权限的用户即可利用这个存储过程提权. Java具有一组非常强大的标准库,…
XML与xxe注入基础知识 1.XMl定义 XML由3个部分构成,它们分别是:文档类型定义(Document Type Definition,DTD),即XML的布局语言:可扩展的样式语言(Extensible Style Language,XSL),即XML的样式表语言:以及可扩展链接语言(Extensible Link Language,XLL). XML:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言.它被设计用来传输和存储数据(而不是储存数据),可…
什么是SQL注入: SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL. SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句.如Web应用程序的开发人员对用户所输入的数据或cooki…