| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 常见PHP危险函数验证 -> 正文阅读 |
|
[PHP知识库]常见PHP危险函数验证 |
1?eval 语句????????eval()会将符合PHP 语法规范字符串当作php 代码执行。 1.1 示例:????????首先在服务器端创建PHP脚本文件,构建危险语句,脚本代码如下:
? ? ? ? 首先定义一个变量“$code”,并进行判断是否为空,如果为空,执行“phpinfo();”代码,否则获取参数的值。 ? ? ? ? 访问该php文件,页面如下: ? ? ? ? 给"$code"传送参数,传参方法可以查看之前的文章,
????????该参数为PHP命令,面显示为: ????????优化界面,将输出格式化,参数改为:? ?
? 1.2?绕过限制执行PHP 代码????????如果参数进入eval() 语句之前,进行了过滤,例如过滤了单双引号,进行上述传参会报错
? ? ? ? ?针对这种情况,可以采用如下方法进行绕过: 1.2.1?将参数进行ASCII 编码将
进行ASCII编码为:
传参后页面显示: ? 1.2.2?将参数进行BASE64 编码将
进行BASE64编码为:
?????????传参时经过BASE64的编码需要将“=”去掉,而且需要在服务器上对参数进行BASE64解码,传参结果为: 2?assert()????????assert()同样会将字符串当做PHP 代码来执行。 示例: ????????PHP脚本文件内代码为:
????????进行传参访问页面: 3??preg_replace()????????preg_replace()函数的作用是对字符串进行正则匹配后替换。 示例: ????????搜索$subject 中匹配$pattern 的部分,以$replacement 进行替换。
????????当$pattern 处存在e 修饰符时,$replacement 的值会被当成PHP 代码来执行。 ?PHP脚本文件内代码为:
?传参并访问页面: ? 4?回调函数????????一个函数调用另外一个函数。PHP 语言中回调函数有很多。下面主要介绍2种 4.1call_user_func()函数用法
示例: ????????PHP脚本文件内代码为:
????????传参后显示页面: ? 4.2 array_map()示例: ????????PHP脚本文件内代码为:
传参后页面为: 5?system()????????system()能够将字符串作为OS 命令执行。? 函数特点: system()自带输出功能。 传参,支持命令中有空格。 示例: ????????PHP脚本文件内代码为:
传参后页面为: ? 6?exec()????????exec()函数能将字符串作为OS 命令执行。 函数特点: 需要输出命令执行结果。 只输出命令执行结果的最后一行,约等于没有回显。 示例: ????????PHP脚本文件内代码为:
传参后页面为: 7?shell_exec()?????????shell_exec()将参数当做OS 命令执行。 函数特点: 需要输出命令执行结果。 支持命令中有空格。 示例: ????????PHP脚本文件内代码为:
传参后页面为: 8?passthru()????????passthru()将字符串当做系统命令执行。 函数特点: 自带输出功能 支持命令中有空格 示例: ????????PHP脚本文件内代码为:
传参后页面为: ? 9?popen()????????popen()能够执行OS 命令。 函数特点: 函数返回值为文件指针 示例: ????????PHP脚本文件内代码为:
传参后页面为: ?10?反引号????????反引号` 内的字符串,也会被解析成OS 命令。 示例: ????????PHP脚本文件内代码为:
传参后页面为: ? |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/27 14:04:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |