overthewire朝花夕拾

bandit:

cat特殊字符文件名

- cat ./-

空格 cat "abc def"  or cat abc\ def

列出隐藏文件:ll

du -ab 递归列出文件大小,以字节为单位

find -group bandit6 -user bandit7 -size 33c   #owned by user bandit7 - owned by group bandit6 - 33 bytes in size
输出唯一不重复的行 sort data.txt | uniq  -u

uniq标志

-c 在输出行前面加上每行在输入文件中出现的次数。

-d 仅显示重复行。

-u 仅显示不重复的行。

grep "key" xxx.log时输出

Binary file xxx.log matches

百度了一下:grep认为这是二进制文件,解决方案:grep -a。 equivalent to --binary-files=text

grep -a "key" xxx.log

ROT13 cat data.txt | tr [A-MN-Za-mn-z] [N-ZA-Mn-za-m]

level12->level13

mkdir /tmp/chy

xxd –r data.txt > /tmp/chy/out 

file out

tar/gzip/bzip2 

文件类型是POSIX tar archive (GNU),  用命令tar xvf

文件类型是gzip compressed data , 用命令gzip –d

    用gzip解压时遇到错误 gzip: data8.bin: unknown suffix – ignored  则把文件名后缀改成gz

文件类型是 bzip2 compressed data, 用命令bzip –d

直到最后文件类型是ASCII text

.tar.gz的,用tar zxvf

.tar.bz2的,用tar jxvf

.tar的,用tar xvf

ssh用私钥登陆,-i选项  ssh localhost -i sshkey.private -l bandit14

ssl加密来传输密码

openssl s_client -connect localhost:30001 -quiet </etc/bandit_pass/bandit15

Level 16 → Level 17

nmap -A -p31000-32000 localhost
openssl s_client -connect localhost:31790 –quiet
touch /tmp/key17  #默认权限是-rw-rw-r--
vim /tmp/key17   把前面返回的RSA PRIVATE KEY复制下来
ssh localhost -i /tmp/key17 -l bandit17
出现错误

Permissions 0664 for ‘/tmp/key17‘ are too open.

It is required that your private key files are NOT accessible by others.

原因:在以NFS方式加载文件系统时,加文件系统中的所有文件改成777的权限。

而加载私钥文件时,若其权限为777则认为非法。

这是由于:基于“公私钥”认证的方式进行ssh登录的情况,会生成一对公私钥(公钥文件名类似x.pub,私钥文件名x)

然后公钥放在服务器上,自已保留私钥,当进行ssh登录,ssh程序会发送私钥到服务器与服务器上的公钥做匹配,匹配

成功方可登录。这里有一个安全问题,若私钥文件被别人盗取了怎么办?linux中通过强制设私钥文件的权限为700,这样

账号没盗取的情况下,私钥文件是不能被访问到的,实现了一定程度上的安全保证。

解决方法:设置私钥文件的权限为700(只要后面两位是0),公钥文件(.pub文件)的权限为755
				
时间: 2024-10-17 04:32:56

overthewire朝花夕拾的相关文章

java基础梳理--朝花夕拾(三)

1.了解面向对象的编程思想以及面向对象的特性: 对象: EveryThing is Object: 万物皆是对象,在程序中,我们可以将类.接口.方法.属性等都认为是对象: 面向对象: 是一种程序设计方法,它以对象作为基本的单元来构建系统,它利用对象将系统的复杂性隐藏在对象里(即封装),从而构建大型的工业级系统和大型系统. 面向对象包括三个过程: 面向对象分析(OOA).面向对象设计(OOD).面向对象编程(OOP). 面向对象的三个特性: 继承.封装.多态 面向对象和面向过程的区别? 面向过程就

《C++程序设计》朝花夕拾

(以后再也不用破Markdown写东西了,直到它有一个统一的标准,不然太乱了--) 函数签名int f (int a, int b) ↑ ↑ ↑ ↑ 返回类型 函数名 形 式 参 数 其中,函数名+形式参数=函数签名(function signature). 引用变量 int a = 1; int &b = a; a++; cout << a << ' ' << b << endl; //2 2 注意引用变量的声明方式,&写在等号左边是引用变

