自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(130)
  • 收藏
  • 关注

原创 [ctfshow web入门]web98 学习PHP的引用

摘要:分析PHP代码逻辑,发现通过GET和POST参数传递可以触发flag显示。当GET存在值时,$_GET会引用$_POST,此时POST传入HTTP_FLAG=flag即可满足条件显示flag。解题方法:发送GET请求(如?a=b)和POST数据(HTTP_FLAG=flag)即可获取flag。

2025-07-15 12:17:54 154

原创 [ctfshow web入门] web97 数组绕过

摘要 该PHP代码存在MD5数组处理漏洞,当传入数组参数时,MD5函数会返回FALSE并产生警告。通过构造两个不同的数组参数(如a[]=a和b[]=b),可使MD5($_POST['a'])和MD5($_POST['b'])都返回FALSE,从而满足条件判断,获取flag。这种利用方式展示了PHP弱类型比较的缺陷,无需计算真实MD5值即可绕过验证。

2025-07-15 11:33:46 199

原创 [ctfshow web入门] web96 简单绕过`==`

本题考察PHP文件包含漏洞绕过技巧。代码中通过GET参数u读取文件内容,但阻止直接访问flag.php。解决方法是在文件名前添加路径前缀"./flag.php",使字符串比较不匹配,从而绕过限制成功读取flag文件内容。

2025-07-15 10:43:27 205

原创 [ctfshow web入门] web95 `==`特性与intval特性

解题摘要 这道PHP代码审计题需要绕过多个数字验证条件: 不能等于4476(但需最终intval转换后等于4476) 不能包含字母或小数点 必须包含数字0 intval转换后必须严格等于4476 成功解法: 使用八进制前缀010574(4476的八进制表示) 添加正号规避对第一个0的检测(如+010574) 也可用换行符(%0a)或空格(%20)代替正号 最终payload:?num=+010574

2025-07-04 11:02:12 170

原创 [ctfshow web入门] web94 `==`特性与intval特性

PHP代码审计与绕过技巧 摘要:这段PHP代码要求用户输入一个数字参数num,通过多重验证后输出flag。关键验证点包括:不能直接等于"4476"、不能包含字母、必须包含数字0、且经intval转换后等于4476。可通过在数字中插入符号(如4476?0)、使用小数(4476.0)或八进制(+010574)等方式绕过验证。这些方法利用了strpos函数的特性和intval的类型转换规则,最终满足所有条件获取flag。

2025-07-04 10:46:53 282

原创 [ctfshow web入门] web93 `==`特性与intval特性

题目要求绕过数字过滤获取flag。通过分析代码,发现当输入num值为4476的八进制形式010574时,可以满足intval($num,0)==4476的条件,同时避开字母过滤和直接数值匹配。因此,提交?num=010574即可成功获取flag。

2025-07-04 10:26:17 163

原创 [ctfshow web入门] web92 `==`特性与intval特性

这篇文章讨论了一个PHP代码审计题目,涉及弱类型比较(==)与严格比较(===)的区别。题目要求绕过$num==4476的检查,同时满足intval($num,0)==4476。通过将4476转换为其他进制(如16进制0x117c、8进制010574、二进制0b0001000101111100)即可绕过检查并获取flag。文章提供了三种不同进制的解法,并附上验证截图。

2025-06-22 10:57:00 237

原创 [ctfshow web入门] web91 preg_match特性`/m`

摘要:这是一道关于正则表达式匹配的PHP代码审计题。解题关键在于利用/m多行匹配和/i忽略大小写的特性,通过输入带换行符的字符串(如php%0a123)绕过严格单行匹配检查。当输入满足多行匹配php但不满足单行匹配时,即可获取flag。ASCII码表中%0a代表换行符,用于构造有效载荷。

2025-06-22 10:40:09 224

原创 [ctfshow web入门] web90 intval特性

PHP intval函数绕过技巧 题目要求通过GET参数num传递一个不等于"4476"但能被intval函数转化为4476的值。解决方案包括: 在数字后添加非数字字符,如4476a,intval会忽略非数字部分 使用不同进制表示4476: 16进制:0x117c 8进制:010574 2进制:0b1000101111100 intval函数在base=0时自动识别字符串前缀的进制标识符,并只转换起始的数字部分。

2025-06-22 10:06:09 277

原创 [ctfshow web入门] web89 intval传入数组或对象返回1

