深入浅出sql注入
0x01sql注入前置讲这个知识之前我们得先问自己几个问题 什么是数据库?简单来说,数据库就是“数据”的“仓库”。数据库是一个组织化的数据集合,用于存储、管理和检索信息。它为存储数据提供了一种格式化的方式,并允许用户和应用程序有效地查询、更新和管理这些数据。数据库中包含表、关系以及操作对象,数据存储在表中。 什么是sql?SQL是结构化查询语言,是一种用于与关系数据库进行交互的标准编程语言。它用于定义、操作和控制数据,以及管理数据库。SQL 是一种高度通用的语言,几乎所有的数据库管理系统(RDBMS)都支持SQL,包括MySQL、PostgreSQL、Microsoft SQL Server 和 Oracle 等。 sql里有四大最常见的操作,即增删查改: 增。增加数据。其简单结构为: INSERT table_name(columns_name) VALUES(new_values)。 删。删除数据。其简单结构为: DELETE table_name WHERE condition。 查。查找数据。其简单结构为:SELECT columns_name FROM...
应急响应日志分析汇总(持续更新)
0x01前言应急响应的话我认为是每一个学信安的人需要去学习的,所以我也是对此进行了响应的学习和积累,希望在以后发生真实的事件时能第一时间进行良好的反馈 借鉴师傅的文章:(这里的话还是有点多的,毕竟这个话题的分区还是蛮多的) https://bypass007.github.io/Emergency-Response-Notes/Summary/%E7%AC%AC1%E7%AF%87%EF%BC%9AWindow%E5%85%A5%E4%BE%B5%E6%8E%92%E6%9F%A5.html windows入侵排查:https://www.freebuf.com/articles/network/286270.html windows分析事件日志:https://zone.huoxian.cn/d/868-windows 常见Windows事件ID状态码:https://www.cnblogs.com/chddt/p/13262385.html 0x02应急响应在学习应急响应之前,我们首先要先了解什么是应急响应 什么是应急响应?应急响应(Incident Response...
对于RCE和文件包含的一点总结
什么是RCERCE漏洞,即远程代码漏洞和远程命令执行漏洞,这种漏洞允许攻击者在后台服务器上远程注入操作系统命令或代码,从而控制后台系统。 在很多Web应用中,开发人员会使用一些特殊函数,这些函数以一些字符串作为输入,功能是将输入的字符串当作代码或者命令来进行执行。当用户可以控制这些函数的输入时(当应用程序未正确验证、过滤或限制用户输入时),就产生了RCE漏洞。 1.分类(远程代码和远程命令)1.命令执行漏洞:直接调用操作系统命令。例如,当Web应用在调用一些能将字符串转化成代码的函数时,如果未对用户输入进行合适的处理,可能造成命令执行漏洞。 2.代码执行漏洞:靠执行脚本代码调用操作系统命令。例如,PHP中的system()、exec()和passthru()函数,如果未对用户输入进行过滤或过滤不严,可能导致代码执行漏洞。 额外的: 3.系统的漏洞造成命令注入:例如bash破壳漏洞(CVE-2014-6271)是一个远程命令执行(RCE)漏洞。这个漏洞存在于Bash...
XYCTF2024复现
ezMake扫了一下目录发现有flag文件,下载下来就是flag,不过好像这不是预期解 传入一个1之后有回显 分析一下内容 这里PATH变量被设置为空,这段 Makefile 的逻辑检查了 PATH 是否未定义,如果未定义则设为空,如果已定义也重设为空。因为**make 命令本身也依赖 PATH 查找**,当PATH被设置为空之后, 但是测试之后发现Bash内置命令是可以执行的 12345ubuntu@VM-16-12-ubuntu:/$ PATH=ubuntu@VM-16-12-ubuntu:/$ echo "1"1ubuntu@VM-16-12-ubuntu:/$ pwd/ 尝试用echo写木马但是遇到waf了 1echo "<?php eval($_POST['cmd']); ?>" > 1.php 用base64和hex绕过也不行 1echo "PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTsgPz4=" | base64 -d >...
关于PHP的一些小技巧
...
java从0到1的学习
基础知识先讲讲Java语言的几个重要特性 Java语言是面向对象的语言(oop) Java语言是健壮的,Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。 Java语言是跨平台型的语言 Java语言是强类型的语言 Java语言是解释型语言 解释型语言:javascript,PHP,java 编译性语言:C/C++ 什么是解释性语言?就是编译后的代码不能直接被机器执行的,需要解释器去执行 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。 程序员的第一个程序必然就是hello world了,那我们先拿这个代码来分析一下 12345678public class HelloWorld { /* 我的第一个Java程序 * 它将输出字符串 Hello World */ public static void main(String[] args) { System.out.println("Hello World");...
关于java反序列化的学习
0x01前言因为前面学习了java的一些基础知识,java反序列化也算是搁置了很久的知识点,所以就来学习一下关于这个java反序列化的知识点 参考文章和视频: JAVA反序列化漏洞总结-青叶 java序列化与反序列化全讲解 Java反序列化漏洞专题-基础篇(21/09/05更新类加载部分) 0x02正文什么是java反序列化Java 序列化是指把 Java 对象转换为字节序列的过程便于保存在内存或文件中,实现跨平台通讯和持久化存储,而反序列化则指把字节序列恢复为 Java 对象的过程。(这个的话在之前学ctfshow里头的反序列化篇也有详细的介绍过) 为什么需要序列化我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括文本、图片、音频、视频等,...
关于SSTI的积累
...
关于phar反序列化的学习
0x01前言因为做到了GXYCTF一道题的考点是phar反序列化,所以就来专门学习一下关于这个phar反序列化的知识点 0x02正题PHP反序列化常见的是使用unserilize()进行反序列化,除此之外还有其它的反序列化方法,不需要用到unserilize()。就是用到了本文的主要内容——phar反序列化,用这种方法可以在不使用unserialize()函数的情况下触发PHP反序列化漏洞。漏洞触发是利用Phar:// 伪协议读取phar文件时,会反序列化meta-data储存的信息。然后我去翻阅了大量大佬的文章进行学习,最后做成自己的笔记去方便自己以后随时可以看 什么是phar?Phar(PHP归档)是将php文件打包而成的一种压缩文档,类似于Java中的jar包。这个特性使得 PHP也可以像 Java 一样方便地实现应用程序打包和组件化。一个应用程序可以打成一个 Phar 包,直接放到 PHP-FPM 中运行。 ...