Bandit Level 5 → Level 6

The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties:

human-readable
1033 bytes in size
not executable

解密

bandit5@bandit:~/inhere$ find . -type f -size 1033c ! -executable -exec file {} \;
./maybehere07/.file2: ASCII text, with very long lines
bandit5@bandit:~/inhere$ cat ./maybehere07/.file2
DXjZPULLxYr17uwoI01bNLQbtFemEgo7

知识点

  1. find命令-size指定文件大小,字节用c后缀表示;
  2. find命令-executable用于标示可执行文件,前面加否定前缀!

Bandit Level 4 → Level 5

The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “reset” command.

解密

bandit4@bandit:~/inhere$ find . -type f -exec file {} \;
./-file09: data
./-file06: data
./-file01: data
./-file02: data
./-file05: data
./-file03: data
./-file08: data
./-file07: ASCII text
./-file04: data
./-file00: data
bandit4@bandit:~/inhere$ cat ./-file07
koReBOKuIDDepwhWk7jZC0RTdopnAYKh

知识点

  1. 使用find命令,-type获取文件,-exec将输出给到下一个命令,使用{}代表每一个输出,最后需要\;来结束
  2. file命令可以帮助你获取文件的基本信息

Bandit Level 3 → Level 4

The password for the next level is stored in a hidden file in the inhere directory.

解密

  1. ssh -p 2220 bandit3@bandit.labs.overthewire.org 密码 UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
  2. cd ./inhere/ 进入题中说的目录
  3. ls -a 查看当前的隐藏文件,发现.hidden
  4. cat .hidden 得到密码 pIwrPrtPN36QITSp3EQaw936yaFoFgAB

知识点

考察了ls命令的-a参数,用户查看包含隐藏文件的所有当前目录内容

Bandit Level 2 → Level 3

The password for the next level is stored in a file called spaces in this filename located in the home directory

解密

  1. ssh -p 2220 bandit2@bandit.labs.overthewire.org 密码 CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
  2. cat spaces\ in\ this\ filename 得到 UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

知识点

这里考察了对于不可见字符的转义,如本次的space空格符,使用\来转义

Bandit Level 1 → Level 2

The password for the next level is stored in a file called – located in the home directory

解密

  1. ssh -p 2220 bandit1@bandit.labs.overthewire.org 输入密码 boJ9jbbUNNfktd78OOpsqOltutMc3MY1
  2. cat ./- 得到 CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9

知识点

主要考察了-符号是linux许多命令中代表“从标准输入读取”。

Bandit Level 0 → Level 1

The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, use SSH (on port 2220) to log into that level and continue the game.

解密

  1. ssh -p 2220 bandit0@bandit.labs.overthewire.org,密码bandit0,登陆
  2. cat ~/readme 得到下一关密码 boJ9jbbUNNfktd78OOpsqOltutMc3MY1

知识点

主要让我们使用了cat命令,查看文件内容。

Bandit Level 0

The goal of this level is for you to log into the game using SSH. The host to which you need to connect is bandit.labs.overthewire.org, on port 2220. The username is bandit0 and the password is bandit0. Once logged in, go to the Level 1 page to find out how to beat Level 1.

解密

本题主要是告诉我如何使用ssh登陆bandit游戏服务器

ssh -p 2220 bandit0@bandit.labs.overthewire.org

密码:bandit0

知识点

  1. ssh工具的基本使用
  2. -p参数使用其他端口

个人工具汇总

用于记录工作、生活提高效率的工具。

硬件装备

  • MacOS笔记本
    • Mistel分离式键盘(工作)、Magic Keyboard(生活)
  • Magic Mouse、六按键鼠标
  • 站立式办公台
  • 宽屏独立显示器
  • 扩展坞
  • Kindle
  • ……(突然发现说不完,不说了)

软件装备(必备)

VIM

方便的轻量级终端文本编辑器,用于快速地完成文档编辑,当然,也可以配合plugin打造成重量级多功能工具,譬如现代IDE、文件管理工具、Markdown编辑器等。

iTerm2

优秀的原生终端替代产品。

tmux

优秀的终端工具箱。
我会在iTerm中启动它,专门用作工作环境,同时可以启用plugin,譬如电量、时间等,可以更加沉静于工作不被打扰。

ShadowsocksX-NG

(ssserver + ss-local)
科学上网工具,天朝没办法。。。

Proxifier

也是很强大的精准代理工具,强大在于它可以制定某个应用单独走Socks5代理(不只是该功能)。
这种场景就是在使用一个不支持socks5代理的软件时,总是需要用到代理,譬如Mail.app中添加了Google账号。

tsocks

和上面的一样,也是一个单独应用socks5代理(不只是该协议)。有时候brew install一些工具,总是特别慢,毕竟要从GitHub上去拉代码,所以使用tsocks brew install就可以暂时代理这次任务。

brew

如果对文件组织、安装以及库依赖等不熟悉,我觉得还是使用包管理工具好一些,在Mac上,使用brew工具最好。

w3m

使用w3m可以在字符界面访问网页,有些时候可以省资源,也可以锻炼自己的终端能力。

libsixel

一款终端图片展示工具,w3m可以支持libsixel,我测试了可行,而且对比了其他的w3mimgdisplay, imgcat等,还是这个可用。

imgcat

iTerm的小工具,可用在iTerm上展示图片。

visual studio code

微软的IDE,非常轻量,插件形式做得很好。

Intellij IDEA

写Java几乎是必备。重型工具。

Chrome

占有浏览器的大部分市场,对开发者很友好。

OmniPlan

很好的甘特图工具,帮助项目排期迭代。

Karabinder

