无字母数字RCE

heck1ng / 2024-02-28 / 原文

1.post文件 (php5+shell)


我们可以发送一个上传文件的POST包,此时PHP会将我们上传的文件保存在临时文件夹下,默认的文件名是/tmp/phpXXXXXX,文件名最后6个字符是随机的大小写字母

一般来说这个文件在linux下面保存在/tmp/php??????一般后面的6个字符是随机生成的有大小写。

(可以通过linux的匹配符去匹配) 我们多上传几次就可以达到shell的目的

 

首先构造一个post文件上传的html文件 (url需要更改)

任意上传一个文件后抓包

修改

post一个 ?c=.+/???/????????[@-[]

[@-[]是linux下面的匹配符,是进行匹配的大写字母

加入

#!/bin/sh

ls