当前位置: 首页 > news >正文

ctfshow web入门 嵌入式 bash cpp pwn

kali转bash shell方法
方便我们本地

bash脚本教程
下面这个代码是bash脚本

#!/bin/bashOIFS="$IFS"IFS=","       //表示逗号为字段分隔符set $QUERY_STRING     //将参数传入数组Args=($QUERY_STRING)IFS="$OIFS"    //恢复原始IFS值if [ "${Args[2]}"ctf = "admin"ctf ]; thenecho "`${Args[0]}$IFS${Args[1]}`"fi  //结束if语句
exit 0

我们靠传入的角标为0 1 的值构造命令

?ls,/,admin
?cat,/flag,admin

web462

#!/bin/bashOIFS="$IFS"IFS=","set $QUERY_STRINGArgs=($QUERY_STRING)IFS="$OIFS"if [ "${Args[0]}"ctf = "ping"ctf ]; thenaddr="`echo ${Args[1]} | sed 's|[\]||g' | sed 's|%20| |g'`"addr="ping -c 1 "$addr$addrfi
这个是思路看不懂代码先欠着
addr="`echo ${Args[1]} | sed 's|[\]||g' | sed 's|%20| |g'`"这句怎么看都晕,打通以后来改文章
?ping,

web463

#include <stdlib.h>
#include "fcgi_stdio.h"
#include <cstring>/* just get lastest info */
int _System(const char * cmd, char *pRetMsg, int msg_len)
{FILE * fp;char * p = NULL;int res = -1;if (cmd == NULL || pRetMsg == NULL || msg_len < 0){printf("Param Error!\n");return -1;}if ((fp = popen(cmd, "r") ) == NULL)   //执行命令并且创造一个管道将放回结果放入管道里面{printf("Popen Error!\n");return -2;}else{memset(pRetMsg, 0, msg_len);//get lastest resultwhile(fgets(pRetMsg, msg_len, fp) != NULL){printf("Msg:%s",pRetMsg); //print all info}if ( (res = pclose(fp)) == -1)   //输出管道{printf("close popenerror!\n");return -3;}pRetMsg[strlen(pRetMsg)-1] = '\0';return 0;}
}int main(void)
{int count = 0;char *cmd = "";char a8Result[128] = {0};int ret = 0;while (FCGI_Accept() >= 0)printf("Content-type: text/html\r\n""\r\n""<title>CTFshow</title>""<h1>where is flag?</h1>");cmd=getenv("QUERY_STRING");ret  = _System(cmd, a8Result, sizeof(a8Result));printf("ret = %d \nresult = %s\nlength = %d \n", ret, a8Result, strlen(a8Result));return 0;
}

试探性的上了一个ls,回显了,然后过滤了空格,尝试了一下$IFS可以绕过

?cat$IFS/f*
?cat${IFS}/f*

web464

