危险函数之可变函数

admin 2026-04-21 02:18:23 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文通过PHP可变函数实验演示命令执行漏洞利用,列举危险函数如eval、system等,展示通过URL参数触发assert执行代码的过程,强调需严格过滤用户输入以防漏洞。 综合评分: 78 文章分类: 漏洞分析,WEB安全,代码审计,安全培训,渗透测试


cover_image

危险函数之可变函数

建哥聊安全

2026年4月1日 17:03 湖南

在小说阅读器读本章

去阅读

危险函数之可变函数

实验目的

通过本实验,掌握命令执行漏洞产生的原因和利用方法,体验命令执行漏洞的利用过程。

实验环境

·操作机:Win10 用户名:Administrator 密码:Sangfor!7890

·靶机:Apache + PHP

·实验地址:http://ip/os/kbhs.php

实验原理

应用程序有时需要调用一些执行命令的函数,由于服务器对代码中可执行的特殊函数入口没有做过滤,并且用户能够控制这些函数中的参数时,就可以将恶意命令拼接到正常命令中,从而造成命令执行攻击。 命令执行漏洞可以分为远程命令执行(代码执行)和系统命令执行两类,常见危险函数也分为两类:代码执行函数和命令执行函数。

PHP中常见代码执行函数:

array_map()

eval()

assert()

preg_replace()

call_user_func()

$a($b)动态函数

PHP中常见系统命令执行函数:

system()

exec()

shell_exec()

passthru()

popen()

反引号”`”

实验步骤

1、登录”Attack”操作机,打开浏览器,访问http://ip/os/kbhs.php

2、在URL后拼接”?a=assert&b=var_dump(array(1,2,3)),访问http://ip/os/kbhs.php?a=var_dump(array(1,2,3)),执行代码

3、在URL后拼接”?a=assert&b=phpinfo()”,访问http://ip/os/kbhs.php?a=assert&b=phpinfo(),查看执行效果

实验总结

通过本实验,掌握可变函数的利用,成功实现了代码执行,体验了可变函数实现代码执行的过程。可变函数会把第一个参数作为函数使用,其余参数都是函数的参数。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:建哥聊安全 《危险函数之可变函数》

评论:0   参与:  0