道哥的<白帽子讲web安全>有一章提到Padding Oracle Attack的攻击方式,据说这货在2011年的Pwnie Rewards上还被评为"最具价值的服务器漏洞". 抱着书看了半天,感觉也不是很理解,和密码学结合的比较紧,有一些理论的东西在里面.这里做个学习笔记,研究一下. 1. 相关阅读材料 https://github.com/GDSSecurity/PadBuster PadBuster - Automated script for performing…
Padding Oracle Attack还是颇具威力的,ASP.NET的Padding Oracle Attack被Pwnie评为2010年最佳服务端漏洞之一.还是看 Juliano Rizzo and Thai Duong 的相关Paper. 另外就是padbuster这个工具也是针对padding oracle的自动化实现,而且作者写的文章也是阐述padding oracle攻击原理最好的一篇.云舒还根据此篇文章写了个学习笔记,英文不好的同学可以看看看看云舒的中文版.因为前人已经写得很好了…
最近学习到一种老式的漏洞,一种基于填充字节的漏洞.就想记录下来,早在2010年的blackhat大会上,就介绍了padding Oracle漏洞,并公布了ASP.NET存在该漏洞.2011年又被评选为“最具价值的服务器端漏洞”. 我们先来简单讨论一下典型的Padding Oracle Attack基础.故名思义,Padding Oracle Attack背后的关键性概念便是加/解密时的填充(Padding).明文信息可以是任意长度,但是块状加密算法需要所有的信息都由一定数量的数据块组成.为了满足…
#!/usr/bin/perl## PadBuster v0.3 - Automated script for performing Padding Oracle attacks# Brian Holyfield - Gotham Digital Science (labs@gdssecurity.com)## Credits to J.Rizzo and T.Duong for providing proof of concept web exploit# techniques and S.V…
以前一直没时间来好好研究下这两种攻击方式,虽然都是很老的点了= =! 0x01:Padding oracle CBC加密模式为分组加密,初始时有初始向量,密钥,以及明文,明文与初始向量异或以后得到中间明文,然后其再和密钥进行加密将得到密文,得到的密文将作为下一个分组的初始向量,与下一个分组的明文进行异或得到的二组的中间明文,依次类推. 解密时根据也是分组解密,首先使用密钥解密密文,得到中间明文,然后将中间明文和初始向量异或以后得到明文,第一组的密文将和第二组的明文进行异或得到第二组的中间明文,然…
最近在复现LCTF2017的一道题目,里面有一个padding oracle攻击,也算是CBC翻转攻击,这个攻击主要针对CBC加密模式的 网上有关这个攻击的博客文章很多,但是其中有一些细节可能是个人的理解不同,或者作者省略了,我这里将我在学习这个攻击中遇到的问题,记录一下 之前有写过关于CBC翻转攻击的文章,但是之前的文章是知道了密文和iv的,而且只要翻转一位就可以了(翻转多位也是可以的) 现在这个padding oracle攻击是在只知道iv,其他什么信息都不知道的情况下进行的,所以这里我一开…
漏洞一.后台弱口令 后台地址:http://www.hnmatc.org/admin/ 直接爆破得到账号admin  密码admin888 漏洞二.SQL注入(前台后台都有) 注入点:http://www.hnmatc.org/contents_news_down.aspx?id=669&type=132 而且还是DBA权限 共有5个库 没动数据~~ 漏洞三.padding oracle(填充oracle漏洞) 还是刚才那个登录界面:http://www.hnmatc.org/admin/ 由于…
首先关于padding oracle漏洞的原理请看: 步入正传~~ 搭建漏洞利用环境Perl 环境下载地址:链接:http://pan.baidu.com/s/1skFxVm1 密码:anuw 首先查看我们目标网站 http://www.hnmatc.org/admin/ 然后我们查看页面的源代码 我们翻到如下链接 <script src="/WebResource.axd?d=cWxcb2PXfUgWzoITVCYtLg2&t=635844789308448806" t…
MS10-070 ASP.NET Padding Oracle信息泄露漏洞1         漏洞描述:ASP.NET由于加密填充验证过程中处理错误不当,导致存在一个信息披露漏洞.成功利用此漏洞的攻击者可以读取服务器加密的数据,例如视图状态. 此漏洞还可以用于数据篡改,如果成功利用,可用于解密和篡改服务器加密的数据. 虽然攻击者无法利用此漏洞来执行代码或直接提升他们的用户权限,但此漏洞可用于产生信息,这些信息可用于试图进一步危及受影响系统的安全.2         漏洞标识符:Bugtraq I…
Oracle内存全面分析 Oracle的内存配置与oracle性能息息相关.而且关于内存的错误(如4030.4031错误)都是十分令人头疼的问题.可以说,关于内存的配置,是最影响Oracle性能的配置.内存还直接影响到其他两个重要资源的消耗:CPU和IO. 首先,看看Oracle内存存储的主要内容是什么: 程序代码(PLSQL.Java): 关于已经连接的会话的信息,包括当前所有活动和非活动会话: 程序运行时必须的相关信息,例如查询计划: Oracle进程之间共享的信息和相互交流的信息,例如锁:…
Oracle统计.分析和优化环境配置 创建批处理文件Login.bat 用于初始化设置系统环境 Login.bat @echo off title eoda mode con cols=140 color 85 set ORACLE_SID=muphy sqlplus eoda/foo 创建数据库脚本文件login.sql 用于初始化SQL*PLUS运行环境 define _editor=vim  --设置编辑器为vim set serveroutput on size 1000000 --设置…
在oracle:对logmnr工具分析日志这个不陌生:对数据恢复应用场景经常用到:这里为了方便对归档日志进行分析: 当然网上有一个logmnr界面的工具:感觉很人性化:下载需要积分:为此写一个脚本. ##=========================================================== ## oracle_log_fetch.sh ## created by lottu ## // ## usage: oracle_log_fetch.sh $START_TI…
转自:http://blog.sina.com.cn/s/blog_682841ba0101bncp.html 1.analyze table t1 compute statistics for table;  -->user_tables (只对表的总体信息进行统计,比如行数多少等,不涉及到表字段) 2.analyze table t2 compute statistics for all columns;  -->user_tab_columns (只会收集表字段信息) 3.analyze…
http://blog.csdn.net/leshami/article/details/23687137 索引质量的高低对数据库整体性能有着直接的影响.良好高质量的索引使得数据库性能得以数量级别的提升,而低效冗余的索引则使得数据库性能缓慢如牛,即便是使用高档的硬件配置.因此对于索引在设计之初需要经过反复的测试与考量.那对于已经置于生产环境中的数据库,我们也可以通过查询相关数据字典得到索引的质量的高低,通过这个分析来指导如何改善索引的性能.下面给出了演示以及索引创建的基本指导原则,最后给出了索引…
优化器生成正确执行计划的前提条件是要有正确的统计信息,不准确的统计信息往往会导致错误的执行计划.当通过SQL和基数推断出的执行计划和实际执行计划不同时,就可以借助10053事件.10053事件是用来诊断优化器如何估算成本和选择执行计划的,用它产生的trace文件提供了Oracle如何选择执行计划,为什么会得到这样的执行计划信息.和10046事件类似,它主要用于特殊情况下的分析和诊断. 1.测试环境:SQL> select * from v$version;BANNER--------------…
小弟我最近做了几次补丁分析,最开始分析补丁,感觉挺痛苦的,因为补丁数量多,且涉及的知识点非常非常的广,客户的要求又非常高.挺伤不起的.不过随着分析的深入,我慢慢的掌握了一些小方法.也在support网站上找到了一些相关性的文章.现在进步了很多.所以想写篇文章,帮助那些受此困扰的兄弟们. 早在几年前,我的一个客户朋友告诉我一件事情,他们升级数据库到最新版本,结果上线后发现一条SQL运行错误,返回的结果集和以前版本返回的结果集不一致,他们紧急开了SR,申请了新补丁开发,可是这个过程需要一定的时间.最…
原文:https://dbaplus.cn/news-10-734-1.html https://blog.csdn.net/defonds/article/details/52958303 作者介绍 韩锋,宜信技术研发中心数据库架构师.精通多种关系型数据库,曾任职于当当网.TOM在线等公司,曾任多家公司首席DBA.数据库架构师等职,多年一线数据库架构.设计.开发经验.著有<SQL优化最佳实践>一书. Oracle中的AWR,全称为Automatic Workload Repository,自…
执行计划:一条查询语句在ORACLE中的执行过程或访问路径的描述.即就是对一个查询任务,做出一份怎样去完成任务的详细方案. 如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题. 看懂执行计划也就成了SQL优化的先决条件. 通过执行计划定位性能问题,定位后就通过建立索引.修改sql等解决问题. 一.执行计划的查看 1.1 设置autotrace autotrace命令如下 序号 命令 解释 1 SET AUTOTRACE OFF 此为默认值,即关闭A…
概述 索引分为B树索引和位图索引.我们主要研究B树索引,B树索引如下图(图片源自网络):…
analyze table tablename compute statistics; analyze index indexname compute statistics; (analyze 不会重建索引) 遇到当前表的查询或其他性能不好时,就可以对相应的表进行一次分析. 1.如果你的表经常由几千万变成几百万,又变成几千万那么需要制定分析计划定期表分析,同时可以一并分析索引,计算索引中数据的分布情况,这样CBO会选择更加准确的执行计划. 2.如果表结构变化了也要做下,也就是经常对表做dml就需…
本文参考: https://www.cnblogs.com/wishyouhappy/p/3681771.html https://blog.csdn.net/weivi001/article/details/45498405 索引简介 • 索引(index)是数据库对象的一种.索引的关键在于通过一组排序后的物理地址作为键来取代默认的全表扫描检索方式,就像为书本添加目录,通过牺牲物理内存的方式提高数据的检索效率. • 它对用户时透明的,它的创建不会影响对表的sql操作.索引一旦建立,在表上进行D…
-如何确定系统中是否存在绑定变量的情况:首先创建一个表,用于存放整理过得数据:create table t1 as select sql_text from v$sqlarea;----V$SQLAREA本视图持续跟踪所有shared pool中的共享cursor,--在shared pool中的每一条SQL语句都对应一列.本视图在分析SQL语句资源使用方面非常重要./***1.查看消耗资源最多的SQL:SELECT hash_value, executions, buffer_gets, di…
01,问题描述 心血来潮想看一下启动数据库的alert log.然后把数据库给关闭了,同时也在监听日志文件    下面可谓是详细的描述了整个关机过程,也看到了无数的error [root@node1 ~]# tail -F /oracle/app/oracle/diag/rdbms/oracle/oracle1/trace/alert_oracle1.log Wed Mar :: Closing scheduler window Closing Resource Manager plan via…
问题描述 SQL> shutdown immediate ORA-01109: database not open Database dismounted. ORACLE instance shut down. SQL> startup nomount; ORACLE instance started. Total System Global Area 2505338880 bytes Fixed Size 2255832 bytes Variable Size 738198568 bytes…
1.存储过程结构 1.1 第一个存储过程 ? 1 2 3 4 5 6 7 8 9 10 11 12 CREATE OR REPLACE PROCEDURE proc1 (     para1 varchar2,     para2 OUT varchar2,     para3 IN OUT varchar2 ) AS     v_name varchar2(20); BEGIN     v_name := 'zhangsf';     para3 := v_name;     dbms_out…
索引是一种允许直接访问数据表中某一数据行的树型结构,为了提高查询效率而引入,是一个独立于表的对象,可以存放在与表不同的表空间中.索引记录中存有索引关键字和指向表中数据的指针(地址).对索引进行的I/O操作比对表进行操作要少很多.索引一旦被建立就将被Oracle系统自动维护,查询语句中不用指定使用哪个索引. 分类可以按逻辑设计和物理实现来分类. 索引逻辑分类 单列索引:基于一列的操作 多列索引:组合索引,最多为32列.组合索引的列不一定与表中列顺序相同. 惟一索引:列的值各不相同. 非惟一索引:列…
最近接到个任务是抽取mysql和Oracle的元数据,大致就是在库里把库.schema.表.字段.分区.索引.主键等信息抽取出来,然后导成excel. 因为刚开始接触元数据,对这个并不了解,就想借助一下万能的百度,结果百度了一圈全是告诉我sql,直接cv就行了.虽然得到了部分数据,但是查的哪个库,哪个表我是完全不清楚的,得到的数据也不是我想要的,只有自己去官网看文档来完成自己的任务. 授人以鱼不如授人以渔,把经验写出来,给跟我一样疑惑的小伙伴一个参考. 什么是元数据 百度百科:元数据(Metad…
软件开发的步骤可大致分为: 1.需求分析 2.系统设计 3.编码实现 4.系统测试 5.运行维护 student class     多对一 sno name age gender cid id  clsname 辅导老师,.. 1  1   1   jd1613  xxx 2  1 系统设计中一个重要的环节就是数据库设计 数据库设计的时候需要先进行数据建模(实体关系图 E-R图) 数据建模的依据就是前期所做的需求分析 数据建模 参照179页的图形: 1.Model of system in c…
在做数据库sql优化时,首先要对现有的数据库sql进行优化,主要包括以下几种: 1.数据库正在执行的SQL是? 2.已经执行过得SQL是? 3.最耗时的的前几条SQL是? 4.最耗IO的SQL是? 5.某条SQL执行的计划是?某条SQL上的优化策略是否起作用? 以下,将对上面的几种情况分别陈述. 一.查询正在执行的sql. select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT from v$session a, v$sqlarea b where…
对一个schema下所有对象的进行统计分析 dbms_stats.gather_schema_stats(ownname=> 'trade',estimate_percent => dbms_stats.auto_sample_size,method_opt=> 'for all columns size repeat',degree=>4); 对一张表进行统计分析 dbms_stats.gather_table_stats(ownname=>'trade', tabname…