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