wow,强大的键盘映射工具,解放双手+提升效率。

  1. 使用非苹果排版的键盘时可以简单地映射按键,保持原有习惯;
  2. 使用复杂规则,把鼠标的多余按键给映射到一些键盘快捷键上,譬如桌面切换;

aria2

很赞的下载工具,配上一些浏览器插件,可以很好地下载一些资源。

nmap

强大的网络扫描工具。

Paste

一款剪贴板增强工具,支持iCloud云端同步+历史剪贴板等。

iState Menu

强大的系统参数可视化工具,自己破解下很好用,还可以看天气,做得很漂亮。

Telegram

目前使用到的最棒的即使通讯工具,但是需要科学上网。

note、reminder、calender

苹果自带的软件,由于iCloud的帮助,已经无法摆脱苹果产品了。

软件工具(推荐)

TextNut

文档组织、编辑工具。一般本地的一些内容我会记录在这里(如果note支持markdown,其实我还是希望都用note)

Xmind ZEN

一款轻量级的脑图工具。

Bartender 3

一款顶端状态栏重绘工具。

Movist Pro

很漂亮的媒体软件。

AppCleaner

App删除清理工具。

uTorrent

一款种子下载工具,但是国内很多tracker都访问不到。。。我在越南用得飞起。

Paw

一款HTTP请求发送工具,挺漂亮的界面。

Hex Friend

软件十六进制查看、编辑工具。

Hopper Disassembler

反编译工具。

Emby

一个方便的优质影视软件。

MouseEscape

美化鼠标工具。

Noizio

白噪声工具。

LX Music

落雪音乐,开源听音乐的工具(可惜了,iOS还是没有)。

Duet

Mac投屏到iPhone。

Linux使用QQ SMTP服务器发送邮件

着实搞了我整整一天,艰辛的过程就不说了,直接说使用和配置。
特别注意:smtp.qq.com用于普通用户,stmp.exmail.qq.com用于企业用户

方式一

工具

  • ssmtp
  • mailutils(可有可无吧)

配置SMTP

配置/etc/ssmtp/ssmtp.conf

root=van                        # 名字,不重要
hostname=van                    # 机器名,不重要
mailhub=smtp.exmail.qq.com:465  # QQ有提供,重要
rewriteDomain=qq.com            # 转发域名,重要
AuthUser=yuzetao@chafou.com     # 你的邮件地址,重要
AuthPass=xxxx                   # QQ给的授权码,重要
FromLineOverride=YES            # 可以覆盖From等header,重要(QQ会校验From字段)
UseTLS=YES                      # 强制使用TLS,重要(QQ强制)

配置/etc/ssmtp/revaliases

root:yuzetao@chafou.com:smtp.exmail.qq.com:465  # 改成你的邮件地址,重要(用于匹配替换)

使用mail发送邮件

mail -a 'From: yuzetao@chafou.com(van_江城子)' -s '这是一个最终测试邮件' y344087491@gmail.com < test_mail        # -a 设置From头非常重要,否则会覆盖,被QQ拒绝

相关知识

特别注意header

如:
From:发送者,如果用英文括号,可以展示括号中的内容
To:接受者
Cc:抄送给谁
Content-Type:就和HTTP协议一样,如果是text/html,服务器会渲染
……

方式二

工具

  • postifx
  • mail(mailx)

配置postifx

postfix是一个邮件传输代理(MTA),可以用它来收发邮件,这里只是用做接受mail客户端(MUA)的邮件,来转发到远端的SMTP服务器

relayhost = smtp.exmail.qq.com:465              # 对方服务器
smtp_use_tls = yes                          # 使用TLS
smtp_sasl_auth_enable = yes
smtp_tls_wrappermode = yes
smtp_tls_security_level = encrypt
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/private/etc/postfix/sasl_passwd # 用户名密码相关
smtp_generic_maps = hash:/etc/postfix/generic   # 转发设置(对QQ很重要)

配置sasl_password

smtp.exmail.qq.com:465 yuzetao@chafou.com:<授权码>

配置generice

van@vans-MacBook-Pro.local yuzetao@chafou.com   # 更改了From头

Mac终端浏览器配置

工具

  • w3m
  • libsixel
  • ssserver, ss-local, polipo

安装配置使用

libsixel

用于w3m中图形化展示。

  • 下载源码git clone https://github.com/saitoha/libsixel
  • 配置、构建、安装

    • configure, make, make install

这里需要注意几个点:

  1. 请使用Iterm2 3.3+ 版本;
  2. 请构建完毕之后安装,即make install
  3. configure的时候,可以看下哪些包不存在,建议手动加上依赖

w3m

  • 下载源码git clone https://github.com/tats/w3m
  • 配置、构建、安装

    • configure, make, make install

需要注意:

  1. configure的时候,请注意SSL、并且加上--enable-image参数;

完成这步,其实就可以使用w3m -sixel 去尝试终端浏览网页了。但是,伟大的中国人民与世界之间存在着一堵看不见的高墙。这个时候,就需要“科学上网”软件的帮助。我们这里用到了ssserver和ss-local,这两个东西我就不加赘述。重要的是,本地ss-local启动的server是socks5协议,而w3m只支持HTTP。

所以,请brew install polipo,polipo可以帮助我们将socks5协议转为HTTP协议。但是download的时候一直hang住,所以我去GitHub上下载了源码,构建编译安装(这里没有额外的配置)。
polipo socksParentProxy=127.0.0.1:1086 2>&1 1>/tmp/polipo.log &启动服务。

接着,打开w3m,使用o查看options,在http proxy和https proxy中填写http://127.0.0.1:8123,别忘了点下面的[OK]保存。