java基础梳理--朝花夕拾(二)

1.Java语言语法规则和文件格式: 第一个Java程序:/** 第一个Java程序:控制台输出Hello world!*/public class Test{    //访问修饰符 class关键词用于声明类使用 后面跟类名   public static void main(String args[]){//程序的入口,主函数main方法:        System.out.println("Hello world!");// 输出语句   }} Java语言区分大小写:publ

《线性代数》随笔:朝花夕拾

朝花夕拾 勿忘初心 学以致用 青出于蓝 积沙成塔 线性代数是理科生大学里必修的一门课,我要很惭愧的说,我完全没学会,整个学期的所有课里我都在想一件事情:这个东西好复杂,学了能用来干什么呢?回想我从小到大上过的数学课: 小学里最早学的是加减乘除,解决了数数的问题:后来有了负数.小数和分数,不再受自然数的限制,可以随心所欲对任何数进行计算:进而可以进入几何,常见形状的面积计算不在话下:此时方程开始乱入,它的神奇可以让我们知道结果再去探究原因. 进入初中后,开始接触函数,明明还不知道自己写下的公式的具

《朝花夕拾》读后感,以及一些随笔

按例收拾书桌,再一次翻到了大学带来后一直记着的笔记本.想了想,有些东西应该可以写写了,虽然是过去的自己写的,现在记录出来,算是对过去的一些总结吧. 主要是<朝花夕拾>这本书的各篇读后感,年代久远,当时记录可能不详,书现在也不在手上,就随便抄抄. 往事起起伏伏,记忆也在其中丢失大半,所余的,只有些许尘埃了吧.身体老去,精神常青,就像老城中的古树,经时间的洗礼,干枯了树干,黄化了叶片,但在春临之日,终是会有点点苍绿出现的,这便是不老,这便是不死.------以此纪念鲁迅先生. 青山与故国,前者千年

overthewire中的krypton题目解法

偶然看到一个开脑洞的网站,上面有很多有意思的题目,我捡了krypton练习了一下,感觉不错 地址: http://overthewire.org/wargames/krypton Krypton Level 0 Level 0 → Level 1 Level 1 → Level 2 Level 2 → Level 3 Level 3 → Level 4 Level 4 → Level 5 Level 5 → Level 6 Krypton Level 0 Level Info Welcome t

朝花夕拾——再看java类变量的初始化内幕

前面理解过java实例变量的初始化规则 朝花夕拾--看清java实例变量的初始化内幕 今天继续理清类变量的初始化顺序和细节,需要的朋友可以一起温习下. 类变量的初始化和实例变量的初始化很相似,相比实例变量初始化,少了构造器初始化的情况.大致只有:定义类变量时初始化和静态块中初始化两种情况. 规则:上述两种情况下,先对所有类变量进行申明并申请内存,在把赋值操作全部移动到静态块中进行初始化,顺序和源代码顺序一致. 首先理解下面代码 static double number = 100; 实际上JVM

朝花夕拾-4-shell

引言 shell,我们常常会用到,以其强大的功能,会帮助我们解决非常多棘手的问题.近期遇到一个问题,要跑非常多case,假设串行的执行,须要非常久.能不能让他们并行起来,但又不能全部case都并行执行呢?,由于全部case同一时候执行,机器会挂掉的. 1,方式1 比較直接的一种方式是,维护两个文件队列(*.start和*.stop)分别记录全部case的执行状态,然后依据并发数量来获取和分配资源. 代码例如以下: multi.sh: #!/bin/bash #Rill create to run

朝花夕拾——你了解构造器初始化顺序吗?

在java程序中,创建java对象,其初始化顺序总是先调用最顶层父类的初始化操作,包括初始化块和构造器,然后再向下调用其他类的初始化操作. 类和实例的初始化顺序可以参考 朝花夕拾--看清java实例变量的初始化内幕 朝花夕拾--再看java类变量的初始化内幕 先看看代码例子 package java_zhaohuaxishi; class GrandFather{ { System.out.println("GrandFather--非静态代码块"); } public GrandFa