摘要:题目通过过滤0-9字符并要求intval($num)为真来限制输入。利用preg_match对数组参数返回false的特性,可以构造数组绕过数字检测(如?num[]=1)。当intval处理数组时返回1,从而满足条件获取flag。解法关键在于数组参数的双重特性:既绕过正则匹配,又满足intval条件。

2025-06-18 10:29:42 203

原创 [ctfshow web入门] web81 文件包含,过滤伪协议,使用日志包含

摘要 本文介绍了一种绕过文件包含安全过滤的方法。代码过滤了"php"、"data"和":"字符,但可以通过包含服务器日志文件(如/var/log/nginx/access.log)来执行PHP代码。在User-Agent中插入<?php system('ls'); ?>和<?php system('tac fl0g.php'); ?>等恶意代码,当包含日志文件时这些代码会被执行,从而获取服务器信息或读取特定文件内容。这种方法

2025-05-30 10:27:40 121

原创 [ctfshow web入门] web80 文件包含,关键字`php`和`data`过滤

本文总结了两种绕过PHP文件包含防护的方法: 大小写绕过: 使用Php://input代替被过滤的php协议 通过POST发送PHP代码执行系统命令 需要工具使用raw模式发送数据 日志文件包含: 包含nginx访问日志文件 在User-Agent中注入PHP代码 通过日志文件执行系统命令 两种方法都成功绕过了对"php"和"data"关键词的过滤,最终获取了flag文件内容。文章还提到使用hackbar时需要注意模式选择问题。

2025-05-30 10:18:13 459

原创 [ctfshow web入门] web79 文件包含,关键字`php`过滤

这篇短文介绍了几种绕过PHP过滤限制的方法:1) 使用data协议配合短标签或base64编码执行命令;2) 通过php://input协议大小写绕过;3) 日志包含攻击,向访问日志注入恶意代码。文章提供了具体payload示例,如利用通配符读取flag文件,以及使用nginx日志包含执行系统命令的技巧,并提醒在使用hackbar工具时需注意的请求发送问题。

2025-05-29 13:26:18 490

原创 [ctfshow web入门] web78 文件包含,自由发挥

Web安全测试摘要 本文演示了一个简单的PHP文件包含漏洞利用方法,通过未过滤的file参数实现代码执行。提供了三种攻击方式: 使用伪协议直接执行系统命令:?file=data://text/plain,<?php system("tac flag.php")?> 通过过滤器读取文件内容:?file=php://filter/read=convert.base64-encode/resource=flag.php 利用访问日志包含攻击:在User-Agent中注入PHP代码,

2025-05-29 13:04:51 339

原创 [ctfshow web入门] web124 命令执行,白名单利用

摘要:本文分析了如何绕过PHP代码中的白名单和黑名单限制,通过巧妙利用base_convert、hex2bin等数学函数,构造出$_GET变量。最终利用PHP可变函数特性,成功执行系统命令获取flag。文章详细展示了从字符编码转换到最终payload构造的全过程,并验证了在PHP 7.3.11版本下通过大括号代替中括号访问数组的可行性。

2025-05-29 12:45:48 387

原创 [ctfshow web入门] web122 命令执行,超多的环境变量过滤,但有HOME

该题目涉及绕过PHP代码中的过滤机制,通过构造特定的命令来执行系统命令并获取flag。代码中过滤了多种字符和关键字,但允许使用HOME环境变量。通过利用$?(上一条命令的退出状态)和RANDOM环境变量,可以构造出有效的命令。最终,通过发送POST请求并解析响应,成功获取了flag的base64编码,并解码得到flag内容。整个过程展示了如何绕过严格的字符过滤,利用环境变量和系统命令执行漏洞来获取敏感信息。

2025-05-18 14:25:16 360

原创 [ctfshow web入门] web121 命令执行,更多的Linux环境变量过滤

这段代码展示了如何通过PHP脚本实现命令执行,并利用临时文件上传绕过过滤机制。PHP脚本通过$_POST['code']接收用户输入,并使用正则表达式过滤掉大量字符和命令。如果输入长度超过65字节,会提示“too long”,否则执行system($code)。为了绕过过滤,使用Python脚本构造特殊命令,利用环境变量和通配符匹配文件路径,最终通过tac命令读取flag.php文件。这种方法巧妙地利用了系统特性和环境变量,实现了绕过过滤并执行命令的目的。

2025-05-18 13:08:26 294

原创 [ctfshow web入门] web120 命令执行,过滤了一些linux环境变量名

