自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

D.MIND 的博客

Life is too short to be ordinary

  • 博客(112)
  • 收藏
  • 关注

原创 Java学习【动态代理】

静态代理静态代理在使用时,需要定义接口或者父类,被代理对象与代理对象一起实现相同的接口或者是继承相同的父类静态代理的局限性:只能代理某一类型接口的实例,不能做到任意接口任意方法的操作,同时如果需要代理多个类的时候,每个委托类都要编写一个代理类,会导致代理类繁多,不好管理。。案例:1、定义一个接口,所有需要委托(被代理)类都实现该接口//Mapper.javapackage Proxy.StaticProxy;public interface Mapper { public void.

2021-09-07 16:37:31 257 1

原创 Java学习【类加载器ClassLoader】

跟着大佬们的文章学习,这次再深入学习一下类加载器文章目录一、简介:二、类文件的编译过程三、类加载器引导类加载器(BootstrapClassLoader)扩展类加载器(ExtensionsClassLoader)应用类加载器/系统类加载器(AppClassLoader)自定义类加载器(UserDefineClassLoader)四、双亲委派机制五、双亲委派机制的好处六、CLassLoader类核心方法6.1:`loadClass(String)`——加载指定的Java类6.2:`findClass(Str

2021-09-02 23:42:09 678 3

原创 Java学习【反射】

文章目录反射反射机制有什么用?相关的类在哪些包中?反射机制相关的重要的类?Class类的理解类加载过程的理解获取Class的四种方法通过读属性文件实例化对象`Class.Name("")`获取绝对路径以流的形式直接返回ResourceBundle资源绑定器类加载器(ClassLoader)双亲委派机制获取Field(属性)获取Field案例反编译获取Field反射机制访问对象属性可变长度参数获取Method(方法)反编译获取Method反射机制调用方法反编译获取Constructor调用 无参/有参构造方法

2021-08-31 11:30:40 761

原创 CTFshow——XXE

web373<?phperror_reporting(0);libxml_disable_entity_loader(false);$xmlfile = file_get_contents('php://input');if(isset($xmlfile)){ $dom = new DOMDocument(); $dom->loadXML($xmlfile, LIBXML_NOENT | LIBXML_DTDLOAD); $creds = simplexml_i

2021-08-23 00:46:43 904 2

原创 bestphp‘s revenge

SoapClient 类进行 SSRFPHP 的内置类 SoapClient 是一个专门用来访问web服务的类,可以提供一个基于SOAP协议访问Web服务的 PHP 客户端。内置类SoapClient 类有个__call方法,该方法能够发送 HTTP 和 HTTPS 请求。因此SoapClient 类可应用于SSRF中__call方法:public SoapClient::__call(string $name, array $args): mixed第一个参数是用来指明是否是wsdl模式,将

2021-08-20 18:44:24 486

原创 百家CMS v4.1.4代码审计

中午在先知上看到篇百家cms的代码审计,不是很难,适合我这种菜????参考:https://xz.aliyun.com/t/9955#toc-0源码下载:https://gitee.com/openbaijia/baijiacms.git文章目录任意目录删除利用远程文件上传利用命令执行利用总结任意目录删除漏洞点位于:includes/baijiacms/common.inc.php首先关注的是unlink函数,他会删除文件,只要$path不是目录就会进入改分支。但如果你是目录呢,会对目录中非.

2021-08-19 18:41:56 1068

原创 CTFshow——其他

396——parse_url()需要加上绝对路径/?url=http://ls;echo `ls`/var/www/html/2.txt/?url=http://ls;echo `cat f*`/var/www/html/3.txt397——parse_url()使用../迁移目录/?url=http://;echo `cat f*`/../var/www/html/1.txt398~401通杀了…?url=http://`cat f*`/../var/www/html/7.txt

2021-08-17 17:49:29 1978 1

原创 CTFshow吃瓜杯的两道web

http://0e53fed8-692c-4850-84e4-fad73918286c.challenge.ctf.show:8080/?looklook=1&0=highlight_file&1=../../../../../../flag.txtctf_show=C%3B%24_%3DC%3B%2B%2B%24_%3B%24C%3D%2B%2B%24_%3B%2B%2B%24_%3B%24__%3D%2B%2B%24_%3B%24_%3D(C%2FC.C)%5B0%5D%3B%2B

2021-08-17 00:57:25 1049

原创 CTFshow——黑盒测试

文章目录380381382、383384385386387388389390391、392393394、395380扫描一个目录,发现page.php,打开发现提示缺少id参数,且id参数控制php文件的打开,直接/page.php?id=flag即可381在首页源码中有可疑的路径,一层层打开看就发现flag了382、383两题依旧是访问后台:/alsckdfy/,弹出一个登陆界面,在账号处有SQL注入,admin'||1#即可登入最后还是弱密码爆破一下,账密是admin:admin888

2021-08-14 11:58:47 668

原创 CTFshow——组件漏洞

文章目录580——Bash远程代码执行漏洞“破壳”(CVE-2014-6271)581——yaml_parse()582——nodejs反序列化583——phpmailer组件584——Spring组件(CVE-2017-8046)585——Apache Tomcat(CVE-2017-12615)586——WordPress插件587——weblogic XMLDecoder反序列化(CVE-2017-10271)588——weblogic 任意文件上传(CVE-2018-2894)589——Active

2021-08-13 16:35:27 1663

原创 Code-Breaking Puzzles 2018

翻翻P神2018年整的代码题来做做…文章目录function——`create_funciton()`的代码执行pcrewaf——PCRE正则匹配回溯phpmagicphplimit——无参数文件读取nodechrfunction——create_funciton()的代码执行<?php$action = $_GET['action'] ?? '';$arg = $_GET['arg'] ?? '';if(preg_match('/^[a-z0-9_]*$/isD', $action))

2021-08-04 18:53:32 487 1

原创 DASCTF七月赛

前言:复线两到WEB题,七月赛WEB感觉就是考了许多最新漏洞,也暴露出自己平时积累漏洞库的不足,搜索能力还是不够强,555文章目录前言:齐博php企业建站系统 v1.0——后台RCEBeescms——后台登陆SQL注入齐博php企业建站系统 v1.0——后台RCE漏洞点在application/admin/controller/Upgrade.php,这里有个写文件的函数,写其中的文件内容嵌入了变量,这还写的是一个PHP文件,关键还没有对这个变量进行过滤…这部分代码属于writelog方法,该方

2021-08-03 17:57:25 769

原创 CTF中的Bypass命令执行

linux命令敏感字符绕过反斜杠:ca\t 1.txt连接符——单引号:ca''t 1.txt变量拼接字符:a=ca;b=t;$a$b 1.txtbase64编码绕过:`echo 'Y2F0Cg==' | base64 -d` 1.txt命令提示符$:ca$@t 1.txt //$@ 是传给脚本的所有参数的列表ca$9t 1.txt //$9 是传递给该shell脚本的第九个参数...

2021-08-03 00:26:51 3265

原创 KKCMS——新手级代码审计

前言:做个简单的审计练练手,真的好久没审计了…KKCMS真的很适合新手入门审计,所以我就来审了,233文章目录前言:kindeditor编辑器 <= 4.1.5文件上传漏洞利用一:构造恶意代码利用二:信息泄露前台SQL注入——stripslashes函数的不当使用前台SQL注入——未过滤后台SQL注入——未过滤后台反射型XSS——未过滤前台反射型XSS后台存储型XSS前台存储型XSS后记kindeditor编辑器 <= 4.1.5文件上传漏洞目录中能注意到kindeditor.js,在k

2021-07-30 18:35:31 1101 1

原创 Java学习【Day 11】

foreachpackage Demo;import java.util.ArrayList;import java.util.List;public class Test_Foreach { public static void main(String[] args) { List<String> mylist = new ArrayList<>(); mylist.add("字符串"); mylist.add("

2021-06-30 18:57:32 257 1

原创 Java学习【Day 10】

文章目录流的分类:FileInputStream的常用方法FileOutputStream类copy文件FileReader类FileWiter类Copy普通文本文件BufferedReader类字节流(Stream) 转 字符流(Reader/Writer)BufferedWriter类File流的分类:输入流、输出流字节流、字符流java.io.InputStream 字节输入流java.io.OutputStream 字节输出流java.io.Reader 字符输入流java.i

2021-06-20 23:37:24 344 1

原创 Java学习【Day 9】

文章目录生成随机数生成不重复的随机数并放入数组枚举异常异常对象的常用方法生成随机数导包:import java.util.Random;Random random = new Random(); //创建一个随机数对象int i = random.nextInt(101); //0~100的随机数,取不到101System.out.println(i);生成不重复的随机数并放入数组package Demo;import java.util.Arrays;import java.util

2021-06-19 00:09:03 122

原创 Java学习【Day 8】

文章目录包装类包装类中的装箱与拆箱Integer类的构造方法Double类的构造方法将字符型转为其他类型自动装箱与自动拆箱int 、String、Integer 之间的类型转化打印日期耗时包装类基本数据类型 包装类byte java.lang.Byte(父类Number)short java.lang.Short(父类Number)int java,lang.Integer(父类Number)long java.lang.Long(父类Number)float

2021-06-17 01:31:14 301

原创 Java学习【Day 7】

文章目录Arrays工具类String字符串的存储String类的构造方法String类的部分方法StringBufferStringBuilderArrays工具类import java.util.Arrays; 导入类Arrays.sort() 进行排序binarySearch​(int[] a, int key) 进行二分法查找值package Demo;import java.util.Arrays; //调用Arrayspublic class Test_UseSort {

2021-06-15 23:40:07 241 3

原创 Java学习【Day 6】

import导入、Scanner类使用的两个类不在同一包下,则需要import导入lang目录下的子类(子文件夹不算)都不需要导入比如System类和String类import java.util.Scanner; //导入Scanner类public class KeyInput { public static void main(String[] args){ //Scanner s = new Scanner(System.in);//等待输入 ja

2021-06-14 23:50:34 1428 1

原创 CTFshow——thinkphp专题

570——闭包路由关注这段代码:这是闭包路由的用法,官方:手册闭包支持我们用phpinfo()函数测试一下:是可以的/index.php/ctfshow/phpinfo/1注意因为eval是一个语言结构而不是函数,所以这里是不能被call_user_func调用的,而assert是一个函数。因此我想到了assert(system("ls"));,但在尝试ls /时却不行了,很迷。然后我想着参数转移一下。然后下意识构造出这样:/index.php/ctfshow/assert/$_POST[1

2021-06-12 17:15:15 1801 2

原创 ThinkPHP3.2.3 反序列化漏洞复现

ThinkPHP/Library/Think/Image/Driver/Imagick.class.php:__destruct()public function __destruct() { empty($this->img) || $this->img->destroy();}ThinkPHP/Library/Think/Session/Driver/Memcache.class.phpdestroy()public function destroy($sessI

2021-06-08 19:43:01 1382 2

原创 ThinkPHP3.2.3代码审计【find方法引起的SQL注入】

前言复习好无聊,就去刷刷CTFshow的题目,刷到一个TP3.2.3的SQL注入,之前没分析过,就简要分析一下,也有利于我这菜鸡学习一下文章目录前言简介环境搭建分析payload修复简介不只是find方法,由于select(),find(),delete()方法可能会传入数组类型数据,导致可能的SQL注入隐患。环境搭建上官网下载3.2.3完整版http://www.thinkphp.cn/donate/download/id/610.html\Application\Home\Controll

2021-05-31 23:07:06 866 2

原创 Java学习【Day 5】

要突击两场考试了,暂且抽时间学一下Java吧文章目录Super关键字IDEA 快捷键final关键字final修饰的实例变量:常量抽象类接口(interface)Super关键字“代表当前对象的父类特征”。表示通过子类的构造方法调用父类的构造方法 。模拟现实世界的:要想有儿子,需要先有父亲语法:1. super.2. super()当一个构造方法中的第一行:既没有this()又没有super(),默认会有一个super()this()和super()是不能并存的,两者都只能出现在 构造

2021-05-30 00:50:49 353

原创 Java学习【Day 4】

this()通过当前的构造方法去调用本类的另一个构造方法。可以做到代码复用。this(实际参数列表);且这样的写法只能作为构造方法的第一个语句public class Test_this { public int year; public int month; public int day; //无参构造方法 public Test_this(){ this(2021,5,27); //调用了有参构造方法 } //有参构

2021-05-27 23:35:31 158 1

原创 Java学习【Day 3】

今天学的少了点…文章目录构造器 *Constructor*(构造方法)封装StaticStatic静态代码块实例语句块代码执行顺序构造器 Constructor(构造方法)[修饰符列表] 构造方法名 (形参){ 构造方法体; 通常在构造方法体中给属性赋值,完成属性的初始化}构造方法的两个特点:必须和类名相同必须没有返回值,也不能写void。写上void就表示普通方法,而不是构造方法当一个类没有提供任何构造方法,系统会默认提供一个无参数的构造方法。(这个构造方法被称为缺省构造器)构

2021-05-26 23:44:56 100 2

原创 Java学习【Day 2】

文章目录关系运算符逻辑运算符ifswitchforwhiledo..whilebreak方法缺少返回语句JAM中三块主要的内存方法重载类类的属性对象成员变量关系运算符>>=<<===!=逻辑运算符& 逻辑与| 逻辑或! 逻辑非&& 短路与|| 短路或逻辑运算符两边要求都是布尔类型,并且最终的运算结果也是布尔类型System.out.println(100 & true); //错误!System.out.pr

2021-05-25 23:48:14 104 3

原创 Java学习【Day 1】

前言终究绕不过Java的学习…老老实实来学了,为以后打基础吧~参照视频:Java零基础视频教程(适合Java基础,Java入门)老杜Java13版文章目录前言注释一个简单例子标识符变量的分类数据类型自动类型转换JVM(JAVA虚拟机)的存在使得 JAVA “一处编译,处处运行”编译阶段:我们的源代码需要经过编译后生成xx.class文件,它是字节码文件,供JVM识别。运行阶段:在JVM中运行,运行的是.class文件,也就是字节码文件一个java源文件可以编译生成多个class

2021-05-24 23:51:24 271 5

原创 CTFshow——中期测评

前言一个网站给群主大大搞了那么多题,????。不过做到后面根本做不动,我太菜了,爬了爬了,等晚一点再爬回来看看师傅们怎么解的。文章目录前言486——目录穿越487——SQL488——489——490——491——492——493——494、495——496——bool盲注497——SSRF498——SSRF、redis499——500——501——502——503——文件上传+Phar反序列化504——(┭┮﹏┭┮)505——506——507——data://伪协议508——509——510——sess

2021-05-23 00:53:43 1969 3

原创 [蓝帽杯 2021]One Pointer PHP【溢出+FPM】

文章目录整型溢出`chdir()`、 `ini_set()`绕过open_basedir读取nginx配置文件方法一方法二:整型溢出利用64位系统的整型最大值溢出,这里令count=9223372036854775806,当再加2时就会提示溢出警告,从而绕过。<?phpclass User{ public $count=9223372036854775806;}echo urlencode(serialize(new User()));?>//O%3A4%3A%22User%

2021-05-20 18:57:20 924 4

原创 [JMCTF 2021]UploadHub

主要看apache2.conf配置文件:<Directory ~ "/var/www/html/upload/[a-f0-9]{32}/"> php_flag engine off</Directory>php_flag engine off是会使整个目录不解析php的,所以上传php文件是行不通的这题主要在配置上给我们限制了很多,而.htaccess就是可以修改配置的一个文件,恰好此题是可以上传.htaccess的(此题似乎并不做上传限制)方法一.ht

2021-05-19 23:31:23 2045

原创 CTFshow——Node.js

require()用于引入模块、 JSON、或本地文件// 引入本地模块:const myLocalModule = require('./path/myLocalModule');// 引入 JSON 文件:const jsonData = require('./path/filename.json');// 引入 node_modules 模块或 Node.js 内置模块:const crypto = require('crypto');334user.js中有登录的账号密码,但

2021-05-19 20:15:38 917 1

原创 ThinkPHP5代码审计【RCE】

composer create-project --prefer-dist topthink/think=5.0.23 thinkphp_5.0.23

2021-05-14 19:44:36 1264 10

原创 SSRF【CTFHUB】

file协议: 在有回显的情况下,利用 file 协议可以读取任意文件的内容http/s协议:探测内网主机存活dict协议:泄露安装软件版本信息,查看端口,操作内网redis服务等gopher协议:gopher支持发出GET、POST请求。可以先截获get请求包和post请求包,再构造成符合gopher协议的请求。gopher协议是ssrf利用中一个最强大的协议(俗称万能协议)。可用于反弹shell内网访问http://127.0.0.1/flag.php http://0.0.0.0/fl.

2021-05-14 09:56:20 776

原创 ThinkPHP5代码审计【未开启强制路由导致RCE】

文章目录简介环境搭建分析payload修复简介本次漏洞存在于 ThinkPHP 底层没有对控制器名进行很好的合法性校验,导致在未开启强制路由的情况下,用户可以调用任意类的任意方法,最终导致 远程代码执行漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP5<=5.0.23 、5.1.0<=ThinkPHP<=5.1.30环境搭建以5.1.29作为演示:composer create-project --prefer-dist topthink/think=5.1

2021-05-13 09:45:07 1909 3

原创 Bypass disable_function【CTFHUB】

LD_PRELOAD是Linux下的环境变量它的本意是,允许程序优先加载指定的动态库。这样能够选择不同的动态库中的相同的函数或者变量。 使用场景是:当使用别人提供的动态库,发现其中某些函数实现不合理。但不能要求别人为你修改源代码并重新生成动态库。在这种情况下,使用LD_PRELOAD可以使用自定义的代码替换别人动态库中的部分代码。利用环境变量 LD_PRELOAD 劫持系统函数,让外部程序加载恶意 *.so,达到执行系统命令的效果。利用条件:1. 能够上传自己的.so文件2. 能够控制环境变量

2021-05-12 13:59:01 1485 7

原创 ThinkPHP5代码审计【缓存文件引起的命令执行】

文章目录简介环境搭建payload分析修复简介本次漏洞存在于 ThinkPHP 的缓存类中。该类会将缓存数据通过序列化的方式,直接存储在 .php 文件中,攻击者通过精心构造的 payload ,即可将 webshell 写入缓存文件。缓存文件的名字和目录均可预测出来,一旦缓存目录可访问或结合任意文件包含漏洞,即可触发 远程代码执行漏洞 。漏洞影响版本: 5.0.0<=ThinkPHP5<=5.0.10 。环境搭建composer create-project --prefer-di

2021-05-11 17:14:17 406 2

原创 ThinkPHP5代码审计【变量覆盖引起的文件包含】

文章目录简介环境搭建分析修复简介本次漏洞存在于 ThinkPHP 模板引擎中,在加载模版解析变量时存在变量覆盖问题,而且程序没有对数据进行很好的过滤,最终导致 文件包含漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP5<=5.0.18 、5.1.0<=ThinkPHP<=5.1.10。环境搭建composer create-project --prefer-dist topthink/think=5.0.18 thinkphp_5.0.18修改json文件

2021-05-10 13:07:18 283 1

原创 ThinkPHP5代码审计【聚合函数引起的SQL注入】

文章目录简介环境搭建分析payload修复简介Mysql 聚合函数相关方法均存在注入本次漏洞存在于所有 Mysql 聚合函数相关方法。由于程序没有对数据进行很好的过滤,直接将数据拼接进 SQL 语句,最终导致 SQL注入漏洞 的产生。漏洞影响版本: 5.0.0<=ThinkPHP<=5.0.21 、 5.1.3<=ThinkPHP5<=5.1.25 。Payload IN :5.0.0~5.0.21 、 5.1.3~5.1.10id)%2bupdatexml(1,co

2021-05-09 18:55:58 346 2

原创 ThinkPHP5.1.22代码审计【SQL注入】

文章目录简介环境搭建分析1分析2payload修复简介由于Builder类中的parseOrder方法没有对$key值做严格过滤导致在Mysql类中的parseKey方法处实现恶意拼接,最终导致 SQL注入漏洞 的产生(orderby方法注入)漏洞影响版本: 5.1.16<=ThinkPHP5<=5.1.22 。环境搭建composer create-project --prefer-dist topthink/think=5.1.22 thinkphp_5.1.22依旧是下载好后

2021-05-08 21:13:08 302 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除