黑客丛林之旅通关攻略

1. Level 1
1.png

前端验证,右键查看源码就能找到通关密码

2.png

New way:

3.png

flash,右键->播放,播放完会自动跳转到第二关

2. Level 2
4.png

方法一:

右键查看源码,看到是前端函数验证

5.png

直接F12,绕过chkPassword()

6.png

随便输入密码,点击Go就会跳转到下一关

方法二:

查看源码,发现有一个被隐藏的参数act,值为pass2

7.png

在url中添加这个参数

8.png

访问会直接跳转到第三关

3. Level 3
9.png

Burp抓包

看到数据包中有login参数,把login的值改为yes就行

10.png

或者f12直接改Cookie

11.png

改完之后重新访问页面就行

4. Level 4

12.png

摩斯密码

对照摩斯密码表解密

密码是IAMOK

New way:
13.png

既然是摩斯密码,那这里的名字应该就是摩斯吧

Morse

5. Level 5
14.png

把提示语中的两段密码分别进行base64解密和md5破解

base64:
15.png

md5:(不过这个不能过关)

16.png

6. Level 6

17.png

mstsc想到Windows远程桌面连接,默认端口是3389

vnc是Linux的远程桌面连接服务,默认端口是5901

所以password应该就是MSSQL、MySQL、Oracle三种数据库默认端口相加的和

MSSQL:1433
MySQL:3306
Oracle:1521

New way:
18.png

vnc默认端口是5901

直接访问?level=75901

跳转到第七关

7. Level 7

19.png

是个gif,闪得很快

右键保存下来,用Stegsolve打开

20.png

选择Frame Browser

一帧一帧看,中间有几张是大写,内容是提示忽略掉

gif直接用文本打开也能看到提示

21.png

所以通关密码就是8bwmqne(别问我怎么知道是这个)

8. Level 8

22.png

提示是社工题

说实话第一反应以为是哪个明星,后来才发现是作者

在网站右上角有作者的简介页面

23.png

简介中有一句
24.png

作者的网名是fj543,543谐音作者名字

所以猜测 (看答案)通关密码是fj573

New way:

在作者介绍页面找到作者的QQ空间

既然是喜欢的歌手组合,看看背景音乐列表

试了试

密码是Tara
26.png

9. Level 9

27.png
需要输入Token,按提示访问9token

Burp抓包改请求头里的浏览器信息

28.png

得到Token
29.png

10. Level 10

30.png
下载令牌生成器

是个zip,先想到的是zip伪加密,但是看了不是伪加密

提示说解压密码不长,但很复杂,直接爆破吧

31.png

解压得到一个exe文件,运行后会在同目录下生成一个文件

32.png

直接双击打不开,需要用type命令

type 文件绝对路径\文件名

33.png

11. Level 11

34.png

是个gif表情,保存下来看看

35.png

一个小小的表情竟然76kb,肯定有问题

用foremost分离出隐藏文件

36.png

得到一个wav音频文件

37.png

声音内容是

表情加上3721

一开始以为是gif文件名加3721,试了很多次都不对

后来才知道因为表情是哭,所以通关密码是cry3721

12. Level 12

38.png

看样子是需要两个临时ID

先下载认证软件

Win10可能需要管理员权限运行,否则会报错

39.png

大概了解软件之后,用IDA没有搞出什么思路

用winhex打开,发现一些字符串

40.png

?act=step1&code=
?act=step2&code=

这两个链接应该是进行step1和step2验证的

先用得到的两个临时ID试试

分别访问?act=step1&code=275和?act=step2&code=840

41.png

42.png
嗯…提示错误…

思前想后,也没别的突破点,问题应该就出在840这儿

爆破吧,没啥思路就爆破

code的值就是三位数字,写个脚本生成0到1000的字典

with open("passwd.txt","w") as f:
    for x in range(0,1000):
        f.write("%d\n" % x)

设置变量、添加字典后开始爆破

43.png

根据长度判断爆破是否成功

44.png

是个302跳转,访问/?level=g12ok过关

13. Level 13

45.png
看提示,应该是SQL注入

进入13sql.asp页面

输入ID提交
46.png

SQL注入没跑了

基本操作and 1=1和and 1=2
47.png

48.png

判断出这儿是个注入点了

order by 2正常,order by 3出错
49.png

50.png

试了试绕过,没有爆出回显点

既然要获得对应ID的密码,那就要先猜测出存放密码的字段名

猜测字段名,用到and column_name like '%%'语句

存放密码的字段名,先试试常见的
51.png

猜测出字段名为pwd

52.png

接下来就是猜字段内容了

生成一个单个字符的密码字典

放到Burp

添加变量、设置字典后开始爆破

53.png

根据返回包长度,得出密码都包含哪些字符

54.png

在SQL语句中%代表任意长度字符串,_代表一个字符,且大小写不区分

所以密码就是A、C、R、T、Z这几个字母构成

方法一:

继续爆破

先用脚本生成一个包含上面几个字母的密码,长度为5

import itertools
f = open("pass.txt", "w")

for i in itertools.permutations('ACRTZ', 5):
    c = ''.join(i)
    f.write(c+'\n')

f.close()

然后继续用Burp爆破

方法二:

手动猜测

先试试and pwd like '%C%A%'

55.png

可以得到A在C后面,再用这个方法不断尝试,最后得出密码,小写

14. Level 14

56.png

下载令牌生成器

57.png

用OD打开

方法一:

右键搜索UNICODE

58.png

看到令牌

59.png

运行exe输入令牌获得通关密码

60.png

方法二:

在00403006处修改je为jne

je是若相等则跳转,jne是若不相等则跳转

所以输入错误的令牌就会跳转

61.png

右键选择复制到可执行文件

62.png

全部复制后

右键点击保存文件

63.png

或者直接点击上面运行按钮直接运行

65.png

至此最新关卡全部完成