黑客丛林之旅

黑客丛林之旅——挑战的不仅仅是黑客技术

简介:近几年玩过国内、国外许多黑客闯关的游戏,它们大多数是以web脚本技术为主要挑战项目。也有少部分用到反编译、软件破解、社会工程学或其它非web方面的技术。
现在,我也来设计一套黑客技术闯关题目,力争把技术面做得更广、更深一些。欢迎白帽子、黑帽子等各色帽子们前来指教!

本游戏的关卡设计思路是由易到难,由web客户端技术到web服务器端技术,再扩展到传统软件技术、新型应用程序技术,以及加密解密、社会工程学等。中间也会有部分关卡用到比较老的技术或思路。


第一关

原题

这里写图片描述

解题思路

审查页面源码即可

WriteUp

这里写图片描述


第二关

原题

这里写图片描述

解题思路

页面源代码中发现隐藏表单,直接post隐藏表单的内容

WriteUp

审查页面源码可以发现无论输入什么表单都是提交不了的,所以解题的关键不是第一个input的内容

这里写图片描述

发现有个隐藏的表单,那么要提交的应该是这个隐藏的input才对,直接post隐藏表单的value值即可

这里写图片描述


第三关

原题

这里写图片描述

解题思路

篡改cookie

WriteUp

审查页面源码没发现有价值的,那么Burp Suite看看

这里写图片描述

发现cookie一栏里有个login=no,改为yes即可

第四关

原题

这里写图片描述

解题思路

莫斯电码而已

WriteUp
这里写图片描述


第五关

原题

这里写图片描述

解题思路

base64直接解

WriteUp

密码已经加密放在了提示里面,直接解密就行

这里写图片描述


第六关

原题

这里写图片描述

解题思路

默认端口

WriteUp

mstsc  vnc :远程桌面
MSSQL  MySQL  Oracle  :数据库

共同点是都有默认端口

mstsc 默认端口:3389
vnc     默认端口:5901
3389 + 5901 = 9290
所以再找出三个数据库的默认端口相加即可

第七关

原题

这里写图片描述

解题思路

gif一帧一帧看即可

WriteUp

把gif分解成帧,发现提示

这里写图片描述

直接按提示提交就可以了

第八关

原题

这里写图片描述

解题思路

小小脑洞

WriteUp

通过作者的主页(http://www.fj543.com/)可知作者弟弟的名称,再有作者的网名fj543可推测答案为fj573

第九关

原题

这里写图片描述

解题思路

修改User-Agent

WriteUp

用Burp Suite抓包后修改浏览器标识和url即可

这里写图片描述

这里写图片描述


第十关

原题

这里写图片描述

解题思路

爆破,命令行type指令

WriteUp

除了密码不长之外没有其他提示,只能爆破

这里写图片描述

用时2s爆破出密码,解压得到10token.exe,运行后产生txt文件,不过无法直接打开

这里写图片描述

这里写图片描述

这里写图片描述

这时需要用到命令行的type指令

这里写图片描述

涨姿势点

type指令打开常规方法无法打开的文件

第十一关

原题

这里写图片描述

解题思路

简单隐写

WriteUp

一个24*24的gif怎么会有70多kB?
很明显隐藏有其他数据
不过binwalk却没发现什么,那么通过gif的格式结构搜索特定数值,这时发现隐藏的数据

这里写图片描述

可以知道隐藏了一个wav格式的音频文件,分离出音频文件,打开音频听提示即可

第十二关

原题

这里写图片描述

解题思路

猜测题目应该是对软件进行逆向分析得出code值算法,不擅长这种方法,那就取巧吧

WriteUp

软件运行如图,可以知道是通过发送网络数据包进行认证,所以ip地址是关键,用OD载入软件搜索unicode可得

这里写图片描述

这里写图片描述

可以知道认证ip为:'http://www.fj543.com/hack/'
  User-Agent为:'Mozilla/4.0 (compatible: HackersGameBrower)'
认证分为两个step,那么两次认证的code值应该是不同的,这里常规的方法是逆向分析出code值算法。
我采取的是爆破法,因为据软件运行时的临时ID和网页临时ID推测code值都是三位数,那么直接爆破就很简单
import requests

con = requests.Session()
header = {'User-Agent': 'Mozilla/4.0 (compatible; HackersGameBrowser)'}

cookie = {'ASPSESSIONIDSCRQQRTC':'BLNFHKCCLKAHGNCLHGFDFFLM',
          '_D_SID':'C566D105AFA3210DEC658FCF929AADF9',
          'Hm_lvt_ddc172cd878cb9d6da5a109ab508be16':'1505537184',
          'Hm_lpvt_ddc172cd878cb9d6da5a109ab508be16':'1505538837',
          'guoguan':'11'}

url = 'http://www.fj543.com/hack/?act=step2&code=%d'
h1 = con.get('http://www.fj543.com/hack/?act=step1&code=235',headers=header,cookies=cookie)
print(h1.text)

for i in range(1,1000):
    h = con.get(url%i, headers = header,cookies = cookie)
    if 'Bad' in h.text:
        continue
    else:
        print(h.text,i)
        break

这里写图片描述

爆破后可知step2的code值为245,浏览器访问以下ip即可
' http://www.fj543.com/hack/?act=step2&code=245'

这里写图片描述


第十三关

原题

这里写图片描述

解题思路

sql注入,猜测列名,爆破

WriteUp

本关参考资料
先到/hack/13sql.asp,通过语句 944 and 1=1944 and 1=2 可知此查询页面存在sql注入漏洞

这里写图片描述

这里写图片描述

可以用sqlmap进行后续注入工作,这里我采取了另一个思路即:
猜测密码字段为pwd 使用like指令猜测密码范围

这里写图片描述

将范围限定为a-z A-Z 0-9,进行爆破

这里写图片描述

从爆破结果可知密码为 bkpty的组合,生成字典后再次爆破即可

这里写图片描述

import itertools         #生成字典

f = open('zidian.txt','w')
for i in itertools.permutations('bkpty',5):
       c = ''.join(i)
       f.write(c + '\n')

f.close()
回到关卡初始页面,拦截数据包导入字典进行爆破

这里写图片描述

爆破出密码

这里写图片描述

输入密码即可过关

这里写图片描述


第十四关

原题

这里写图片描述

解题思路

逆向

WriteUp

本关参考资料
又是逆向。。,学会了再补过程

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值