再探2023蓝帽杯初赛取证

误打误撞进了蓝帽杯的半决,下周末就要去贵阳比赛了,赶紧再来看看取证,不过取证还算有点意思。

APK取证

1.【APK取证】涉案apk的包名是?[答题格式:com.baid.ccs]

这个弘联的雷电app分析一分析就直接出来了,现在在申请授权…

其实使用jadx反编译也可以看得出来:

阅读更多

Struts2全系漏洞分析(一)

总参考链接:https://su18.org/post/struts2-1/

Struts2 配置及使用

Struts2 是一个基于MVC 设计模式Web应用框架,它的本质就相当于一个 servlet,在 MVC 设计模式中,Struts2 作为控制器(Controller)来建立模型与视图的数据交互。

Struts2 是在 Struts 和WebWork 的技术的基础上进行合并的全新的框架。Struts2 以 WebWork 为核心,采用拦截器的机制来处理的请求。这样的设计使得业务逻辑控制器能够与 ServletAPI 完全脱离开。

在分析Struts2对一次请求的执行流程之前,为方便分析,我们需要配好Struts2-001的漏洞环境,本人亲测有效的配置教程如下,这里不再赘述:

https://lanvnal.com/2020/12/15/struts2-lou-dong-fen-xi-huan-jing-da-jian/#

阅读更多

FastJson全系漏洞分析

前置知识

fastjson是什么

fastjson 是阿里巴巴的开源 JSON 解析库,它可以解析 JSON 格式的字符串,支持将 Java Bean 序列化为 JSON 字符串,也可以从 JSON 字符串反序列化到 JavaBean。这个反序列化就是我们研究的重点。反序列化的对象必须具有默认的无参构造器和get|set方法,反序列化的底层实现就是通过无参构造器和get,set方法进行的。

阅读更多

基于ctfshow初探TP全系列漏洞

研究复现这些thinkphp漏洞就是为了明白漏洞的成因,锻炼看文档手册和调试代码的能力,主要基于ctfshow靶场上的题进行研究(能找到的最全的靶场)。

前言:如何找到需要的版本源码

composer create-project topthink/think-5.0.5 thinkphp5.0.5 --prefer-dist

下载之后访问index,随便访问一个不存在的路由,看报错说的是几,有时候会自动下成最新版,显示5.0.24,这时候只需要在compsoer.json里面改为需要的版本,再运行composer update就行,composer是php的包管理工具,功能和java的maven非常类似

阅读更多

ThinkPHP6.0.3_反序列化漏洞

漏洞影响版本:6.0.0-6.0.3,本次分析中使用的版本为6.0.3

搭建环境就不多说了,composer改版本,index加一个反序列化操作,直接从反序列化链入口开始看。

这条链同样分成上下两部分进行分析

入口部分

前半段的任务在于控制参数使得从__destruct方法到__toString方法,因为后半段和tp5反序列化toString后半段很类似。

我们都知道,反序列化入口一般是__destruct方法,这次是位于/vendor/topthink/think-orm/src/Model.php__destruct方法:

阅读更多

ThinkPHP5_反序列化分析

ThinkPHP5.1 反序列化总结

影响版本:5.1.37-5.1.41

先在index里面加一个反序列化的入口:

由于这个反序列化链实在是太长了,而且需要逆着分析,向上找调用,没法进行调试(调试是顺着分析),所以分成两大部分来分析,第一部分跳跃的类有点多,涉及到了php的多继承和抽象类,第二部分主要集中在Request类中不同方法的互相调用,而连接两个部分的关键在于访问不存在的方法时自动调用的__call方法。

阅读更多

ThinkPHP5_RCE分析

thinkphp5最出名的漏洞就是rce,rce有两个大版本的区别

  1. ThinkPHP 5.0.0-5.0.24
  2. ThinkPHP 5.1.0-5.1.30

因为漏洞具体触发点和版本的不同,导致payload分为了很多种,总体来看依然分两大种:

阅读更多

ThinkPHP3.2.3SQL注入复现

前言

最近这段时间集中在研究ThinkPHP全系漏洞,争取都复现一下,提升一下代码审计能力。

准备工作

先在本地搭建环境研究研究,首先研究sql注入肯定要先自己弄好数据库,这个thinkphp创建时绑定的数据库是空的,于是创个users表,输点数据。

阅读更多

初探VM/VM2沙箱逃逸

前情提要:JavaScript和nodejs到底有什么区别:JavaScript运行在浏览器的前端,而后面使用v8引擎为JavaScript单独开发了一个运行环境,使其可以作为一种后端语言运行在服务端,写在后端的JavaScript就叫nodejs。也就是说一个前端一个后端。

VM沙箱基本概念和使用

什么是沙箱

沙箱就是我们开辟出的单独运行代码的环境,与主机相互隔离,从而使得代码并不会影响主机上的功能。

阅读更多

写给学弟学妹的WEB入门

作者:中山大学W4terDr0p战队成员 Pazuris

Web安全综述

相对于其他方向,web方向所需要学习的内容偏多,涉及到各类编程语言与开发框架,漏洞的类型也偏多,但是不用担心,web方面的安全研究并不会过于深入开发的底层原理,也并不会涉及太多开发的高级应用。

那么,选择web安全作为安全的学习方向有哪些理由呢?

  • 以后好找工作,web应用普及在各个领域,市场需求大
  • 个人认为web安全比较有趣味性,基本思想是绕过检测并执行命令,像是Assassin(刺客)
  • 学习web安全不用过多考虑计算机的底层原理

如果你经过综合考量,最终决定选择Web方向的学习,那么接下来这份学习路线也许可以帮助你少走一些入门的弯路。

阅读更多