avatar
Articles
76
Tags
0
Categories
0

首页/Home
时间线/Footprints
朋友们/Link
关于/About
A day in AsaL1n
首页/Home
时间线/Footprints
朋友们/Link
关于/About

A day in AsaL1n

NKCTF2024 用过就是熟悉&php_mvc学习
Created2024-04-01
php_mvc学习前言打完nkctf 最后一题代码审计还是学长穿的 赛后复现的时候 实在没审计出来 学长说这个是简单的mvc框架 学了那么久不知道什么是php mvc 今天恶补一下 mvc 第一个想到的就是java web的mvc 两者应该有什么共同之处 所有的例子都是来源于nkctf这最后一道题目 MVCMVC模式(Model-View-Controller)是软件工程中的一种软件架构模式。 MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。 路由处理url参数主要由PATHINFO模式控制入口 我们访问这个网站之后 参数会被放到这里来处理 mvc将全局的路由全部储存在根目录下 函数库文件框架自带functions.inc.php方法库,包含了很多数据模型创建的一些工具方法 在这里可以设置包含目录 通过__autoload方法 自动加载相关的类 框架要求相关的类命名规则如下 1首字母大小的类名.clsss.php Controller自动加载的控制器需要保存在Controller里面 命名为.class.php 会被自 ...
cbctf bypass_java复现
Created2024-03-27
cbctf bypass_java复现 手头屯了不少之前的比赛题目,慢慢全部解决掉,一堆题目 也不知道是什么比赛的题目了,就凑活着学 题目名字全部用jar包作为名字了,实在是懒的去找题目来源 bypass_java主要就是两个文件 /read路由直接将我们的相关内容直接base64解码一下然后直接执行了反序列化操作 存在一个简单的过滤 1234567891011121314151617181920212223242526272829303132333435//// Source code recreated from a .class file by IntelliJ IDEA// (powered by FernFlower decompiler)//package com.example.bypassjava;import java.io.IOException;import java.net.HttpURLConnection;import java.net.URL;import org.springframework.boot.SpringApplication ...
2024NKCTF
Created2024-03-26
2024NKCTF_WP 在大家的一同努力之下获取了第四 欸,好爽 my first cms打开看到是个cms 网上搜了一圈 是CMSMS 一个php+mysql+smarty写的cms dirsearch扫描一下,看到存在admin/login.php路由,直接简单访问 弱密码 admin/Admin123成功登录 出题人卡字典,良心大大滴坏 网上搜搜这个cms的漏洞 看到两个可能的 https://github.com/capture0x/CMSMadeSimple 和capture0x/CMSMadeSimple2: CMS Made Simple Version: 2.2.19 - SSTI (github.com) 注意到使用ssti注入的时候会遇到一个setting,绕不过去 前面那个可以 没有办法直接读取文件,尝试写马 antsword链接 全世界最简单的CTF访问/secret获取源码 1234567891011121314151617181920212223242526272829303132333435363 ...
2024venomvtf wp+学习
Created2024-03-18
2024venomvtf wp+学习old.js源码如下 12345678910111213141516171819202122232425262728293031323334353637383940414243const express = require('express')const fs = require('fs')var bodyParser = require('body-parser');const app = express()app.use(bodyParser.urlencoded({ extended: true}));app.use(bodyParser.json());app.post('/plz', (req, res) => { venom = req.body.venom if (Object.keys(venom).length < 3 && venom.welcome == 159753) &# ...
JAVA二次反序列化学习
Created2024-03-03
JAVA二次反序列化学习 学二次反序列化 SignedObject在SignedObject存在一个getobject方法 1234567891011public Object getObject() throws IOException, ClassNotFoundException { // creating a stream pipe-line, from b to a ByteArrayInputStream b = new ByteArrayInputStream(this.content); ObjectInput a = new ObjectInputStream(b); Object obj = a.readObject(); b.close(); a.close(); return obj; } 这里存在一个反序列化的操作,可以将恶意的反序列化内容存放在这个b里面触发二次反序列化 我们看看这个类的构造方法 1234567891011121314151617pub ...
Rome反序列化
Created2024-02-28
Rome反序列化依赖1234567<dependencies> <dependency> <groupId>rome</groupId> <artifactId>rome</artifactId> <version>1.0</version> </dependency> </dependencies> tostring问题出现在tostringbean#tostring方法这里 123456789101112131415161718192021222324252627282930313233343536373839404142434445public String toString() { Stack stack = (Stack) PREFIX_TL.get(); String[] tsInfo = (String[]) ((stack ...
fastjson反序列化_学习
Created2024-02-17
fastjson反序列化 相关的漏洞实在是太多了,只能学习一部分,其余的就附加上了poc 背景Fastjson 是阿里巴巴的开源JSON解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。 Fastjson是一个全程开源的项目,项目链接 https://github.com/alibaba/fastjson/ Fastjson提供了对json数据的高效处理 JSON 字符串转换为 Java 对象fastjson提供了JSON.parseObject()方法。可以将一个json字符串转化为java对象 我们可以看一下这个方法 然后会触发parse方法 然后会使用autoType实例化具体的类,调用相关的set/get方法访问相关的属性。 parse方法将json数据反序列化成java对象,并且在反序列化时调用了对象的setter方法。 不过这里的get/set方法存在一点要求 AutoTypeFastJson和jackson在把对象序列化成json字符串 ...
JNDI注入学习
Created2024-02-05
JNDI注入学习JNDI​ JNDI的全称是Java Naming and Directory Interface,即Java命名和目录接口,作用是为JAVA应用程序提供命名和目录访问服务的API。通过管理者对api映射相特定的命名和目录系统。使得Java应用程序可以和这些命名服务和目录服务之间进行交互。 结构jndi主要包括五个结构 javax.nameing​ 包含用于访问命名服务的类和接口。定义了name和Context接口 javax.nameing.directory​ 扩展核心 javax.命名包,以提供除命名服务之外访问目录的功能。 javax.nameing.event​ 包含用于支持命名和目录服务中的事件通知的类和接口。 javax.nameing.ldap​ 包含用于支持 LDAPv3 扩展操作和控制的类和接口。 javax.nameing.spi​ 包含允许在 JNDI 下动态插入各种命名和目录服务提供程序的类和接口。 相关类InitialContext123456789101112131415161 ...
JAVA_RMI学习
Created2024-02-04
JAVA_RMIRMIRMI全称是Remote Method Invocation,远程⽅法调⽤。使用 RMI 技术可以使一个 JVM 中的对象,调用另一个 JVM 中的对象方法并获取调用结果。这里的另一个 JVM 可以在同一台计算机也可以是远程计算机。 RMI主要由三部分组成 123Server: 提供远程的对象Client: 调用远程的对象Registry: 一个注册表,存放着远程对象的位置(ip、端口、标识符) Java本身对RMI规范的实现默认使用的是JRMP协议。 1JRMP:Java Remote Message Protocol ,Java 远程消息交换协议。这是运行在Java RMI之下、TCP/IP之上的线路层协议。该协议要求服务端与客户端都为Java编写,就像HTTP协议一样,规定了客户端和服务端通信要满足的规范 而在Weblogic中对RMI规范的实现使用T3协议。 1WebLogic T3协议(Two-Tier TCP/IP Protocol)是Oracle WebLogic Server中的一种专有协议,它建立在TCP/IP协议之上,用于在客户端和服务 ...
java反序列化原生链&脏数据
Created2024-02-02
继续学习java JDK7u21AnnotationInvocationHandler漏洞点出现在 sun.reflect.annotation.AnnotationInvocationHandler类的equalsImpl方法 1234567891011121314151617181920212223242526272829303132333435private Boolean equalsImpl(Object var1) { if (var1 == this) { return true; } else if (!this.type.isInstance(var1)) { return false; } else { Method[] var2 = this.getMemberMethods(); int var3 = var2.length; for(int var4 = 0; v ...
1…456…8
avatar
AsaL1n
Articles
76
Tags
0
Categories
0
Follow Me
Announcement
why we need that??
Recent Post
2025 长城杯 final 记录2025-05-04
CVE-2025-24813 Tomcat session 反序列化分析2025-03-31
TIMECapsule & justDeserialize 学习动态代理2025-03-28
Fury反序列化2025-03-02
Jdk17 反射限制与绕过2025-02-15
Archives
  • May 20251
  • March 20253
  • February 20252
  • January 20251
  • December 20241
  • November 20242
  • October 20245
  • September 20241
Info
Article :
76
UV :
PV :
Last Update :
©2020 - 2025 By AsaL1n
Framework Hexo|Theme Butterfly