强网杯web之假的反序列化漏洞】的更多相关文章

说明 打强网杯的时候一直在写论文, 做林逸师傅的培训题目. 现在得空,还是看了一部分的题目和wp. 源码 源码一共三部分, 这里只写下我知识盲区的一部分,作为自己的记录. <?php highlight_file(__FILE__): $flag=file_get_contents('ssrf.php'); class Pass { function read() { ob_start(); global $result; print $result; } } class User { publ…
本文首发于“合天智汇”公众号 作者:Ch3ng 这里就借由强网杯的一道题目“Web辅助”,来讲讲从构造POP链,字符串逃逸到最后获取flag的过程 题目源码 index.php 获取我们传入的username和password,并将其序列化储存 ... if (isset($_GET['username']) && isset($_GET['password'])){ $username = $_GET['username']; $password = $_GET['password'];…
<?phpnamespace app\web\controller; class Profile{    public $checker;    public $filename_tmp;    public $filename;    public $upload_menu;    public $ext;    public $img;    public $except; }class Register{    public $checker;    public $registed;}$…
参考链接:https://blog.csdn.net/qq_41173457/article/details/90724943 注意 只要namespace相同那就可以直接实例化同一namespace的类,至少在本题环境下是这样,所以可以在访问Index.php反序化影响到Regeister.php <?php namespace app\web\controller; use think\Controller; class Index extends Controller { public $…
目录 刷题记录:[强网杯 2019]Upload 一.知识点 1.源码泄露 2.php反序列化 刷题记录:[强网杯 2019]Upload 题目复现链接:https://buuoj.cn/challenges 参考链接:2019 第三届强网杯 Web 部分 WriteUp + 复现环境 一.知识点 1.源码泄露 www.tar.gz 2.php反序列化 看起来文件很大,但是用phpstorm打开的话会发现默认打开的文件里有两个断点,其实是给的hint,指出了反序列化利用的地方.之后常规的反序列化…
0x01 前言 前天学校的ctf比赛,有一道题是关于php反序列化漏洞绕过wakeup,最后跟着大佬们学到了一波姿势.. 0x02 原理 序列化与反序列化简单介绍 序列化:把复杂的数据类型压缩到一个字符串中 数据类型可以是数组,字符串,对象等  函数 : serialize() 反序列化:恢复原先被序列化的变量 函数: unserialize() 1 <?php 2 $test1 = "hello world"; 3 $test2 = array("hello"…
0x00前言 周末打了强网杯,队伍只做得出来6道签到题,web有三道我仔细研究了但是没有最终做出来,赛后有在群里看到其他师傅提供了writeup和环境复现的docker环境,于是跟着学习一波并记录下来 0x01 upload 第一步扫目录发现有备份文件 下载下来后大致浏览就清楚是thinkphp5框架,并且没有远程代码执行漏洞 根据题目的数据传输情况,可以发现在登录后有个user的cookie值,base64解码后是序列化字符串 查看源码,发现序列化字符串传入的位置是在Index.php的log…
前言 这几天一直在关注新管状病毒,从微博到各大公众号朋友圈了解感觉挺严重的看微博感觉特别严重看官方说法感觉还行那就取中间的吧 自己要会对这个东西要有理性的判断.关注了好两天所以耽搁了学习emmm 希望病毒早点过去吧! 反序列化漏洞 序列化和反序列化 为了有效地存储或传递数据,同时不丢失其类型和结构,经常需要利用序列化和反序列化函数对数据进行处理. 反序列化函数返回字符串,此字符串包含了表示值的字节流,可以存储于任何地方 反序列化函数对单一的已序列化的变量进行操作,将其转换成员来的值 这两个过程结…
漏洞原理: 序列化可以将对象变成可以传输的字符串,方便数据保存传输,反序列化就是将字符串还原成对象.如果web应用没有对用户输入的反序列化字符串进行检测,导致反序列化过程可以被控制,就会造成代码执行,getshell等一系列不可控的后果. serialize() //将一个对象转换成一个字符串 unserialize() //将字符串还原成一个对象 #触发条件:unserialize函数的变量可控,文件中存在可利用的类,类中有魔术方法. ​ __wakeup() //对象被序列化之后立即执行 _…
简介  原题复现:  考察知识点:反序列化.数组绕过  线上平台:https://buuoj.cn(北京联合大学公开的CTF平台) 榆林学院内可使用信安协会内部的CTF训练平台找到此题 漏洞学习 数组绕过 1.1 url传递数组当我们要向服务器传递数组时,我们可以通过 http://127.0.0.1/index.php?a[]=hello&a[]=world 来传递,这样,在后端, $a = $_GET['a']; 就可以接收到 $a[0]="hello", $a[1]=&q…
1. 前言 最近工作上刚好碰到了这个漏洞,当时的漏洞环境是: shiro-core 1.2.4 commons-beanutils 1.9.1 最终利用ysoserial的CommonsBeanutils1命令执行. 虽然在ysoserial里CommonsBeanutils1类的版本为1.9.2,不过上面环境测试确实可以命令执行. CommonsBeanutils1 @frohoff commons-beanutils:1.9.2 这里当时有一个问题是:如何获取Java里引用组件的版本? 大多…
java反序列化漏洞是与java相关的漏洞中最常见的一种,也是网络安全工作者关注的重点.在cve中搜索关键字serialized共有174条记录,其中83条与java有关:搜索deserialized共有20条记录,其中10条与java有关.这些出现反序列化漏洞的框架和组件包括的大名鼎鼎的spring,其中还有许多Apache开源项目中的基础组件.例如Apache Commons Collections. 这些基础组件大量被其他框架或组件引用,一旦出现漏洞就会引起大面积的网络安全事故,后果非常严…
前言 学习本系列文章需要的Java基础: 了解Java基础语法及结构(菜鸟教程) 了解Java面向对象编程思想(快速理解请上知乎读故事,深入钻研建议买本<疯狂Java讲义>另外有一个刘意老师的教学视频也可以了解一下,其中关于面向对象思想的介绍比较详细.链接:https://pan.baidu.com/s/1kUGb3D1#list/path=%2F&parentPath=%2FJava%E7%B1%BB 密码:kk0x) 基本的Eclipse使用(自行百度) 其实只要大学上过Java课…
原文:http://blog.chaitin.com/2015-11-11_java_unserialize_rce/ 博主也是JAVA的,也研究安全,所以认为这个漏洞非常严重.长亭科技分析的非常细致. 1 背景 2015年11月6日,FoxGlove Security安全团队的@breenmachine 发布的一篇博客[3]中介绍了如何利用Java反序列化漏洞,来攻击最新版的WebLogic.WebSphere.JBoss.Jenkins.OpenNMS这些大名鼎鼎的Java应用,实现远程代码…
相关学习资料 http://www.freebuf.com/vuls/90840.html https://security.tencent.com/index.php/blog/msg/97 http://www.tuicool.com/articles/ZvMbIne http://www.freebuf.com/vuls/86566.html http://sec.chinabyte.com/435/13618435.shtml http://www.myhack58.com/Articl…
10.3.6版本的weblogic需要补丁到10.3.6.0.171017(2017年10月份的补丁,Java 反序列化漏洞升级),oracle官方建议至少打上2017年10月份补丁. 一.查看版本 1.用下面命令重配环境变量D:\Oracle\Middleware\wlserver_10.3\server\binsetWLSEnv.cmd 1.1.查看weblogic version D:\Oracle\Middleware\utils\bsu>java weblogic.version We…
C:\Program Files\Java\jboss-4.2.3.GA\server\default\deploy\http-invoker.sar\invoker.war\WEB-INF server/$CONFIG/deploy/http-invoker.sar/http-invoker.war/WEB-INF/w eb.xml 文件,将标签中的 url-pattern 修改为/*,并注释掉其中的两个 http-method. 1.weblogic反序列化漏洞 通过java反序列化漏洞利用…
一.说明 以前去面试被问反序列化的原理只是笼统地答在参数中注入一些代码当其反序列化时被执行,其实“一些代码”是什么代码“反序列化”时为什么就会被执行并不懂:反来在运营商做乙方经常会因为java反反序列化漏洞要升级commons.collections或给中间件打补丁,前面说的两个问题还是不懂:今天又研究了番,也还不是很懂只是能弹计算器暂且先记一下. 二.序列化和反序列化 序列化和反序列化应该是在学<java网络编程>的时候就写过了,所谓序列化就是把对象从内存写到磁盘文件或数据库,反序列化就是从…
0X00 前言 在.NET处理 Ajax应用的时候,通常序列化功能由JavaScriptSerializer类提供,它是.NET2.0之后内部实现的序列化功能的类,位于命名空间System.Web.Script.Serialization.通过System.Web.Extensions引用,让开发者轻松实现.Net中所有类型和Json数据之间的转换,但在某些场景下开发者使用Deserialize 或DeserializeObject方法处理不安全的Json数据时会造成反序列化攻击从而实现远程RC…
0X00 前言 在.NET 框架中的 XmlSerializer 类是一种很棒的工具,它是将高度结构化的 XML 数据映射为 .NET 对象.XmlSerializer类在程序中通过单个 API 调用来执行 XML 文档和对象之间的转换.转换的映射规则在 .NET 类中通过元数据属性来表示,如果程序开发人员使用Type类的静态方法获取外界数据,并调用Deserialize反序列化xml数据就会触发反序列化漏洞攻击(例如DotNetNuke 任意代码执行漏洞 CVE-2017-9822),本文笔者…
前言 本文对强网杯 中除了 2 个内核题以外的 6 个 pwn 题的利用方式进行记录.题目真心不错 程序和 exp: https://gitee.com/hac425/blog_data/blob/master/qwb2018/ 正文 silent 漏洞 在 free 的时候指针没有清空,而且程序没有 检测指针是否已经被释放 double free, 后面的 编辑功能也没有检验指针是否已经被 free ,所以 uaf signed __int64 free_() { int i; // [rsp…
CVE-2017-12149 漏洞描述 互联网爆出JBOSSApplication Server反序列化命令执行漏洞(CVE-2017-12149),远程攻击者利用漏洞可在未经任何身份验证的服务器主机上执行任意代码.漏洞危害程度为高危(High). 影响范围 漏洞影响5.x和6.x版本的JBOSSAS. 漏洞原理 JBOSS Application Server是一个基于J2EE的开放源代码的应用服务器. JBoss代码遵循LGPL许可,可以在任何商业应用中免费使用. Java序列化:把Java…
Web安全基础2 3.8.文件处理 1)文件上传 一个正常的业务需求,问题在于控制上传合法文件. 防御文件上传 客户端javascript校验(通常校验扩展名) 检查MIME类型 检查内容是否合法 随机文件名* 检查文件扩展名* 隐藏路径* 重写内容(影响效率)imagecreatefromjpeg... 测试方法 客户端javascript校验:在浏览加载文件,但还未点击上传按钮时便弹出对话框,内容如:只允许上传.jpg/.jpeg/.png后缀名的文件,而此时并没有发送数据包,抓包改包可绕过…
1.什么是序列化 A.PHP网站的定义: 所有php里面的值都可以使用函数serialize()来返回一个包含字节流的字符串来表示.unserialize()函数能够重新把字符串变回php原来的值. 序列化一个对象将会保存对象的所有变量,但是不会保存对象的方法,只会保存类的名字. 按个人理解就是: serialize()将一个对象转换成一个字符串,unserialize()将字符串还原为一个对象. 当然从本质上来说,反序列化的数据本身是没有危害的,用户可控数据进行反序列化是存在危害的. B.PH…
ref:https://xz.aliyun.com/t/2043 小结: 3.2.2版本之前的Apache-CommonsCollections存在该漏洞(不只该包)1.漏洞触发场景 在java编写的web应用与web服务器间java通常会发送大量的序列化对象例如以下场景: 1)HTTP请求中的参数,cookies以及Parameters. 2)RMI协议,被广泛使用的RMI协议完全基于序列化 4)JMX 同样用于处理序列化对象 5)自定义协议 用来接收与发送原始的java对象 2. 漏洞挖掘…
ref:https://www.anquanke.com/post/id/84922 PHP反序列化漏洞成因及漏洞挖掘技巧与案例 一.序列化和反序列化 序列化和反序列化的目的是使得程序间传输对象会更加方便.序列化是将对象转换为字符串以便存储传输的一种方式.而反序列化恰好就是序列化的逆过程,反序列化会将字符串转换为对象供程序使用.在PHP中序列化和反序列化对应的函数分别为serialize()和unserialize().反序列化本身并不危险,但是如果反序列化时,传入反序列化函数的参数可以被用户控…
ref:https://mp.weixin.qq.com/s?__biz=MzIzMzgxOTQ5NA==&mid=2247484200&idx=1&sn=8f3201f44e6374d65589d00d91f7148e readme:其实所有的反序列化漏洞都是因为在反序列化过程中,执行函数存在文件读写或者命令执行等情况. 3.2.2版本之前的Apache-CommonsCollections存在该漏洞. Java安全之反序列化漏洞分析 原创 Java面试那些事儿 2017-10-…
作为一个学习web安全的菜鸟,前段时间被人问到PHP反序列化相关的问题,以前的博客中是有这样一篇反序列化漏洞的利用文章的.但是好久过去了,好多的东西已经记得不是很清楚.所以这里尽可能写一篇详细点的文章来做一下记录.   我们来参考这里: https://secure.php.net/manual/zh/language.oop5.magic.php 我们根据官方文档中的解释,一个一个来进行测试. __construct() 和 __destruct() __construct()被称为构造方法,…
转http://blog.chaitin.com/ 1 背景 2 Java反序列化漏洞简介 3 利用Apache Commons Collections实现远程代码执行 4 漏洞利用实例 4.1 利用过程概述 4.2 WebLogic 4.3 Jenkins 4.4 Jboss 4.5 WebSphere 4.6 其它 5 漏洞影响 6 修复建议 7 参考资料 1 背景 2015 年11月6日,FoxGlove Security安全团队的@breenmachine 发布的一篇博客[3]中介绍了如…
著名的web中间件WebLogic被曝出之前的反序列化安全漏洞补丁存在绕过安全风险,用户更新补丁后,仍然存在被绕过成功执行远程命令攻击的情况,安全风险高,Oracle官方及时发布了最新补丁,修复了该漏洞,阿里云安全团队建议用户尽快自查并升级. 具体详情如下: 漏洞编号: CVE-2017-3248 漏洞名称: WebLogic 反序列化漏洞 官方评级: 高危 漏洞描述: Oracle WebLogic Server 10.3.6.0, 12.1.3.0, 12.2.1.0和12.2.1.1版本存…