自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(381)
  • 收藏
  • 关注

原创 利用pearcmd.php从LFI到getshell

前言也是从来没有学习过这种LFI的思路。今天晚上再复现前几天的强网杯拟态的时候遇到了这个pearcms.php的文件包含,进行了一波学习。环境安装了pear(这样才能有pearcmd.php)开启了register_argc_argv存在文件包含且可以包含后缀为php的文件且没有open_basedir的限制。先说说这个pear。我就说觉得这东西为什么很眼熟,原来昨天看php底层C的目录结构的时候刚看到过。这个东西的全称叫PHP Extension and Application Repos

2021-10-29 20:37:04 5012

原创 [Python]Flask内存马学习

前言之前一直想学习的东西但是一直咕,终于选了个晚上在配置vscode调试PHP底层C代码的过程中卡住的时候去学了这个flask的内存马,也是很有意思。前置知识请求上下文简单的flask的ssti肯定需要知道,这个就不提了。首先就是跟着参考链接中的Flask上下文管理机制流程进行了一波学习,打断点跟进一波。flask在接受到请求的时候会调用app的__call__方法: def __call__(self, environ, start_response): """The

2021-10-28 00:39:29 1083 1

原创 [WMCTF2021]Make PHP Great Again And Again

前言也是很久之前WMCTF2021中Web的一道题目,当时一点头绪都没有,然后也没有复现,今天晚上跟着赵总的博客进行了学习,也是学习到了非常多的东西。本文只是跟着赵总的博客进行了一波复现,记录下来,仅此而已。题目环境题目本身给了shell,但是有着诸多的限制,包括disable_functions,open_basedir,flag文件是700等。而且不出网,流量是nginx转发进内网。考虑到是nginx+php-fpm,联想到之前蓝帽杯的那题,很正常会想到利用ftp的被动模式攻击fpm实现恶意加

2021-10-27 00:05:59 510 5

原创 [WMCTF2020]Make PHP Great Again

[WMCTF2020]Make PHP Great Again前言突然想到今年WMCTF2021 赵总出的那道Web还没去复现,就打算复现一波,然后又想到去年的Make PHP Great Again也还没复现,就先来buuctf上面复现一下这个题目。非预期没啥好说的了,文件包含,PHP_SESSION_UPLOAD_PROGRESS万能非预期:import ioimport sysimport requestsimport threadinghost = 'http://a4b822a

2021-10-26 16:50:14 643

原创 JDBC反序列化漏洞学习

前言这篇稍微学习一下JDBC反序列化的漏洞原理,不同的版本有些许的区别,但主要就是两种利用方式,主要还是了解其中的原理,后面的POC编写那块看的有点懵,没看太懂,就只能直接用着大师傅们的脚本了。ServerStatusDiffInterceptor利用ServerStatusDiffInterceptor我本地复现用的是: <dependency> <groupId>mysql</groupId> &l

2021-10-26 15:25:26 1211

原创 2021长城杯线下 Web-Work 复现

前言最近可以说是有许许多多的事情,各种奇奇怪怪的事情,还有一些别的事情。从7月末开始,一直到10月初,有的事情,也已经,彻底结束了叭。也是时候回到以前的生活,慢慢学习了。长城杯也是一段时间之前的比赛了,当时颜总把源码发我,我没有怎么看题,现在慢慢学习,也把这几个月的时间里错过的东西都慢慢补回来。是一道Java的代码审计题目,是SpringBoot。拿源码在本地搭建出来,弄好数据库之后开始代码审计。Writeup先看一下pom.xml:<?xml version="1.0" encoding

2021-10-26 00:00:13 877

原创 Thinkphp5.0.24 反序列化rce链学习

Thinkphp5.0.24 反序列化rce链学习这个链子是出现在9月份的0CTF中,一直没来得及学习,今天晚上抽出时间来看一下这个链子。之前的5.0.x版本的反序列化链是写文件getshell,需要有一个可写的目录才行,而这条新链子不需要写文件,直接可以rce。分析整个链子的前部分后后部分都是老套路了,只是中间的部分稍微改了一下。链子的前部分和老链子一模一样:https://blog.csdn.net/rfrder/article/details/114644844、在运行到thinkphp/

2021-10-25 20:07:20 1743 1

原创 2021年 极客谷杯 Web

粗心的开发人员存在/info,提示发现目录下存在R.class文件,可能导致源代码泄露,请及时处理!将R.class下载下来拿IDEA打开审计://// Source code recreated from a .class file by IntelliJ IDEA// (powered by FernFlower decompiler)//package com.example.demo2;import java.io.BufferedInputStream;import java

2021-10-22 19:24:09 766 1

原创 鹤城杯2021 Web

easy_sql_2登录功能,post传username和password。尝试admin,admin弱口令登录成功但是提示flag并不在这里。username尝试-1'||'1'%23发现是password error!,因此猜测后端的应该是根据传入的username查出对应的password,查到了就不再是username error!,然后讲传入的password进行一次md5后与这个password比较,相同就登录成功。尝试SQL注入,但是ban了select,因此利用table注入。数据库

2021-10-09 20:23:56 4487 2

原创 十月,你好

好久没有写这样的随笔了,还记得上一次写随笔还是在上一次。九月没有怎么更新博客,也一直没有学什么东西,在忙一些事情,在思考一些东西。也终究是大三了,不能再这么浪了,接下来也是以学业为主了,这学期上计网计操和及密码学的课,也是需要好好的花大量时间补一补了,感觉自己计网这一块的知识欠缺太严重了。九月也是稍微学习了一点Go,十月也是继续Go语言的学习,之后也是要把Go语言当作主语言来学习了。Java安全之后也会继续学习,然后去想办法涉及一些别的东西,慢慢往底层发展了。数据结构和算法也打算再学学了,大一的时候太

2021-10-01 00:46:23 298 1

原创 ALLES! CTF 2021 Web

Sanity Check进入之后发现是个奇怪的页面,问我不是机器人叭?bp抓个包,发现是418响应码,查到的都是说这是一种反爬虫机制,需要加上UA头才行。但是我本来就有UA头。突发其想请求了一下robots.txt,得到flag。J(ust)-S(erving)-P(ages)当时比赛的时候没能做出来,今天问了一下Y4师傅,也是知道了怎么回事。首先就是GlobalServerContext.java里面,添加了一个admin用户,且isAdmin是true。然后把flag放到了上下文中:

2021-09-07 13:33:33 381

原创 [Java安全]XMLDecoder反序列化学习(一)

前言上周五看了GKCTF的babycat那题,接触了XMLDecoder的漏洞,看了几天还是没看太明白。。。太菜了呜呜。。所以这是第一篇,暂时分析到这里,前面的处理XML的流程没看明白,光写篇文章理一下后面的部分。等以后再来填坑了。只是简单的记录自己的调试过程,非常失败,没搞太懂。利用利用就是,写一个这样的xml:<java> <object class="java.lang.ProcessBuilder"> <array class="jav

2021-09-07 01:17:00 865 2

原创 [Writeup]GrabCON CTF 2021 Web

前言打了一下,感觉是比较入门的CTF。E4sy Pe4sy要Hack admin user!,经过尝试发现login的时候password存在SQL注入,可以万能密码:POST /login/index.php HTTP/1.1username=feng&password='||1=1%23&login=Login万能密码登录成功即可拿到flag。Door Lock事实证明国外的比赛质量也是需要考虑的。。。唉。。。。注册登录发现有个?id,以为是SQL注入发现不是。。。

2021-09-06 00:27:00 298

原创 [WriteUp]GKCTF2021 babycat

前言最近想找一点Java题做,看看CTF中的Java题都是什么样的,想到之前GKCTF里面有这么一道Java,存在非预期所以后来修复了,来做了一下学习学习。非预期进入环境发现有登录和注册的功能,看一下注册那里的f12知道了后端接收的方式和数据:<script type="text/javascript"> // var obj={}; // obj["username"]='test'; // obj["password"]='test'; // obj[

2021-09-03 12:40:38 545

原创 [Java安全]fastjson学习(一)

前言开始学习fastjson,TemplatesImpl利用链让我跟的脑子疼,还是太菜了,断点打到后面整个人都是懵的。初认fastjsonFastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。它关键的方法就是三个:将对象转换成JSON字符串:JSON.toJSONString将JSON字符串转换成对象:JSON.parse

2021-09-02 17:15:29 782 2

原创 [Java安全]JNDI注入学习

前言本来是在学习fastjson,发现用到了JNDI,所以先来学习一下JNDI。原理JNDI(Java Naming and Directory Interface,Java命名和目录接口)是SUN公司提供的一种标准的Java命名系统接口,JNDI提供统一的客户端API,通过不同的访问提供者接口JNDI服务供应接口(SPI)的实现,由管理者将JNDI API映射为特定的命名服务和目录系统,使得Java应用程序可以和这些命名服务和目录服务之间进行交互。目录服务是命名服务的一种自然扩展。两者之间的关键差别

2021-09-01 20:49:47 1086 2

原创 WMCTF 2021 ez piwigo(插件)

前言太难了。。。只会这一题。。。人已经做麻了呜呜。ez piwigo利用插件应该是非预期了,所以后来又出了个ez piwigo again。admin,admin登录后进admin.php后台。piwigo的版本是11.5.0,很新的版本,估计预期解是个0day了。。真就0dayctf呜呜呜。LocalFiles Editor这是一个文件操作的插件,尝试直接编辑配置文件但是提示local目录不可写,所以没法直接利用插件来写马。后来又挖了这个插件的任意文件读取漏洞,但是发现读/flag读不到,拿了s

2021-08-31 10:10:01 950

原创 [Java反序列化]JDK7u21反序列化链学习

前言开始学习JDK7u21的原生链,和CC链的逻辑比起来难了不少呜呜。版本JDK7u21及其之前都可以。当然这个之前是广义的,因为比如JDK7在更新,不代表JDK6就没有在更新。所以相对来说的可以认为是,JDK7u21这个版本以及之前时间发布的所有Java版本都有问题,之后的JDK6可能在某一段时间仍有问题,具体也不考究了。 <properties> <maven.compiler.source>7</maven.compiler.source&

2021-08-30 23:14:14 720 2

原创 [Java反序列化]Shiro反序列化学习(二)

前言继续《Java安全漫谈》的学习。预备知识之前学习了Commons-BeanUtils1的反序列化链,之所以会学习这个链子,也提到了是因为shiro依赖了它。写个pom.xml的dependency(不用commons-collections): <dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shi

2021-08-30 09:50:31 442 1

原创 [Java反序列化]CommonsBeanutils1利用链学习

前言继续反序列化的学习。预备知识之所以会提到CommonsBeanutils的反序列化链,是因为shiro是依赖commons-beanutils的,当然这是接下来学习的东西的。根据名字就知道,类似Commons-Collections是对集合的封装和补充,commons-beanutils是应用于javabean的工具。至于什么是JavaBean,放一下维基百科的定义,很简单:有一个public的无参数构造函数。属性可以透过get、set、is(可替代get,用在布尔型属性上)方法或遵循特

2021-08-29 23:43:59 1538

原创 [Java-sec-code]PathTraversal学习

前言目前JavaWeb刚学到Servlet,看了一下接下来的东西,还剩下一大堆要学,脑子疼,照这种进度看下去得2-3个月才能看到SpringBoot,把SpringBoot看完就正式去全身心Java代审了。不过太浮躁了,暂时还是想学学Java代码审计,正好有个比较适合入门的Java安全项目:Java-sec-code。用SpringBoot写的,把许多的漏洞都给了个demo还有修复。正好我之前稍微接触过SpringBoot,勉强能看得懂,就也稍微跟着这个项目学习一下。其实主要还是长长见识,只是换一种方式看

2021-08-29 01:12:08 471

原创 [Java反序列化]CommonsCollections2利用链学习

前言学习自《Java安全漫谈 - 16.commons-collections4与漏洞修复》。学习了一波CC2。学完这个就继续去JavaWeb了。JavaWeb看个1星期就爬取背马原,看概率论了。预备知识之前所分析的CC链都是基于CommonsCollections3.2.1及其之前的版本。去maven仓库搜索一下的话,就会发现存在两个CommonsCollections:一个包名是org.apache.commons.collections4,另外一个是org.apache.commons.co

2021-08-28 00:46:48 513 1

原创 祥云杯2021 Web复现

前言正好buuctf上放了那三道js的题目,就正好复现了一下,学习学习。cralwer_z有注册登录,更新个人信息还有爬虫的功能。但是想使用爬虫功能会受到限制: if (/^https:\/\/[a-f0-9]{32}\.oss-cn-beijing\.ichunqiu\.com\/$/.exec(user.bucket)) { return res.json({ message: "Sorry but our remote oss server is under mainte

2021-08-25 16:45:03 1802 2

原创 [Java反序列化]Shiro反序列化学习(一)

前言看了点Servlet就回来直接看《Java安全漫谈》了,赶紧学点东西,过几天开学回去背sb马原就学不了了。学习的是**《Java安全漫谈 - 15.TemplatesImpl在Shiro中的利用》**,因为之前刚把TemplatesImpl动态加载字节码还有它的应用CC3给学了,所以学习一下这篇文章。P神主要的还是结合CC6这个通用链,来对1.2.4及其之前的shiro存在的漏洞进行攻击,其中利用TemplatesImpl来对CC6进行改进。我个人感觉其实叫CC3在Shiro的应用更为确切,所以我也

2021-08-24 21:35:39 2179 1

原创 祥云杯2021 Web简单题wp

前言千言万语汇成一句:我真是太菜了。事实证明只会个php在卷成这样的ctf比赛里面只能挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打挨打。不会Java和js直接下线,只能卑微的做最简单题

2021-08-23 13:29:06 557 1

原创 RACTF 2021 Web复现

前言最近向Y4师傅学习,慢慢开始打国外的比赛。13号-16号的RACTF当时看了一下做出来人数最多的Web题,发现一点头绪都没有,就直接爬了,感觉这个比赛可能难度挺大的。还是有些畏难了。今天早上看到Y4师傅发了这个比赛的WP,我又去官网上看了一下,部分的Web的WP也发了,而且题目环境也都没关,所以就又去做了一下,不会的Web题如果有wp的话也跟着wp学习了一下进行了复现。Really Awesome Monitoring Dashboard用的是Grafana v8.1.1,查了一下没找到这个版本的

2021-08-19 15:48:20 1453

原创 [Java反序列化]CommonsCollections3利用链学习

前言开始CC3链的学习,学完这个之后就暂时不再看Java的反序列化了,先去把JavaWeb给补一下,可能需要1-2个月的时间。再过2个星期开学了还要忙考试的事情,还有课程,还有很多的事情,到时候会更忙,只能趁着现在能多学一点是一点了。所以其实CC链的学习也并不完全,commons-collections4.0的代表链CC2还没有学,不过也不会咕太久,可能接下来哪天JavaWeb学烦了就来看看CC2解解压也是有可能的。分析跟着P神的文章学习很大的好处就是可以很明显的感觉到思考的过程,整个学习的路线是以

2021-08-18 14:57:31 644

原创 Hacker‘s Playground(SSTF) 2021 Web

Flag SubmissionSCTF{It_15_tim3_t0_hack!!}SQLi 101?id=admin'%23&pw=1SQLi 102?searchkey=-1'union select 1,group_concat(column_name),3,4,5,6,7,8 from information_schema.columns where table_name = 'findme' %23​SW Expert Academy一道离谱的题目,输入C程序然后会运

2021-08-17 23:56:16 274

原创 [Java安全]动态加载字节码学习笔记

前言开始学习P神的《Java安全漫谈 - 13.Java中动态加载字节码的那些方法》。涉及到了很多类加载器的知识,幸好我之前学习过了,因此理解这一块的内容非常的轻松。Java的字节码直接放一下P神的定义:所有能够恢复成一个类并在JVM虚拟机里加 载的字节序列,都在我们的探讨范围内。远程加载class文件建议先好好了解一下类加载器。之前我学习类加载器的时候也学习了:https://blog.csdn.net/rfrder/article/details/119456460直接放代码了:

2021-08-17 19:03:59 848 4

原创 [Java反序列化]CommonsCollections6利用链学习

前言继续跟着P神的《Java安全漫谈》来学习。前面学习了CC1,遇到的问题就是CC1用到了AnnotationInvocationHandler类,但是AnnotationInvocationHandler类的readObject()方法在8u71以后逻辑就发生了改变,不能再利用了,所以需要找一个可以解决高版本Java的利用链。因此也就开始了CC6的学习。CC6解决了高版本Java的限制,而且利用更加通用。总的来说,是在CC5(因为我偶然也学了CC5)的基础上,把前面的链部分又进行了通用性上的拓展。构

2021-08-16 18:13:41 902

原创 [Java反序列化]CommonsCollections5利用链学习

前言奇奇怪怪的就把CC5给看了。在看一个师傅的CC1的文章的时候,发现他写的LazyMap链不太一样,我以为是CC1的新链,然后也学习了一波,然后查了一下发现是CC5。。。环境 <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId>

2021-08-16 15:41:56 733

原创 InCTF 2021 Web

前言太菜了,根本不会,笑死。6道Web,有三道是XSS,我一点XSS不会,直接哭了。Raas一个输入框,是post传的url,可以SSRF,根据dockerfile里的内容可以知道文件在/code/app.py,下载下来:url=file:///code/app.pyfrom flask import Flask, request,render_template,request,make_responseimport redisimport timeimport osfrom util

2021-08-16 15:03:40 461

原创 [Java反序列化]CommonsCollections1利用链学习(下)

前言白天学习了CommonsCollections1的TransformedMap链,感觉打开了新世界的大门,所以晚上学习了LazyMap链,感觉也没那么难理解,可能是因为我在看CC链之前已经把基础知识都给过了一遍叭,所以才没那么困难。环境<dependencies> <dependency> <groupId>commons-collections</groupId> <artifactId>com

2021-08-14 20:31:32 416

原创 [Java反序列化]CommonsCollections1利用链学习(上)

前言终于快入门了呜呜呜,开始学习CommonsCollections1的TransformedMap链。环境 <dependencies> <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> &l

2021-08-14 15:18:40 734

原创 [Java反序列化]URLDNS链学习

前言经过前期的铺垫,终于要开始了Java反序列化链的学习。按照P神的说法,还是别那么急就从CC链入手,先从这个简单的URLDNS学起,之后再学习CC链。因为是第一次接触Java的反序列化,可能思路和想法之类的可能有不对的地方,也正常叭,就像我看着自己一开始写的文章一样,很多地方理解也都不太对,经过慢慢的学习就会慢慢进步的。ysoserial的URLDNS下载链接:https://github.com/frohoff/ysoserial我对于使用也是没太懂,不过现在还是学习嘛。原来pom.xm

2021-08-13 16:28:06 700

原创 Java 序列化和反序列化 学习笔记

前言开始学习Java反序列化的基础知识,主要学习的是Epicccal师傅的文章,总结的很棒。之后就要开始学习URLDNS和Commons-Collections了。希望到时候学习CC链不会卡我太久的时间。争取七夕之前把URLDNS的链可以结束。内容中概念部分主要也是摘录自Epicccal师傅的文章。自己的笔记会忽略掉很多的细节,只记录重要的东西,方便自己查阅,推荐想学习的话,可以把参考链接中的文章都看一遍。Java序列化和反序列化的一些基本概念Java 序列化就是把一个 Java Object

2021-08-12 17:06:41 549

原创 Java RMI 学习笔记

前言开始学习一下Java中RMI的相关知识。RMI是我目前为止学起来比较难的一块,主要的原因就是一我没学过计网,对于这种通信相对来说有点陌生,很多文章后面的抓包分析我也看不懂。二就是初学Java,很多东西不了解,也不太懂怎么去看底层的东西。三就是很多文章涉及到了攻击还有反序列化这方面,目前还没接触过,所以也看不太懂。因此目前更多的是了解,关于更多的细节我没有去接触,不好高骛远,等慢慢对Java接触的多了,再回来把这些基础更深入的了解一波。说简单一点就是,目前的学习,是从使用的角度来学习。以后再来从源码分

2021-08-11 20:35:56 505

原创 Java JDBC 学习笔记

前言开始JDBC的学习,学习自bilibili的《狂神说Java》,简要记录一下学习的东西,以及学习的过程中产生的疑惑以及通过查阅得到的解答。IDEA导入JDBC驱动的jar包因为还没学maven,只能这样导入jar包。从官网下载mysql的jdbc驱动,里面有mysql-connector-java-5.1.47.jar,我把它拉出来单独放在一个路径下。然后点IDEA里面的project structure:点那个加号,然后选jars...那个,然后把对应的jar包选中,然后点OK就行了。一

2021-08-10 16:32:29 250

原创 Java 命令执行 学习笔记

前言开始学习一下Java的命令执行,虽然都是一些很小的知识点,但是还是每个知识点都写篇博客总结一下。考虑到自己刚学Java,很多的东西都不太懂,太多的类没见过,不知道怎么用,很多概念不懂,就连学过的东西也一直在忘,所以这种学习新东西的过程中,我更多的还是把握住,主要的知识点。比如后面的看Runtime的exec方法的调用链,自己也看不懂细节上的东西,只要能把握住,整体的调用链是这样的,就可以了,更加细节的东西,等自己以后慢慢学习的深入了,再慢慢的回头看。RuntimeRuntime类,顾名思义就是运

2021-08-09 16:44:30 817

原创 BSides Noida CTF 2021 Web Calculate

前言没有打比赛,但是有个师傅问了我这题,做了一下发现不会,学习了一波Y4师傅的WP。WPf12传个?????既可以获得完整的源码:<?phpif(isset($_GET['????'])) { highlight_file(__FILE__);}function filter($payload) { if (preg_match("/[a-zA-BD-Z!@#%^&*:'\"|`~\\\\]|3|5|6|9/",$payload)) { retur

2021-08-09 13:30:52 1162

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除