这篇文章描述了一个PHP代码的安全挑战,涉及通过POST请求执行系统命令。代码中通过正则表达式过滤了多种字符和关键字,如BASH和HOME,以防止恶意输入。解题部分展示了如何通过临时文件上传和构造命令绕过这些限制,最终执行系统命令并获取flag.php文件的内容。文章详细介绍了如何利用环境变量和通配符构造有效的命令,并通过循环尝试找到正确的响应。最终,通过这种方式成功获取了目标文件的内容。

2025-05-18 12:46:52 216

原创 [ctfshow web入门] web119 命令执行,linux环境变量构造的临时文件上传

文章主要讨论了在CTF(Capture The Flag)比赛中进行信息收集和解题的过程。首先,通过Python脚本测试了目标URL对字符的过滤情况,发现某些字符被过滤后返回特定长度的响应。接着,作者利用临时文件上传的方法,通过构造特定的命令来绕过过滤,成功获取了目标文件的内容。最后,作者提到由于PATH被过滤,需要重新构造命令来继续解题。整个过程展示了在CTF比赛中如何通过脚本和技巧绕过限制,最终获取目标信息。

2025-05-18 11:54:06 236

原创 [ctfshow web入门] web118 命令执行,没了,数字和小写字母全没了

在信息收集过程中,通过抓包和源代码注释发现输入命令时出现evil input,推测存在字符过滤机制。使用burpsuite抓包后,发现被禁用的字符包括小写字母、数字及部分特殊字符,仅剩大写字母和$可用。通过分析环境变量和字符串拼接,尝试构建shell命令,但由于知识储备不足,未能成功。最终参考答案,利用$和大写字母拼接出有效命令,进一步验证了环境变量的正确性。

2025-05-17 13:11:12 239

原创 [ctfshow web入门] web77 命令执行,FFI:cdef

在解决信息收集和读取flag的问题时,发现之前的读取方式失效,回显提示“could not find driver”。通过多种PHP方法尝试扫描目录,最终使用FFI扩展调用系统命令来读取flag。由于权限限制,无法直接读取flag文件,但通过执行/readflag命令并将结果输出到2.txt,成功获取flag。过程中还尝试了复制文件和查看文件权限,确认了当前用户www-data无法直接读取flag36x.txt。最终解决方案利用了FFI的system函数执行系统命令,绕过了权限限制。

2025-05-17 11:06:28 543

原创 [ctfshow web入门] web76 命令执行,未知禁用

本文展示了多种PHP代码片段,用于在Web环境中进行信息收集和文件读取操作。首先,通过scandir、DirectoryIterator和opendir等函数,列举了根目录下的文件。接着,使用PDO连接MySQL数据库,并尝试读取/flag36.txt文件的内容。这些代码片段展示了如何在PHP中遍历目录、读取文件以及处理数据库查询,适用于CTF比赛或类似场景中的信息收集任务。

2025-05-16 10:29:59 214

原创 [ctfshow web入门] web75 命令执行,疑似启用了堆栈保护,溢出漏洞不能再使用了

在解决PHP文件读取问题时,发现scandir函数被禁用,且存在open_basedir限制。通过使用DirectoryIterator和opendir函数,成功读取了根目录下的文件列表。通过PDO(PHP数据对象)连接MySQL数据库,并使用load_file函数成功读取了/flag36.txt文件的内容。这一方法的关键在于正确配置数据库连接信息(数据库名、账号、密码),而这些信息通常需要从题目或答案中获取。

2025-05-15 11:41:56 266

原创 [ctfshow web入门] web74 命令执行,禁用函数implode和join

在PHP中,当implode和join函数被禁用,且scandir无法读取目录时,可以通过其他方法进行信息收集和文件读取。使用DirectoryIterator和glob://模式可以遍历根目录下的文件,并通过opendir和readdir函数读取目录内容。此外,通过include、require、readgzfile等函数可以读取指定文件内容。这些方法在受限环境下提供了绕过限制的途径,成功获取目标文件信息。

2025-05-15 10:52:33 245

原创 [ctfshow web入门] web73 命令执行,读取文件的各种姿势

本文主要介绍了在PHP环境中进行信息收集和解题的方法。由于没有open_basedir限制,可以使用var_export、print、echo、implode和join等函数。通过扫描目录和读取文件内容,可以获取目标信息。示例代码展示了如何使用这些函数来查目录和读取文件内容,如scandir("/")和readgzfile("/flagc.txt")。这些操作可以帮助在Web安全测试中获取关键信息。

2025-05-14 11:50:13 189

原创 [ctfshow web入门] web72 命令执行,启用open_basedir,目录穿透变得困难起来了

