freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

0

1

2

3

4

5

6

7

8

9

99+
土匪通关笔记(Level0—— Level 11部分)
gaoye02 2020-12-03 18:49:43 151024

靶场地址(https://overthewire.org/wargames/bandit/

请大家Ctrl+f搜索【bandit】image-20201203135408520

bandit0@bandit:~$ cat README
boJ9jbbUNNfktd78OOpsqOltutMc3MY1
bandit1@bandit:~$ cat ./- 使用"./"来表示当前目录,文件就表示为‘-’
CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9
bandit2@bandit:~$ cat spaces\ in\ this\ filename 
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
bandit3@bandit:~/inhere$ cat .hidden
bandit4@bandit:~$ cd inhere/
bandit4@bandit:~/inhere$ ls
-file00  -file01  -file02  -file03  -file04  -file05  -file06  -file07  -file08  -file09
bandit4@bandit:~/inhere$ file ./* #file命令查看文件类型
bandit4@bandit:~/inhere$ vi ./-file07
koReBOKuIDDepwhWk7jZC0RTdopnAYKh
bandit5@bandit:~/inhere$ find . -type f  -size 1033c
./maybehere07/.file2
bandit5@bandit:~/inhere$ cat ./maybehere07/.file2
DXjZPULLxYr17uwoI01bNLQbtFemEgo7

find

-size n:文件大小是n 单位:b代表512位元组的区块,c表示字元数,k表示kilobytes,w是二个位元组。 -typec:文件类型是c的文件。 d:目录 c:字型装置文件 b:区块装置文件 p:具名贮列 f:一般文件 l:符号连结 s:socket -pidn:processid是n的文件

bandit6@bandit:~$ find / -user bandit7 -group bandit6 -size 33c 2>/dev/full
/var/lib/dpkg/info/bandit7.password
bandit6@bandit:~$ cat /var/lib/dpkg/info/bandit7.password
HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs

image-20201203141904325

cvX2JJa4CFALtqS87jk27qwqGhBM9plV
bandit7@bandit:~$ grep millionth data.txt
millionth       cvX2JJa4CFALtqS87jk27qwqGhBM9plV
bandit7@bandit:~$


bandit8@bandit:~$ sort data.txt | uniq -u
UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR

Linux uniq

命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。 uniq 可检查文本文件中重复出现的行列。

uniq -cdu-s<字符位置>--help输入文件-c或--count 在每列旁边显示该行重复出现的次数。 -d或--repeated 仅显示重复出现的行列。 -f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。 -s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。 -u或--unique 仅显示出一次的行列。 -w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。 --help 显示帮助。 --version 显示版本信息。 [输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据; [输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。

Linux sort

命令用于将文本文件内容加以排序。 sort可针对文本文件的内容,以行为单位来排序 sort -bcdfimMnr-t<分隔字符>--help[文件] -b 忽略每行前面开始出的空格字符。 -c 检查文件是否已经按照顺序排序。 -d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。 -f 排序时,将小写字母视为大写字母。 -i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。 -m 将几个排序好的文件进行合并。 -M 将前面3个字母依照月份的缩写进行排序。 -n 依照数值的大小排序。 -u 意味着是唯一的(unique),输出的结果是去完重了的。 -o<输出文件> 将排序后的结果存入指定的文件。 -r 以相反的顺序来排序。 -t<分隔字符> 指定排序时所用的栏位分隔字符。 +<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。 --help 显示帮助。 --version 显示版本信息。

bandit9@bandit:~$ strings data.txt | grep ====
========== the*2i"4
========== password
Z)========== is
&========== truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk

trings

命令用于输出文件中可打印的字符串。不论文件是普通文本,还是可执行文件,任何文件都可以。

最常用的选项: -a 扫描整个文件的任何段,这是strings的默认行为,但是这种默认行为是可以改变的。所以建议加上此选项。 -f Print the name of the file before each string. -n 字符串的最小长度。默认是4。也就是说长度小于4的字符串不会输出。

常用场景:

确定某个可执行文件的版本。 生成的so文件的文件名往往不包含完整的版本号。 故可以使用strings -a | grep xxx.xxx 来确认版本。 当然,grep也可以。但是grep只能显示match与否,不能输出具体的字符串。

确认编译ko文件所使用的gcc版本

root@debian2:~/test# strings /lib/modules/4.9.0-7-686/kernel/net/netfilter/ipvs/ip_vs.ko | grep -i GCC GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516 GCC: (Debian 6.3.0-18+deb9u1) 6.3.0 20170516

确认源文件与目标文件的对应关系 [taoge@localhost learn_c]



bandit10@bandit:~$ cat data.txt 
VGhlIHBhc3N3b3JkIGlzIElGdWt3S0dzRlc4TU9xM0lSRnFyeEUxaHhUTkViVVBSCg==
bandit10@bandit:~$ base64 -d data.txt
The password is IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR

Base64

Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于{\displaystyle \log _{2}64=6}{\displaystyle \log _{2}64=6},所以每6个位元为一个单元,对应某个可打印字符。3个字节相当于24个位元,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后BinHex(英语:BinHex)的版本使用不同的64字符集来代表6个二进制数字,但是不被称为Base64。

Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据,包括MIME的电子邮件及XML的一些复杂数据。

格式:base64 file 从指定的文件file中读取数据,编码为base64字符串输出。 格式:echo "str" | base64 -d 将base64编码的字符串str+换行 解码输出。 格式:echo -n "str" | base64 -d 将base64编码的字符串str解码输出。 注意与上面的差别。 格式:base64 -d 从标准输入中读取已经进行base64编码的内容,解码输出。 格式:base64 -d -i 从标准输入中读取已经进行base64编码的内容,解码输出。

# 工具介绍
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 gaoye02 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
gaoye02 LV.2
这家伙太懒了,还未填写个人描述!
  • 10 文章数
  • 2 关注者
ATT&CK红队评估实战靶场(1)(详细版)
2022-02-17
Vulnhub_DeaThnote
2021-09-28
Vulnhub_DC-8靶机通关笔记
2021-02-07
文章目录