#include <stdlib.h>
#include "fcgi_stdio.h"
#include <cstring>/* just get lastest info */
int _System(const char * cmd, char *pRetMsg, int msg_len)
{FILE * fp;char * p = NULL;int res = -1;if (cmd == NULL || pRetMsg == NULL || msg_len < 0){printf("Param Error!\n");return -1;}if ((fp = popen(cmd, "r") ) == NULL){printf("Popen Error!\n");return -2;}else{memset(pRetMsg, 0, msg_len);//get lastest resultwhile(fgets(pRetMsg, msg_len, fp) != NULL){printf("Msg:%s",pRetMsg); //print all info}if ( (res = pclose(fp)) == -1){printf("close popenerror!\n");return -3;}pRetMsg[strlen(pRetMsg)-1] = '\0';return 0;}
}int main(void)
{int count = 0;char *cmd = "";char a8Result[128] = {0};int ret = 0;while (FCGI_Accept() >= 0)printf("Content-type: text/html\r\n""\r\n""<title>CTFshow</title>""<h1>where is flag?</h1>");cmd=getenv("QUERY_STRING");ret  = _System(cmd, a8Result, sizeof(a8Result));return 0;
}

与上题一样直接秒了
我只是想尝试一下没想到打通了

?cat$IFS/f*

web465

要用pwn 不会

相关文章:

ctfshow web入门 嵌入式 bash cpp pwn

kali转bash shell方法 方便我们本地 bash脚本教程 下面这个代码是bash脚本 #!/bin/bashOIFS"$IFS"IFS"," //表示逗号为字段分隔符set $QUERY_STRING //将参数传入数组Args($QUERY_STRING)IFS"$OIFS" //恢复原始IFS值if [ "$…...

【ONE·Git || 基本用法入门】

总言 主要内容&#xff1a;主要介绍Git中常用的指令。   PS&#xff1a;多人协作与企业开发模型使用&#xff0c;此部分内容不作博文总结。             文章目录 总言1、初识Git1.1、版本控制器1.2、git安装 2、基本操作2.1、Git本地仓库2.1.1、创建Git本地仓库&…...

【运维项目经历|021】Spark大数据分析平台建设项目

目录 项目名称 项目背景 项目目标 项目成果 我的角色与职责 我主要完成的工作内容 本次项目涉及的技术 本次项目遇到的问题与解决方法 本次项目中可能被面试官问到的问题 问题1&#xff1a;项目周期多久&#xff1f; 问题2&#xff1a;服务器部署架构方式及数量和配置…...

装机数台,依旧还会心念i5-12600KF的性能和性价比优势:

近几个月的时间中&#xff0c; 装机差不多4台电脑&#xff0c;由于工作需要&#xff0c;计划年中再增添一台。 目前市场上英特尔CPU促销非常火爆&#xff0c;第12代、第13代以及第14代的产品在年中有适当的优惠。 年中也是装机的旺季&#xff0c;各种相关配件也相对便宜一些。…...

Docker-----emqx部署

emqx通过Docker容器化部署流程 1.创建持久化挂载目录 mkdir -p /home/emqx/etc ------挂载emqx的配置文件目录 mkdir -p /home/emqx/data ------挂载emqx的存储目录 mkdir -p /home/emqx/log ------挂载emqx的日志目录 [root home]# mkdir -p /home/emqx/etc [root home]# mkd…...

三数之和-力扣

这道题在使用哈希表来做时&#xff0c;做的很吃力&#xff0c;对重复的去除很费劲。 首先是对i的去重&#xff0c;不能使用nums[i] nums[i] 这样的条件去判断&#xff0c;这会遗漏掉类似[-1, -1 , 2]这样的解其次是对j的去重&#xff0c; 对j的去重是为了防止类似[-4, 2, 2, …...

2024 五月份国内外CTF 散装re 部分wp

cr3CTF warmup 附件拖入ida main函数无法反汇编&#xff0c;仔细看&#xff0c;有花指令&#xff0c;jnz实际上必定跳转。有非常多处&#xff0c;可以写脚本patch程序去掉花指令&#xff0c;只要匹配指令&#xff0c;再获取跳转地址&#xff0c;nop掉中间的代码就行。但…...

[猫头虎分享21天微信小程序基础入门教程]第21天:小程序的社交分享与消息推送

[猫头虎分享21天微信小程序基础入门教程]第21天&#xff1a;小程序的社交分享与消息推送 第21天&#xff1a;小程序的社交分享与消息推送 &#x1f4f2; 自我介绍 大家好&#xff0c;我是猫头虎&#xff0c;一名全栈软件工程师。今天我们继续微信小程序的学习&#xff0c;重…...

aop整理

一、aop基础知识 Spring AOP 详细深入讲解代码示例 二、spring/spring boot/spring cloud中出现的注解/类与概念的对应 Aspect&#xff1a; 标注当前MyAspect是一个切面类&#xff0c;–》对应切面的概念&#xff0c;在切面类中有用Before等注解修饰的方法作为advice,也有用…...

Sublime Text 基础教程(个人总结)

Sublime Text 是一款广受欢迎的代码编辑器&#xff0c;以其简洁的界面和强大的功能而著称。它支持多种编程语言&#xff0c;具有高效的代码编辑和管理功能。本教程将详细介绍如何使用 Sublime Text&#xff0c;从安装到高级使用技巧&#xff0c;帮助你充分利用这款工具。 目录…...

线程安全 - 笔记

1 程序a调用c.so,程序b也调用c.so c.so加载两次吗? 在这种情况下,通常 c.so 不会被加载两次。 当一个程序调用一个共享对象文件(.so)时,操作系统的动态链接器将该共享对象映射到进程的虚拟内存空间中。后续由不同程序或者同一个程序调用相同的共享对象,都不会导致共享…...

分支机构多,如何确保文件跨域传输安全可控?

随着企业全球化发展&#xff0c;分支机构的分布越来越广泛&#xff0c;跨域文件传输需求也随之增加。然而&#xff0c;跨域文件传输面临的数据安全和传输效率问题&#xff0c;使得构建一个安全、可控的文件交换系统成为迫切需求。FileLink跨网文件交换系统通过综合的技术手段和…...

长安链使用Golang编写智能合约教程(二)

长安链2.3.0的go合约虚拟机和2.3.0以下的不兼容&#xff0c;编译的方式也有差异&#xff0c;所以在ide上做了区分。 教程三会写一些&#xff0c;其他比较常用SDK方法的解释和使用方法 教程一&#xff1a;&#xff08;长安链2.1.的版本的智能合约&#xff09; 教程三&#xff…...

jpom linux发布前端 ruoyi

前置条件 辅助安装 安装jdk curl -fsSL https://jpom.top/docs/install.sh | bash -s Server jdkonly-moduledefault 一键安装maven 后端必备 curl -fsSL https://jpom.top/docs/install.sh | bash -s Server mvnonly-moduledefault 一键安装node 前端必备 curl -fsSL http…...

K8S认证|CKA题库+答案| 15. 备份还原Etcd

目录 15、 备份还原Etcd CKA v1.29.0模拟系统 下载试用 题目&#xff1a; 开始操作: 1&#xff09;、切换集群 2&#xff09;、登录master并提权 3&#xff09;、备份Etcd现有数据 4&#xff09;、验证备份数据快照 5&#xff09;、查看节点和Pod状态 6&#xff0…...

软件架构设计属性之一:功能性属性浅析

文章目录 引言一、定义二、关键要素1. 需求满足2. 操作性3. 数据处理4. 业务流程支持5. 合规性 三、 设计原则1. 用户中心设计2. 模块化3. 抽象化4. 可扩展性5. 可维护性6. 设计原则的实施策略7. 设计原则的评估 四、实现策略1. 需求分析2. 功能分解3. 接口设计4. 技术选型5. 迭…...

学习Java的日子 Day48 函数,DOM

Day48 1.流程控制语句 if else for for-in(遍历数组时&#xff0c;跟Java是否一样) While do while break 语句用于跳出循环 continue 用于跳过循环中的一个迭代 2.函数 2.1 JavaScript 函数语法 函数就是包裹在花括号中的代码块&#xff0c;前面使用了关键词 function funct…...

Scikit-Learn朴素贝叶斯

Scikit-Learn朴素贝叶斯 1、朴素贝叶斯1.1、贝叶斯分类1.2、贝叶斯定理1.3、贝叶斯定理的推导1.4、朴素贝叶斯及原理1.5、朴素贝叶斯的优缺点2、Scikit-Learn朴素贝叶斯2.1、Sklearn中的贝叶斯分类器2.2、Scikit-Learn朴素贝叶斯API2.3、Scikit-Learn朴素贝叶斯实践(新闻分类与…...

网页设计步骤总结

第一步&#xff1a;css重置 https://blog.csdn.net/BradenHan/article/details/132122504 第二步&#xff1a;媒体查询不同尺寸加载不同的css文件https://blog.csdn.net/Yi_Lesama/article/details/131184469 <!-- link元素中的CSS媒体查询 --> <link rel"styl…...

第十三期Big Demo Day亮点项目:CCarbon重塑碳交易生态,助力全球绿色发展

第十三期Big Demo Day活动即将于2024年5月28日在香港数码港的CyberArena隆重举行。我们荣幸地宣布&#xff0c;利用区块链技术优化全球碳交易CCarbon项目将亮相&#xff0c;参与精彩的项目路演。本次活动由ZeeprLabs、BiKing Exchange、Gather冠名赞助&#xff0c;Central Rese…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?

在建筑行业&#xff0c;项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升&#xff0c;传统的管理模式已经难以满足现代工程的需求。过去&#xff0c;许多企业依赖手工记录、口头沟通和分散的信息管理&#xff0c;导致效率低下、成本失控、风险频发。例如&#…...

1.3 VSCode安装与环境配置

进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件&#xff0c;然后打开终端&#xff0c;进入下载文件夹&#xff0c;键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

如何为服务器生成TLS证书

TLS&#xff08;Transport Layer Security&#xff09;证书是确保网络通信安全的重要手段&#xff0c;它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书&#xff0c;可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Python如何给视频添加音频和字幕

在Python中&#xff0c;给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加&#xff0c;包括必要的代码示例和详细解释。 环境准备 在开始之前&#xff0c;需要安装以下Python库&#xff1a;…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI&#xff08;https://spring.io/projects/spring-ai&#xff09;作为Spring生态中的AI集成框架&#xff0c;其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似&#xff0c;但特别为多语…...

使用LangGraph和LangSmith构建多智能体人工智能系统

现在&#xff0c;通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战&#xff0c;比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...