文章摘要:本文探讨了如何绕过PHP的open_basedir限制,通过分析index.php文件中的代码,发现scandir等函数被禁用,无法直接访问根目录。文章引用了多篇关于open_basedir绕过的博客,并提供了两种解决方案:一是使用蚁剑工具直接连接,二是手工绕过。手工绕过部分详细介绍了如何利用glob协议读取目录,并提供了相关代码示例。最终,通过复杂的PHP代码实现了绕过限制并获取目标文件的内容。

2025-05-13 16:47:32 894

原创 [ctfshow web入门] web71 命令执行,缓冲区清除绕过

文章主要探讨了如何通过PHP的输出控制函数绕过ob_end_clean清空缓冲区的限制,以获取服务器上的敏感文件内容。文章首先介绍了ob_get_contents、ob_end_clean和preg_replace等函数的作用,随后提出了解题思路,即利用ob_end_flush、ob_flush、ob_get_flush和ob_start等函数提前输出缓冲区内容,避免被ob_end_clean清空。此外,文章还提到可以通过exit()或die()使程序提前终止,从而阻止后续代码执行。最后,文章展示了如何通过

2025-05-10 14:14:37 470

原创 [ctfshow web入门] web70 命令执行,无效禁用error_reporting和ini_set

本文描述了一个通过PHP代码进行信息收集和解题的过程。首先,使用include函数结合php://filter读取index.php文件的内容,并发现error_reporting和ini_set被禁用。接着,通过eval函数执行用户输入的代码,尝试读取flag.php文件,但未找到目标。随后,通过扫描根目录并读取/flag.txt文件,最终成功获取了flag。整个过程展示了如何利用PHP的过滤器和文件操作函数进行信息收集和解题。

2025-05-10 12:52:25 442

原创 [ctfshow web入门] web69 命令执行,函数被禁用差不多了,使用include

本文介绍了如何通过PHP代码读取和操作文件内容。首先,使用include函数结合php://filter读取index.php文件,并通过eval函数执行用户输入的代码。接着,利用var_export、echo和print等函数列出当前目录或根目录下的文件。最后,通过include函数读取指定文件(如flag.php或flag.txt),并使用convert.iconv或convert.base64-encode过滤器进行编码转换。这些方法展示了如何在PHP中动态执行代码、遍历目录并读取文件内容。

2025-05-10 12:41:20 388

原创 [ctfshow web入门] web68 命令执行,禁用函数highlight_file

本文介绍了在PHP中通过include函数结合php://filter流来读取文件内容的方法。由于highlight_file被禁用,作者使用了convert.base64-encode和convert.iconv.utf8.utf16过滤器来读取index.php和flag.php文件,并展示了如何通过var_dump(scandir('/'))来列出目录内容。最终,作者通过直接include文件路径成功读取了/flag.txt的内容。文章提供了多种读取文件的方式,并展示了不同方法的效果。

2025-05-10 12:09:16 344

原创 [ctfshow web入门] web67 命令执行,禁用函数print_r

本文介绍了一个PHP代码审计的解题过程。题目中print_r函数被禁用,但可以通过eval函数执行用户输入的代码。解题步骤如下:首先,使用var_dump(scandir(getcwd()))查看当前目录下的文件,发现没有flag.php文件;接着,通过highlight_file("flag.txt")查看当前目录下的flag.txt文件内容;然后,使用var_dump(scandir('/'))列出根目录下的文件,发现flag.txt位于根目录;最后,通过highlight_file

2025-05-10 11:47:25 182

原创 [ctfshow web入门] web66 命令执行,禁用函数show_source

这段代码展示了一个简单的PHP脚本,用于处理用户通过POST请求提交的数据。如果接收到参数c,脚本会执行eval($c),即执行用户输入的PHP代码。如果没有接收到参数,脚本会显示当前文件的源代码。文章还介绍了如何利用这个脚本进行文件读取操作,包括列出当前目录和根目录下的文件,并读取特定文件(如flag.txt)的内容。通过这种方式,用户可以通过执行特定命令来获取服务器上的敏感信息。文章最后提到,尝试通过路径穿透读取文件时遇到了困难。

2025-05-10 11:33:48 177

原创 [ctfshow web入门] web65 命令执行,真服者

