php下家族介绍
Created|Updated|web
|Post Views:
1.include特性:不仅是包含文件,会把文件内容当php代码执行
2.eval特性:处理字符串
3.preg_match:处理字符串
Author: 24kmagic
Link: https://blog.24kmagic.site/2026/01/28/ctf/web/php%E4%B8%8B%E5%AE%B6%E6%97%8F%E4%BB%8B%E7%BB%8D/
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles
2026-05-14
[SUCTF 2019]EasyWeb1特详解(无字符数字注入+木马图上床)
[SUCTF 2019]EasyWeb1特详解(无字符数字注入+木马图上床)前期知识点:1.php内置函数:count_chars(string $string, int $mode) 模式 ($mode) 它的逻辑(翻译成人话) 返回值类型 举例:”banana” 0 统计 0~255 所有 ASCII 码出现的次数。 数组 (Array) 一个超长数组,[97]=>3, [98]=>1... 其余没出现的都是 0。 1 只统计出现次数大于 0 的字符。 数组 (Array) [97]=>3, [98]=>1, [110]=>2 (a, b, n 的次数) 2 看看哪些字符你没用过。 数组 (Array) 除了 a, b, n 以外所有字符的数组。 3 把用过的字符去重、排序、拼成字符串。 字符串 (String) "abn" 4 把没用过的字符按顺序拼成字符串。 字符串 (String) " !#...cdef..." (除了 a, b, n 以外的所有字符) 2.解析正则匹配...
2026-03-01
BUUCTF MISC webshell后门 1
webshell后门1题目提示别忘记看,是找pass 文件毕竟是有后门的,我的火绒把他识别了然后删掉了问题文件 别忘记做这道题目之前把火绒给关了 可用d盾软件查杀文件,看看可疑文件里面有没有我们想知道的pass 打开zp.php之后发现pass 12345678/*===================== 程序配置 =====================*///echo encode_pass('angel');exit;//angel = ba8e6c6f35a53933b871480bb9a9545c// 如果需要密码验证,请修改登陆密码,留空为不需要验证$pass = 'ba8e6c6f35a53933b871480bb9a9545c'; //angel
2026-06-02
【BUUCTF】[网鼎杯 2018]Comment题解
【BUUCTF】[网鼎杯 2018]Comment题解知识点:1.修复git源码git reset --hard传入指定的哈希值后,Git 会在底层同时修改三个区域的状态: HEAD 指针⟶暂存区 (Index)⟶工作区 (Working Directory) 底层操作链: 移动指针:将当前分支(master)和 HEAD 指针强行移动到 bfbdf218902476c5c6164beedd8d2fcf593ea23b 这个 Commit 对象上。 重置暂存区 (Index):清空当前的暂存区,将该 Commit 对象中记录的 Tree 对象(目录树快照)内容写入暂存区。 覆盖工作区 (Working Directory):(关键) Git 检查你当前操作系统下的物理磁盘文件夹(即 D:\official\githacker\...),删除不属于该版本的所有文件,并根据 Tree 对象中的 Blob(文件内容)在磁盘中真实解压并还原出所有的 PHP 源码文件。 题目:发帖点击后提示要登陆,密码后缀是666,登录即可 思路:源代码有提示,要去找找原来的git log,开发者做了...
2026-04-22
一分钟速通CVE-2019-13956漏洞复现Discuz!ML远程代码执行
一分钟速通CVE-2019-13956漏洞复现Discuz!ML远程代码执行0x01 漏洞介绍123描述:Crossday Discuz! Board(简称 Discuz!)是北京康盛新创科技有限责任公司推出的一套通用的社区论坛软件系统。Discuz!ML 3.2 到 3.4 允许远程攻击者通过修改过的语言 cookie 执行任意 PHP 代码,如将 4gH4_0df5_language=en 更改为 4gH4_0df5_language=en'.phpinfo().' 所示;(如果使用了随机前缀 4gH4_0df5_)。 漏洞出现在传入cookie的language值时,逻辑是直接将传入的语言拼接成一个缓存文件,然后利用文件包含解析 由于并没有做过滤,我们拥有可控的文件名 0x02 poc抓包,在cookie中原有语言后,加入 1'.phpinfo().' 查看flag即可 0x03 漏洞溯源:下载源码 1https://bitbucket.org/vot/discuz.ml/downloads/ 1.upload\source...
2026-02-04
NewStar CTF 2025 Week1 - Web 我真得控制你了
NewStar CTF 2025 Week1 - Web 我真得控制你了就算禁用我们还是可以打开看码的 火狐: 右上角三个横线->更多工具->web开发者工具 那么就算我们禁用了js,也同时禁用了按钮,所以不如直接绕过: 因为看到了 1234<form id="nextLevelForm" method="POST" action="next-level.php"> <input type="hidden" name="access" value="1"> <input type="hidden" name="csrf_token" value="c79b33582967a0c72527f8d08071e37802377527cd050bebf60bc4d5ccb2426d"> </form...
2026-03-07
快速入门字符串逃逸——序列化和反序列化(未完待续)
快速入门字符串逃逸——序列化和反序列化(未完待续)大家经常会在代码审议的时候看到unserialize() 或许有些人会跟我一样没有仔细深入的了解它,只是会运用它而已。 那么为了我们以后的学习和记忆我们还是得要认识一下这个老客户的。 第一篇unserialize()1.读取规则——php是怎么读取它的内容的?例子:把php想象成扫描仪 a:1:{s:4:"name";s:3:"cat";} 看到 a:1:扫描仪进入“数组模式”,它心里记下:“我要找 1 对键值对”。 看到 {:开始读数组内部。 看到 s:4:进入“字符串读取模式”。重点来了: 看到数字 4 后,它会找引号 "。 从引号后的第一个字符开始,它往后数 4 个字节。 数完 4 个后:它睁开眼,必须看到一个收尾的引号 "。如果没看到,直接报错;如果看到了,这个字符串读取成功。 看到 ;:表示这个字段结束,准备读下一个。 衍生知识点1.那我们这里就可以涉及一个知识点——反序列化逃逸1s:N....... 若遇到 字符串替换 ,那么我们的php会怎么...
Comments
Announcement
欢迎来到我的博客!