HackingLab之基础关攻略

前言

作为一无所知的小白,我仅仅是将此作为摸鱼时的一种解谜游戏看待,因此不会事先去恶补过多的知识,遇到盲点也会果断放弃,上网查攻略,毕竟乐趣作为重要。

每一关的解法并不唯一,可以用抓包工具,也可以只用python,我的想法是能写多少写多少方法。题目什么的我也懒得复制粘贴了,毕竟没有意义。

攻防平台

闯关

第一关

讲道理,看到题目就想到查看源代码。直接F12,答案写在注释里。

jflsjklejflkdsjfklds

第二关

密文再加密一次又变回明文,既然全是小写字母,就很容易想到与13位后的对应字母替换。查询可知这种加密算法叫做Rot13。

23ksdjfkfds

第三关

大致看一下密文,发现最后一位是特殊字符“=”,搜索一下与等号有关的加密算法,查到base64算法。在线解密,最终可以得到key。

jkljdkl232jkljkdl2389

第四关

既然题目都说了MD5,何不一试?

bighp

第五关

小白没什么思路,搜索关键字无果,于是看攻略。修改请求头中的Accept-Language参数。
这意思就是根据语言判断是否是外国人呗……
方法一:
直接修改浏览器的语言,把中文删去。
方法二:
用python的request库伪造请求头的Accept-Language参数,然后访问网址,并打印响应内容。

import requests
url = "http://lab1.xseclab.com/base1_0ef337f3afbe42d5619d7a36c19c20ab/index.php"
headers = {'Accept-Language': 'q=0.5,en-US;q=0.3,en;q=0.2'}#伪造请求头参数
r = requests.get(url,headers=headers)# 请求获取URL位置的资源,包含从服务器返回的所有内容
r.encoding = r.apparent_encoding
r.encoding = 'utf-8'
print(r.text)

(TU687jksf6&

第六关

搜索引擎搜索关键字,发现似乎与“User-Agent”这个属性有关。F12到Network观察请求头,找到该属性,后面参数可以明显看出和浏览器相关,或许修改此处即可。
方法一(以Chrome为准):
F12打开开发者工具,点击右上方三个点,点击More Tools->Network conditions,直接修改User-Agent的值。
方法二:
用python的request库伪造请求头的User-Agent参数,然后访问网址,并打印响应内容。

import requests
url = "http://lab1.xseclab.com/base6_6082c908819e105c378eb93b6631c4d3/index.php"
headers = {'User-Agent':'HAHA'}
r = requests.get(url,headers=headers)
# 请求获取URL位置的资源,包含从服务器返回的所有内容
r.encoding = r.apparent_encoding
r.encoding = 'utf-8'
print(r.text)

meiyouHAHAliulanqi

第七关

没什么想法,看攻略说是藏在响应头里。
方法一:
F12到开发者工具查看Network里的响应头,就看到答案了。
方法二:
用python的request库申请资源,打印响应头。

import requests
url = "http://lab1.xseclab.com/base7_eb68bd2f0d762faf70c89799b3c1cc52/index.php"
r = requests.get(url)
# 请求获取URL位置的资源,包含从服务器返回的所有内容
r.encoding = r.apparent_encoding
r.encoding = 'utf-8'
print(r.headers)

kjh%#$#%FDjjj

第八关

将鼠标放在超链接“到这里找key_”上时,发现左下角显示链接与点击链接后的网址不同,可知发生了重定向。
搜索浏览器如何阻止重定向,方法无效。
搜索python的request库访问如何阻止重定向,找到解决方法,只需再get函数中添加属性allow_redirects=False即可。注意申请的链接是超链接显示的链接。

import requests
url = "http://lab1.xseclab.com/base8_0abd63aa54bef0464289d6a42465f354/search_key.php"
r = requests.get(url,allow_redirects=False)
# 请求获取URL位置的资源,包含从服务器返回的所有内容
r.encoding = r.apparent_encoding
r.encoding = 'utf-8'
print(r.text)

在这里插入图片描述

可以得到一个网址./key_is_here_now_.php

ohHTTP302dd

第九关

搜索关键字,发现登录信息与cookie有关,并且发现测试网址使用了一个名为“Login”的cookie。
F12到Network查看请求头,发现参数Cookie:Login=0,于是尝试用python的request库伪造请求头的Cookie参数,使Login=1,然后访问网址,并打印响应内容,得到答案。

import requests
url = "http://lab1.xseclab.com/base9_ab629d778e3a29540dfd60f2e548a5eb/index.php"
headers = {'Cookie':'Login=1'}
r = requests.get(url,headers=headers)
#r = requests.post(url,data={'v':'111111'})
# 请求获取URL位置的资源,包含从服务器返回的所有内容
r.encoding = r.apparent_encoding
r.encoding = 'utf-8'
print(r.text)

yescookieedit7823789KJ

第十关

发现只能输入3位数字,而999依旧显示太小。
F12查看源代码,发现标签属性中限制了输入长度。
方法一
直接F12在开发者工具里修改源代码,使之能够输入一个极大的数,直接得出答案。
方法二
用python提交不受标签限制

import requests
url = "http://lab1.xseclab.com/base10_0b4e4866096913ac9c3a2272dde27215/index.php"
r = requests.post(url,data={'v':'111111'})
# 请求获取URL位置的资源,包含从服务器返回的所有内容
r.encoding = r.apparent_encoding
r.encoding = 'utf-8'
print(r.text)

768HKyu678567&*&K

第十一关

题目崩了,答案就直接放在源代码注释里了。

^&*(UIHKJjkadshf

第十二关

没有思路,上网查攻略,发现与robots协议有关,虽然不知道是怎么想到的……

robots协议也叫robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。

既然如此,就直接访问./robots.txt,看到Disallow: /9fb97531fe95594603aff7e794ab2f5f/
于是访问该网址,得到提示说此页面不是登陆页面,继续搜索。
一般来说登录页面就是在网址后面加/login.php,尝试,成功看到答案。

UIJ%%IOOqweqwsdf

结语

至此,基础十二关便结束了。
虽然总是在上网查攻略,但依旧乐趣不减,毕竟都是我没接触过的东西。
感觉学到了不少东西,作为娱乐方式,还是很赚的。
以后可能补上抓包工具的解法。

有兴趣可以逛一逛我的个人博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值