本文介绍了一种通过PHP代码执行漏洞进行信息收集和解题的方法。文章首先展示了一个简单的PHP代码片段,该代码通过eval函数执行用户输入的POST参数c,并利用highlight_file函数高亮显示文件内容。接着,作者提供了几种读取目录和文件的方法,包括使用scandir函数列出当前目录内容,以及通过highlight_file、show_source和include函数读取flag.php文件的内容。这些方法在CTF比赛中常用于绕过限制并获取敏感信息。文章最后附有相关链接,供读者进一步参考。

2025-05-10 11:20:39 163

原创 [ctfshow web入门] web64 命令执行,测不出禁了啥啊

这篇文章主要介绍了在CTF比赛中如何通过PHP代码进行信息收集和解题的方法。作者首先展示了一段PHP代码,该代码通过eval函数执行用户输入的POST参数c,并提供了读取文件和目录的示例代码。文章指出,尽管某些方法被禁用,但仍可以通过其他方式读取文件内容,如使用highlight_file或include函数。最后,作者提供了相关链接,指向更详细的解题方法和目录。整体内容简洁明了,适合CTF初学者参考。

2025-05-10 11:01:12 244

原创 [ctfshow web入门] web63 命令执行,作者水题了

这段内容主要描述了一个PHP代码的安全漏洞利用过程。代码通过eval函数执行用户输入的任意PHP代码,存在严重的安全风险。用户可以通过POST请求传递参数c来执行PHP命令,例如读取当前目录文件或获取flag.php文件的内容。此外,文中提到可以使用蚁剑(一种Webshell管理工具)来进一步利用此漏洞。整体内容展示了如何通过简单的代码注入实现对服务器文件的读取和控制,强调了代码安全性的重要性。

2025-05-10 10:56:22 315

原创 [ctfshow web入门] web62 命令执行,没测出禁用了啥

文章摘要:本文介绍了一种通过PHP代码执行漏洞进行信息收集和解题的方法。首先,通过eval函数执行用户输入的代码,从而读取目录和文件内容。具体操作包括使用scandir函数读取当前目录,以及使用highlight_file或include函数读取flag.php文件。此外,文章还提到可以使用蚁剑工具进行更深入的渗透测试。这种方法适用于CTF比赛中的Web安全题目,帮助参赛者快速获取目标文件内容。

2025-05-10 10:50:14 151

原创 [ctfshow web入门] web61 命令执行,禁用函数copy,rename

本文介绍了一种通过PHP代码执行来读取文件和目录的方法。代码中禁用了copy和rename功能,但可以通过eval函数执行传入的PHP代码。文章提供了几种读取目录和文件的方法,如使用scandir函数读取当前目录,以及使用highlight_file、show_source和include函数读取flag.php文件。此外,还提到可以使用蚁剑工具进行进一步操作。这些方法适用于CTF比赛中的Web安全挑战。

2025-05-10 10:40:59 147

原创 [ctfshow web入门] web60 命令执行,禁用函数file

本文介绍了在CTF比赛中如何通过PHP代码绕过文件读取限制来获取敏感信息。题目中禁用了file函数,但可以通过eval函数执行PHP代码来读取文件内容。文章提供了几种读取目录和文件的方法,包括使用scandir、highlight_file、show_source和include函数。此外,还提到了使用蚁剑工具进行进一步渗透测试的示例。通过这些方法,参赛者可以成功读取并获取目标文件中的flag信息。

2025-05-10 10:24:03 173

原创 [ctfshow web入门] web59 命令执行,内部函数readfile file_get_contents被禁用

本文介绍了一种在PHP环境中绕过readfile和file_get_contents被禁用限制的方法。通过使用eval函数执行用户输入的PHP代码,可以实现读取目录内容和获取flag.php文件内容的目的。具体操作包括使用scandir函数列出当前目录内容,以及通过highlight_file、show_source、file函数或include语句读取flag.php文件。此外,还提到了使用蚁剑工具进行连接时的注意事项。这些方法适用于CTF比赛中的Web安全挑战。

2025-05-10 10:12:50 196

原创 [ctfshow web入门] web58 命令执行,system禁用,使用内部函数构造shellcode

这篇文章介绍了如何绕过PHP中禁用system函数的安全限制,通过多种方法读取服务器上的flag.php文件。主要解决方案包括:使用highlight_file、show_source、file函数直接读取;利用include结合php://filter加密传输;通过file_get_contents、readfile函数获取内容;以及使用copy、rename操作文件后访问。此外,作者还展示了使用蚁剑工具成功连接服务器的案例,提供了完整的解题思路和操作截图。文章末尾附有相关题目链接和目录导航。

2025-05-08 13:16:44 328

空空如也

空空如也

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

TA关注的人

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