• 2024-11-21Java反序列化-Commons Collections4利用链详解
    前言CC4的构造方式与CC3相似,主要的区别在于触发反序列化的方式不同。CC4通过使用PriorityQueue(优先队列)来触发反序列化,而恶意代码加载方式依旧沿用了CC3。exp:TemplatesImpltemplates=newTemplatesImpl();Classc=templates.getClass();FieldnameField=c
  • 2024-11-20CC2链学习记录
  • 2024-11-19JAVA反序列化学习-CommonsCollections3(基于ysoserial)
    环境准备JDK1.7(7u80)、commons-collections(3.x4.x均可这里使用3.2版本)JDK:https://repo.huaweicloud.com/java/jdk/7u80-b15/jdk-7u80-windows-x64.exe<dependency><groupId>commons-collections</groupId><artifactId>commons-collections</a
  • 2024-11-16Java反序列化-Commons Collections3利用链分析详解
    介绍CC3与CC1和CC6的主要区别在于,CC1和CC6依赖反射机制来执行Runtime.getRuntime().exec()等危险命令,而如果服务器将这些方法列入黑名单,这两种方式就会失效。相比之下,CC3通过类加载器动态加载恶意类来执行危险函数,绕过黑名单限制,从而达到命令执行的目的。公众号:T
  • 2024-10-20Nuxt.js 应用中的 app:templates 事件钩子详解
    title:Nuxt.js应用中的app:templates事件钩子详解date:2024/10/18updated:2024/10/18author:cmdragonexcerpt:app:templates是Nuxt.js中一个强大的生命周期钩子,它在NuxtApp生成过程中调用。这一钩子允许开发者自定义、修改或添加新文件到构建目录,提供了
  • 2024-10-18Nuxt.js 应用中的 app:templates 事件钩子详解
    title:Nuxt.js应用中的app:templates事件钩子详解date:2024/10/18updated:2024/10/18author:cmdragonexcerpt:app:templates是Nuxt.js中一个强大的生命周期钩子,它在NuxtApp生成过程中调用。这一钩子允许开发者自定义、修改或添加新文件到构建目录,提供了极大的
  • 2024-10-18Zabbix模板数据存储在哪里?
    Zabbix的模板数据存储在数据库的哪一个表里面?以MySQL数据库为例,在数据库zabbix中,其实模板数据存储在hosts这个表里面,而不是存在hosts_templates表里面。很多人一看到templates关键字,容易先入为主的以为这个表会存储模板的相关数据。但是实际上,hosts_templates表用于存储主机和模板
  • 2024-10-17【FastAPI】jinja2模板
    本文介绍简单的jinja2语法APIimportuvicornfromfastapiimportFastAPIfromfastapi.requestsimportRequestfromfastapi.templatingimportJinja2Templatesfromfastapi.staticfilesimportStaticFilesapp=FastAPI()#项目根目录下创建static与templates文件
  • 2024-10-11模板和静态文件
    模板和静态文件1、templates模板2、静态文件2.1、static目录2.2、引用静态文件1、templates模板"templates"目录用于存放模板文件,通常是用于动态生成页面的文件。在app01目录下创建templates文件夹,html文件均保存在templates中在urls.py中添加路径后,在views.py
  • 2024-09-14十一,Spring Boot 当中配置拦截器的“两”种方式
    十一,SpringBoot当中配置拦截器的“两”种方式@目录十一,SpringBoot当中配置拦截器的“两”种方式1.准备工作:2.SpringBoot当中配置拦截器的第一种方式:通过配置类的方式3.SpringBoot当中配置拦截器的第二种方式:4.补充:URI和URL的区别5.总结:6.最后:在SpringBoot项目
  • 2024-09-07Java反序列化漏洞-TemplatesImpl利用链分析
    目录一、前言二、正文1.寻找利用链2.构造POC2.1生成字节码2.2加载字节码1)getTransletInstance2)defineTransletClasses2.3创建实例3.完整POC三、参考文章一、前言java.lang.ClassLoader#defineClassdefineClass可以加载字节码,但由于defineClass的作用域是protected,所以攻
  • 2024-09-01Role-角色扮演
    简介roles是在ansible中,playbooks的目录组织结构。将代码或文件进行模块化,成为roles的文件目录组织,易读,代码可重用,层次清晰。目标通过role远程部署nginx配置目录结构mkdirroles/nginx/{files,handlers,tasks,templates,vars}-ptouchroles/site.yamlroles/nginx/{hand
  • 2024-08-27一种PyInstaller中优雅的控制包大小的方法
    PyInstaller会在打包时自动为我们收集一些依赖项,特别是我们在打包PyQt/PySide相关的应用时,PyInstaller会自动包含我们程序通常不需要的文件,如'tanslations'文件夹,'plugins/imageformats'等,通常这些文件会使我们最终的exe文件变大。在网上没有找任何好的方法来排除这些文件,从这个Is
  • 2024-08-20Templates by Hanggoash
    快速幂点击查看代码inlineintpower(inta,intb,intp){ longlongans=1; while(b) { if(b&1)ans=ans*a%p; a=a*a%p; b>>=1; } returnans;}矩阵快速幂点击查看代码structMatrix{ intn,m; inta[maxn][maxn]; Matrix(){memset(a,0,sizeofa);}};
  • 2024-08-05javaCC链3
    cc3cc3区别cc6不再是使用Rutime类执行命令,而是通过类加载器动态加载恶意类然后执行类加载:ClassLoader.loadClass->ClassLoader.findClass->ClassLLoader.defineClassClassLoader.loadClass:寻找加载的类(双亲委派机制)ClassLoader.findClass:如果loadClass没找到类,就根据类名称/
  • 2024-07-2820、flask-进阶-自定义静态文件static和模板文件templates的路径配置
    自定义static目录和templates目录的路径原本flask默认的static和templates目录是在App目录下的:如下图如果想把这两个目录更改位置,如放在根目录下:代码如下:__init__.pyfromflaskimportFlaskfrom.viewsimportbluefrom.extsimportinit_extsimportos#获
  • 2024-07-10CB利用链分析
    分析版本CommonsBeanutils1.9.4JDK8u65参考Shiro反序列化漏洞(三)-shiro无依赖利用链分析过程CommonsBeanutils是一个用于操作JAVABEAN的工具包。先看下基础使用publicclassPerson{//JAVABEANprivateStringname;privateintage;public
  • 2024-07-10CC4利用链分析
    我的Github主页Java反序列化学习同步更新,有简单的利用链图分析版本CommonsCollections4.0JDK8u65环境配置参考JAVA安全初探(三):CC1链全分析分析过程在CommonsCollections4.0中,TransformingComparator类变为可序列化类,增加了一条攻击链。CC4在CC3的基础上,改变了
  • 2024-07-08CC3利用链分析
    CC3利用链用到了动态加载类,我之前有写调用defineClass后还要进行newInstance实例化分析版本CommonsCollections3.1JDK8u65环境配置参考JAVA安全初探(三):CC1链全分析分析过程CC3链的RCE执行点是,ClassLoader的defineClass方法(还要实例化加载的类,去调用我们写在类
  • 2024-07-0711、flask-模板-templates
    模板Templates模板是呈现给用户的界面在MVT架构中充当T的角色、实现了MT的解耦、开发中VT有着N:M的关系,一个V可以调用任意T,一个T可以被任意V调用模板处理分为两个过程:-加载HTML-模板渲染(模板语言)模板代码包含两个部分:-静态HTML-动态插入的代码段(模板语法)Jinja2模板
  • 2024-07-0110、 Django-模板-templates
     模板语法#模板中的变量语法:{{var}}如果变量不存在、则插入空字符串#方法不能有参数{{int}}{{str}}{{list}}{{list.0}}{{dict}}{{dict.a}}#dict['a']{{func}}#传递函数{{class_
  • 2024-04-29[2022DASCTF Apr X FATE 防疫挑战赛] warmup-java
    没错,还是java。我就跟java杠上了。分析先看依赖:没有啥特别的。审一下源码:IndexController.java:warmup路由下传参data,下面把十六进制转为字节直接反序列化了。看下动态代理MyInvocationHandler.java:看一下Utils的hexStringToBytes方法: 下面分析来自Java专题-简
  • 2024-04-25如何使用 SFDX CLI 拉取存储在 Public 文件夹的邮件模版(How to retrieve an email template stored in Public Email Templat
    SELECTDeveloperName,FolderName,IsActiveFROMEmailTemplateSELECTDeveloperName,Folder.DeveloperName,IsActiveFROMEmailTemplate使用下面的命令可以正确获取到public文件夹下的邮件模版sfdxforce:source:retrieve-mEmailTemplate:unfiled\$public\/My_te
  • 2024-04-13Veriadic templates
    Veriadictemplates数量不定的模板参数声明方式:#pragmaonce#ifndef__VARIADICT__#define__VARIADICT__​/*为什么需要定义这个空函数,因为传参到最后传入最后一位参数时后面的一组参数已经没有了.就是0所以这个版本就是没有参数的.当最后一个变成0个的时候调用的是空方法*/
  • 2024-04-11IDEA中Live Templates和Postfix Completion的用法
     前言 IDEA中代码生成的方式有两种LiveTemplatesPostfixCompletion这两种方式中,第一种基本每一个IDE都支持,但是支持第二中的很少。LiveTemplates输出模板1、sout,最基本的输出语句,快速生成System.out.println();2、soutp,快速生成参数输出语句。3、soutm,快速生成