Windows权限维持
前言前些天发了一篇关于Windows权限提升的文章,这一篇算是下文,关于Windows权限维持的。当我们成功在目标机器上获取到了一定的权限,我们就需要考虑权限维持了,该文章所有的操作都默认已经拥有了一定的权限甚至是system权限。 Windows权限维持一般都考虑如下几个方面:用户、服务、文件、软件。具体就是如下几种: 低权限用户篡改 Windows服务篡改 隐蔽后门文件 第三方软件利用 接下来就让我详细的讨论一下。 注意:本文章中的演示均借用了tryhackme所提供的靶机,所以不会提供环境配置的相关细节,如果需要实操的建议去买一个tryhackme的会员 低权限用户篡改通常来说大多数的安全措施都会格外关注管理员、管理员组、者系统用户的情况,所以为了避免我的被踢下线导致权限丢失,我们就可以考虑篡改低权限的用户,使其拥有管理员权限,从而维持我们的权限。 分配组成员资格篡改直接划入管理员组让非特权用户获得管理员权限的直接方法是使其成为管理员组的一部分。我们可以通过如下命令实现: 1net localgroup administrators myuser...
Windows提权
前言最近在tryhackme里边学习有关红队的一些东西,目前学习到了主机逃逸了,想着把前面的知识总结复习一下,就有了这边文章,这篇文章重点不在于如何利用,更多的是对思路的梳理和总结,根据我所学的在Windows中进行权限提升,通常有如下四个情况 Windows 服务或计划任务的配置错误 我们的帐户被赋予了过多的权限 易受攻击的软件 缺少 Windows...
Java反序列化CC链6
使用限制不限制jdk版本,CC库小于等于3.2.1均可利用 CC利用链分析前情回顾CC1根据之前对CC链1的分析,我们知道可以通过ChainedTransformer配合InvokerTransformer实现命令执行。详细的解析可以看我之前的一篇文章:https://hadagaga.github.io/2025/05/15/JavaCC%E9%93%BE1/下面一小段示例代码: 12345678Transformer[] transformers = { new ConstantTransformer(Runtime.class), new InvokerTransformer("getMethod", new Class[]{String.class, Class[].class}, new Object[]{"getRuntime", new Class[0]}), new...
Java反序列化CC链1
执行类sinkTransformer接口下的实现类InvokerTransformer 条件:继承了Serializable 关键方法:12345public InvokerTransformer(String methodName, Class[] paramTypes, Object[] args) { this.iMethodName = methodName; this.iParamTypes = paramTypes; this.iArgs = args;} 12345678910111213141516171819public Object transform(Object input) { if (input == null) { return null; } else { try { Class cls = input.getClass();//获取传入对象的类 Method method...
Pydash set原型链污染漏洞解析
前言在nctf中遇到了一pydash的题目,是没见过的知识,所以写一篇文章复现分析一下。 2024-nctf源码12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061'''Hints: Flag在环境变量中'''from typing import Optionalimport pydashimport bottle__forbidden_path__=['__annotations__', '__call__', '__class__', '__closure__', '__code__', '__defaults__', '__delattr__',...
Java反序列化-01
前言在这篇文章之前,我已经学习了有关fastjson的Java反序列化,但是在最近的比赛中考察到了Java原生反序列化的知识点,初步了解之后发现两者相距甚远,所以决定写下这篇这篇文章,记录一下Java反序列化的学习。虽然Java原生的反序列化已经十分少见,但是毕竟是网络安全,可以不用,不能不会,所以还是深入研究一下。 序列化与反序列化的代码实现有关于序列化和反序列化的知识点这里不做赘述,个人建议从PHP开始了解序列化与反序列化,因为PHP的序列化更加简单些,这里贴出之前所写的文章链接,供师傅们学习: 序列化与反序列化基础及反序列化漏洞(附案例)_反序列化漏洞代码-CSDN博客 还是先创建一个Java项目,创建一个类文件,键入如下代码。 Person.java1234567891011121314151617181920212223242526package org.example;import java.io.Serializable;public class Person implements Serializable { private String...
2024-nctf 个人WP
sqlmap-master 访问环境后发现这是一个sqlmap的web服务,传入127.0.0.1后可见执行了sqlmap命令,尝试输入 1127.0.0.1 && whoami && 发现未能注入命令,分析源码。 1234567def generate(): process = subprocess.Popen( command.split(), stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=False ) 发现执行命令的这个方法,把传入的命令分割了,且shell=False,所以这里的&不会被当作bash的特殊字符,而会被当作传参传入,所以注入失败了。这里我们就得转变方向了,尝试寻找有没有可能利用sqlmap本身的参数。 我们发现这里有一个eval参数可以执行任意的python代码,所以我们可以构造如下参数: 12127.0.0.1 --eval...
PHP模板注入漏洞-Twig篇
PHP常见模板引擎 Twig Twig是来自于Symfony的模板引擎,它非常易于安装和使用。它的操作有点像Mustache和liquid。 Smarty Smarty算是一种很老的PHP模板引擎了,非常的经典,使用的比较广泛。 Blade Blade 是 Laravel 提供的一个既简单又强大的模板引擎。 和其他流行的 PHP 模板引擎不一样,Blade 并不限制你在视图中使用原生PHP代码。所有Blade视图文件都将被编译成原生的PHP代码并缓存起来,除非它被修改,否则不会重新编译,这就意味着 Blade基本上不会给你的应用增加任何额外负担。 模板引擎payload格式 12345Smarty {php}echo `id`;{/php} //在smarty 3.X中废弃 {}{literal} //PHP5中适用 {if}{/if} 12Twig {{2*3}} 123Blade...
SSRF-Redis未授权访问利用
SSRF前言 在近期的几场比赛中,考察了SSRF的知识点,实践下来,发现我之前严重低估了SSRF的威力,所以决定写下这篇文章,简单梳理一下SSRF的漏洞原理及利用方法。 什么是SSRF? SSRF(Server-Side Request Forgery:服务器端请求伪造)...
JavaXXE
前言 最近的几场比赛出现了XXE的题目,让我认识到了自己在XXE方面的知识点十分薄弱,所以就花时间深入学习一下XXE的知识点。 XML简介 在正式开始了解XXE之前我们需要先知道什么是XML XML XML(Extensible Markup Language):可扩展标记语言,用来存储及传输信息。XML 的一个主要优点是它允许不同的应用程序之间进行数据交换,因为它是一种通用的数据格式。它还可以用于存储数据,并且可以使用 XML 文档来描述数据的结构。 如下是一个描述书籍的XML文档: 123456789101112<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE book SYSTEM "book.dtd"><book id="1"> <name>Code Audit</name> <author>hada</author> ...