玄机第一章应急响应(二刷已完)
0x01前言在刷ctfshow的空闲时间里做一些玄机的安全日志和应急响应方面的题目,也算是更偏向于实践中的一些防守措施吧,不过第一章都是借鉴着师傅的wp进行实践学习的 玄机——第一章 应急响应-Linux日志分析 wp_玄机linux日志分析-CSDN博客 玄机——第一章 应急响应- Linux入侵排查 wp_玄机应急-CSDN博客 玄机——第一章 应急响应-webshell查杀 wp(手把手保姆级教学)-CSDN博客 0x02正文第一章 应急响应-Linux日志分析什么是Linux日志分析Linux日志分析是指对Linux系统中生成的日志文件进行检查、监控和分析的过程。在Linux系统中,各种服务和应用程序会产生日志文件,记录系统运行状态、用户操作、系统错误、安全事件等信息。分析这些日志可以帮助系统管理员理解系统的运行状况,诊断问题,并确保系统的安全和稳定运行。日志分析可以手动进行,也可以使用各种日志分析工具来自动化这一过程。常见的日志文件包括系统日志(/var/log/syslog 或...
陇剑杯2021wp
[陇剑杯 2021]签到问题:此时正在进行的可能是______协议的网络攻击。(如有字母请全部使用小写,填写样例:http、dns、ftp)。得到的flag请使用NSSCTF{}格式提交。 解题: 用wireshark打开附件,因为是需要找什么协议的攻击,答案其实就那么几个,我们可以直接去协议统计那里看一下 查看通过协议分类的包,比起翻海量的包一个个看,统计结果更为明了 协议分级统计表Wireshark 的 协议分级统计表(Protocol Hierarchy Statistics)是通过 协议栈分层解析 生成的,其分级逻辑遵循网络通信的 OSI 模型 或 TCP/IP 协议栈,从底层到上层逐层拆解数据包。 协议分级的核心逻辑(1) 分层依据Wireshark 会按以下顺序解析每个数据包,并统计各层协议的占比: 123451. **物理层**(如 Ethernet、Wi-Fi) 2. **网络层**(如 IPv4/IPv6) 3. **传输层**(如 TCP/UDP) 4. **应用层**(如 HTTP/DNS/SMB) 5. **载荷数据**(如...
ctfshow新春欢乐赛(已做完)
热身 这个确实是热身,一开始以为直接找flag就行,但是没找到,后面查看了一下phpinfo找到了一个路径 auto_prepend_file 是 PHP 的一个配置选项,用于指定在每个 PHP 脚本执行之前自动包含的文件。 这个文件路径看着比较可疑,所以我去读取了一下,果然是有flag的 web1 #死亡exit()绕过意思就是我们无论写入什么都会因为插入一句exit()去强制结束运行 需要绕过exit()的地方一般都是file_put_contents 主要思路:利用php伪协议的写过滤器,对即将要写的内容(content)进行处理后,会将<?php exit();处理成php无法解析的内容,而我们的content则会被处理成正常的payload。 大致有如下三种 123file_put_contents($filename,"<?php exit();".$content);file_put_contents($content,"<?php...
TGCTF2025
AAA偷渡阴平#请求头无参数RCE1234567891011121314<?php$tgctf2025=$_GET['tgctf2025'];if(!preg_match("/0|1|[3-9]|\~|\`|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\=|\+|\{|\[|\]|\}|\:|\'|\"|\,|\<|\.|\>|\/|\?|\\\\/i", $tgctf2025)){ //hint:你可以对着键盘一个一个看,然后在没过滤的符号上用记号笔画一下(bushi eval($tgctf2025);}else{ ...
对于RCE和文件包含的一点总结
什么是RCERCE漏洞,即远程代码漏洞和远程命令执行漏洞,这种漏洞允许攻击者在后台服务器上远程注入操作系统命令或代码,从而控制后台系统。 在很多Web应用中,开发人员会使用一些特殊函数,这些函数以一些字符串作为输入,功能是将输入的字符串当作代码或者命令来进行执行。当用户可以控制这些函数的输入时(当应用程序未正确验证、过滤或限制用户输入时),就产生了RCE漏洞。 1.分类(远程代码和远程命令)1.命令执行漏洞:直接调用操作系统命令。例如,当Web应用在调用一些能将字符串转化成代码的函数时,如果未对用户输入进行合适的处理,可能造成命令执行漏洞。 2.代码执行漏洞:靠执行脚本代码调用操作系统命令。例如,PHP中的system()、exec()和passthru()函数,如果未对用户输入进行过滤或过滤不严,可能导致代码执行漏洞。 额外的: 3.系统的漏洞造成命令注入:例如bash破壳漏洞(CVE-2014-6271)是一个远程命令执行(RCE)漏洞。这个漏洞存在于Bash...
Vite任意文件读取漏洞
参考文章:Vite开发服务器任意文件读取漏洞(CVE-2025-30208) 搜索语句12Fofa:body="/@vite/client"Hunter:web.body="/@vite/client" CVE-2025-302080x01漏洞描述Vite 是一款现代化的前端开发构建工具,它提供了快速的开发服务器和高效的构建能力,广泛应用于 Vue.js 项目的开发过程中。 漏洞原理 由于 Vite 开发服务器在处理特定 URL 请求时,没有对请求的路径进行严格的安全检查和限制,导致攻击者可以绕过保护机制,非法访问项目根目录外的敏感文件。攻击者只需在浏览器输入一个 URL,就可能会造成源码、SSH密钥、数据库账号、用户数据等目标机器上的任意文件信息泄露。 漏洞影响版本 目前受影响的NextJS版本:6.2.0 <= Vite <= 6.2.2 6.1.0 <= Vite <= 6.1.1 6.0.0 <= Vite <=...
PHP反序列化
PHP反序列化知识点: 序列化(Serialization)是将数据结构或对象转换成一种可存储或可传输格式的过程。在序列化后,数据可以被写入文件、发送到网络或存储在数据库中,以便在需要时可以再次还原成原始的数据结构或对象。序列化的过程通常涉及将数据转换成字节流或类似的格式,使其能够在不同平台和编程语言之间进行传输和交换。 反序列化(Deserialization)是序列化的逆过程,即将序列化后的数据重新还原成原始的数据结构或对象。反序列化是从文件、网络数据或数据库中读取序列化的数据,并将其转换回原始形式,以便在程序中进行使用和操作。 反序列化的过程中,unserialize()接收的值(字符串)可控通过更改这个值,得到所需要的代码通过调用方法,触发代码执行魔术方法在特定条件下自动调用相关方法,最终导致触发代码。 序列化存储格式php序列化的存储格式是json,我们来理解一下这个字符串的格式 首先利用serialize生成一个字符串 1234567891011<?phpclass me{ public $name="meng"; public...
商丘CTF
WEBeeaassyy考的是查看源码的手段,f12和右键和ctrl+u用不了,可以直接把js禁用了或者在设置里点开发者工具 逃12345678910111213141516171819202122<?phphighlight_file(__FILE__);include ("flag.php");function filter($payload){ $black_list=array("flag","php"); return str_replace($black_list,"stop",$payload);}class test{ var $user = 'test'; var $pswd = 'sunshine'; function __construct($user){ $this->user=$user; ...
XYCTF2025(Web)
Webfate#json反序列化+sqlite注入 附件有源码 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#!/usr/bin/env python3import flaskimport sqlite3import requestsimport stringimport jsonapp = flask.Flask(__name__)blacklist = string.ascii_letters#定义了黑名单变量 blacklist,包含所有的 ASCII 字母(A-Z, a-z)。def binary_to_string(binary_string):#将二进制字符串(8-bit格式)转换为普通字符串 if len(binary_string) % 8 != 0: raise...
ctfshow大吉大利杯(已做完)
veryphp#变量解析+正则匹配规则1234567891011121314151617181920212223242526272829303132333435<?phperror_reporting(0);highlight_file(__FILE__);include("config.php");class qwq{ function __wakeup(){ die("Access Denied!"); } static function oao(){ show_source("config.php"); }}$str =...