以前一直没时间来好好研究下这两种攻击方式,虽然都是很老的点了= =! 0x01:Padding oracle CBC加密模式为分组加密,初始时有初始向量,密钥,以及明文,明文与初始向量异或以后得到中间明文,然后其再和密钥进行加密将得到密文,得到的密文将作为下一个分组的初始向量,与下一个分组的明文进行异或得到的二组的中间明文,依次类推. 解密时根据也是分组解密,首先使用密钥解密密文,得到中间明文,然后将中间明文和初始向量异或以后得到明文,第一组的密文将和第二组的明文进行异或得到第二组的中间明文,然…
iscc2018线上赛开始两周多了,学到了很多,写几篇文章总结一下遇到的知识点,做一个归纳,方便以后查找. web300-----CBC字节翻转攻击 cbc是AES加密的cbc模式 即密码分组链模式: 先将铭文切分成若干小段,然后每一小段与初始块或者上一段的密文段进行异或运算后,在于密钥进行加密. 直接看图理解一下加解密原理: 明文以16个字节为一组进行分组,给出初始化向量iv于明文进行异或然后利用密钥key在进行加密得到密文a,密文a就相当于下一段明文的初始化向量,以此类推. 解密时,同样将密…
一.CBC 简介 现代密码体制 现代密码中的加密体制一般分为对称加密体制(Symmetric Key Encryption)和非对称加密体制(Asymmetric Key Encryption).对称加密又分为分组加密和序列密码.分组密码:也叫块加密(block cyphers),一次加密明文中的一个块.是将明文按一定的位长分组,明文组经过加密运算得到密文组,密文组经过解密运算(加密运算的逆运算),还原成明文组,有 ECB.CBC.CFB.OFB 四种工作模式.序列密码:也叫流加密(stream…
开始刷ctf题吧  慢慢来. 实验吧---简单的登录题 题目地址:http://ctf5.shiyanbar.com/web/jiandan/index.php 随便提交一个id,看到后台set了两个cookie 没发现什么 东西 扫下目录发现test.php  打开发现是源码 <?php define("SECRET_KEY", '***********');//密钥key define("METHOD", "aes-128-cbc");…
# coding:utf-8 from Crypto.Cipher import AES import base64 def encrypt(iv, plaintext): if len(plaintext) % 16 != 0: print("plaintext length is invalid") return if len(iv) != 16: print("IV length is invalid") return key = b"1234567…
session安全 p神写的: 在传统PHP开发中,$_SESSION变量的内容默认会被保存在服务端的一个文件中,通过一个叫"PHPSESSID"的Cookie来区分用户.这类session是"服务端session",用户看到的只是session的名称(一个随机字符串),其内容保存在服务端. 然而,并不是所有语言都有默认的session存储机制,也不是任何情况下我们都可以向服务器写入文件.所以,很多Web框架都会另辟蹊径,比如Django默认将session存储在数…
最近在复现LCTF2017的一道题目,里面有一个padding oracle攻击,也算是CBC翻转攻击,这个攻击主要针对CBC加密模式的 网上有关这个攻击的博客文章很多,但是其中有一些细节可能是个人的理解不同,或者作者省略了,我这里将我在学习这个攻击中遇到的问题,记录一下 之前有写过关于CBC翻转攻击的文章,但是之前的文章是知道了密文和iv的,而且只要翻转一位就可以了(翻转多位也是可以的) 现在这个padding oracle攻击是在只知道iv,其他什么信息都不知道的情况下进行的,所以这里我一开…
最近学习到一种老式的漏洞,一种基于填充字节的漏洞.就想记录下来,早在2010年的blackhat大会上,就介绍了padding Oracle漏洞,并公布了ASP.NET存在该漏洞.2011年又被评选为“最具价值的服务器端漏洞”. 我们先来简单讨论一下典型的Padding Oracle Attack基础.故名思义,Padding Oracle Attack背后的关键性概念便是加/解密时的填充(Padding).明文信息可以是任意长度,但是块状加密算法需要所有的信息都由一定数量的数据块组成.为了满足…
个人简介:渣渣一枚,萌新一个,会划水,会喊六六今天在bugku遇到关于CBC翻转攻击的题目,总结了一下关于CBC翻转攻击的原理,以及关于这道题目的解题思路个人博客:https://www.cnblogs.com/lxz-1263030049/ CBC翻转攻击的主要目的:通过损坏密文字节来改变明文字节.(注:借助CBC内部的模式) 通过添加单引号等恶意字符来绕过过滤器,或通过将用户ID更改为admin来提升权限,或者更改应用程序所需的明文的任何其他后果. 加密过程: 上图CBC加密原理图1:Pla…
Padding Oracle Attack还是颇具威力的,ASP.NET的Padding Oracle Attack被Pwnie评为2010年最佳服务端漏洞之一.还是看 Juliano Rizzo and Thai Duong 的相关Paper. 另外就是padbuster这个工具也是针对padding oracle的自动化实现,而且作者写的文章也是阐述padding oracle攻击原理最好的一篇.云舒还根据此篇文章写了个学习笔记,英文不好的同学可以看看看看云舒的中文版.因为前人已经写得很好了…
道哥的<白帽子讲web安全>有一章提到Padding Oracle Attack的攻击方式,据说这货在2011年的Pwnie Rewards上还被评为"最具价值的服务器漏洞". 抱着书看了半天,感觉也不是很理解,和密码学结合的比较紧,有一些理论的东西在里面.这里做个学习笔记,研究一下. 1. 相关阅读材料 https://github.com/GDSSecurity/PadBuster PadBuster - Automated script for performing…
20145308 <网络对抗> 逆向及BOF进阶实践 注入shellcode+Return-to-libc攻击 学习总结 实践目的 注入shellcode 实现Return-to-libc攻击 知识点学习总结 Shellcode实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码,一般可以获取权限.另外,Shellcode一般是作为数据发送给受攻击服务器的. Shellcode是溢出程序和蠕虫病毒的核心,提到它自然就会和漏洞联想在一起 Linux中两种基本构造攻击buf的方…
MS10-070 ASP.NET Padding Oracle信息泄露漏洞1         漏洞描述:ASP.NET由于加密填充验证过程中处理错误不当,导致存在一个信息披露漏洞.成功利用此漏洞的攻击者可以读取服务器加密的数据,例如视图状态. 此漏洞还可以用于数据篡改,如果成功利用,可用于解密和篡改服务器加密的数据. 虽然攻击者无法利用此漏洞来执行代码或直接提升他们的用户权限,但此漏洞可用于产生信息,这些信息可用于试图进一步危及受影响系统的安全.2         漏洞标识符:Bugtraq I…
#!/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…
转载 最近了解到AME 的东西,很迫切,先转载一篇 [@more@] Oracle User Management FAQ翻译及学习笔记 写在前面 本文主要是翻译的英文版的Oracle User Management FAQ,连接为http://www.oracle.com/technology/products/applications/security/OracleUserManagementFAQ.htm或者是Metalink的290525.1,增加了一部分自己学习的记录,错误肯定有很多,…
漏洞一.后台弱口令 后台地址: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…
免杀手法-tcp套字节传递shellcode学习…
题目链接 http://ctf5.shiyanbar.com/web/jiandan/index.php 有源码在test.php页面 分析代码过程 如果post id,将id转字符串,然后进入sqliCheck函数, 如果函数返回true,就停了, 否则,将id转成array 然后到login函数 这里将$info序列化,然后aes加密,进行base64后,进行setcookie 这里也就得到了,抓包发现的那个 这里要注意的是,它的逻辑是,如果你输入有id,那是不会检查你的cookie的,也就…
关于xss攻击,网上相关的介绍很多,一搜索也是一大堆,这里我就对自己感兴趣的一些内容做个总结. xss简单介绍 成因:xss是将恶意代码(多是JavaScript)插入html代码中. 分类: 1. 反射型 2. 存储型 3. DOM型 1. 什么是反射型? 攻击者构造可执行JavaScript的攻击链接,发送给受害者,多用于获取cookie,因为cookie可以使你伪装成受害者来登录.还可以定向到别的网站,下载病毒链接等等. 2. DOM型xss.反射型xss和存储型xss的区别? 反射型xs…
0.背景 聆听了n1nty大佬(90后黑客代表)的谆谆指导,学习了n1nty大佬的基本操作,决定总结一下,做一个简要的读书笔记,也把之前自己记录的关于Windows的安全的一些博客能够串联起来.所以首先鸣谢:90后黑客代表n1nty大佬. 1.Kerberos的基本认证 1.1.NTLM的挑战认证 不啰嗦,直接说要点,server接到client的请求认证后,会回复16字节随机数据,也就是挑战.client使用自己生成的账号的NTLM的hash值对挑战数据进行某种加密运算,发送到server,s…
1.虚拟机和宿主机共享文件夹. 2.右ctrl+F切换VirtualBox全屏 3.安装Oracle 10g 4.输入密码:root------------>下一步 5.勾选网络配置"用户已验证" 6.出现概要预览--------->直接点击"安装" 7.等待...出现如下界面后点击"口令管理" 8.解锁两个账户,并创建密码.scott/tiger  sys/root HR/hr----------->确定----------&…
1:学习Oracle首先需要安装Oracle,网上已经有很多很多教程了,这里不做叙述,自己百度即可,这里安装的标准版,个人根据需求安装学习或者企业开发即可.如果安装出错,自己百度Oracle的卸载即可,这里不作多叙述. 2:安装好Oracle,首先看看自己的Oracle是否安装上了吧. 2.1:打开windows命令行的运行,然后输入cmd打开之后sqlplus /nolog,出现SQL>即表示安装成功:      3:验证之后就可以开始登陆自己的Oracle数据库了,这里介绍两种方式: 3.1…
ASM字节码操纵框架,可以直接以二进制的形式来来修改已经存在的类或者创建新的类.ASM封装了操作字节码的大部分细节,并提供了非常方便的接口来对字节码进行操作.ASM框架是全功能的,使用ASM字节码框架,可以方便地对类增加成员,修改方法,创建新的类等.关于ASM的学习,可以参考:Learn ASM CoreApi.作为学习ASM框架的第一篇总结,本文的主要内容是使用ASM框架实现一个简单的JDK动态代理和CGLIB代理. 设定代理类和被代理类 被代理类 被代理类非常简单. public inter…
OCIStmtExecute: ORA-12899: value too large for column "WSG"."WX_ENTER_TASTE"."GENDER" (actual: 3, maximum: 2) 今天调查一个oracle数据库问题的时候,发现在11g中一个汉字占2个字节,在10g中占3个字节,导致将11g数据库中的数据导入到10g的时候总是出错,开始的时候还以为是11g和10g的版本不一样,汉字占用字节数不一样,后来一想,…
1.        今天调查一个oracle数据库问题的时候,发如今11g中一个汉字占2个字节,在10g中占3个字节.导致将11g数据库中的数据导入到10g的时候总是出错.開始的时候还以为是11g和10g的版本号不一样,汉字占用字节数不一样,后来一想,oracle不会这么干吧.那样区别也太大了,后来一调查,发现是跟oracle的字符集编码有关:            假设是下面字符集,一个汉字占用2个字节:      SIMPLIFIED CHINESE_CHINA.ZHS16GBK      …
Java1.8环境下,我们在编写程序时会进行各种方法调用,虚拟机在执行这些调用的时候会用到不同的字节码指令,共有如下五种: invokespecial:调用私有实例方法: invokestatic:调用静态方法: invokevirtual:调用实例方法: invokeinterface:调用接口方法; invokedynamic:调用动态方法: 这里我们通过一个实例将这些方法调用的字节码指令逐个列出. 实例源码 实例共两个java文件,一个是接口另一个是类,先看接口源码,很简单只有一个方法声明…
在oracle中一个字符特别是中文字符占几个字节是与字符集有关的.      比如GBK,汉字就会占两个字节,英文1个:如果是UTF-8,汉字一般占3个字节,英文还是1个.但是一般情况下,我们都认为是两个字节处理,因为oracle安装时候默认我们都选择GBK的编码格式,但是我们在页面做输入字符串长度的校验的时候,还是以数据库设计字段最大长度除3来作为最大长度-----防止数据库移植时设置不同编码格式.     查看字符串占用的字符数: select length('12中华') from dua…
  Oracle job 定时器的执行时间间隔也是定时器job 的关键设置,在这一设置上,开始还没掌握,总是不知道怎么写,现总结如下,其实主要是使用了TRUNC.NEXT_DAY .ADD_MONTHS .LAST_DAY 几个函数的配合使用.   1).每分钟执行 Interval => TRUNC(sysdate,'mi') + 1 / (24*60) --查看时间 select TRUNC(sysdate,'mi') + 1 / (24*60) from dual;    ---每五分钟执…
在Oracle中,索引基本分为以下几种:B*Tree索引,反向索引,降序索引,位图索引,函数索引,interMedia全文索引等,其中最常用的是B*Tree索引和Bitmap索引. (1).与索引相关视图 查询DBA_INDEXES视图可得到表中所有索引的列表:访问USER_IND_COLUMNS视图可得到一个给定表中被索引的特定列. (2).组合索引概念 当某个索引包含有多个已索引的列时,称这个索引为组合(concatented)索引. 注意:只有在使用到索引的前导索引时才可以使用组合索引 (…