三十七,Web渗透提高班之hack the box在线靶场注册及入门知识

三十七,Web渗透提高班之hack the box在线靶场注册及入门知识

首页角色扮演爆破挑战测试服更新时间:2024-05-03

一.注册hack the box

Hack The Box是一个在线平台,允许测试您的渗透技能和代码,并与其他类似兴趣的成员交流想法和方法。它包含一些不断更新的挑战,并且模拟真实场景,其风格更倾向于CTF挑战。

注册登录之后如下图所示,包括地图炮(attack maps)、在线人数及设备、Web渗透真实场景等。

官方网址:https://www.hackthebox.eu/

那么,开始我们的注册和学习吧!哪有这么简单,注册是很有意思的,Let’s go!

第一步,访问网站主页并点击“JOIN”按钮,跳转至获取邀请码界面。

主页中间有个“JOIN”超链接,点击之后会进入邀请码页面,注册需要一个邀请码。

第二步,该邀请界面也可以直接通过“https://www.hackthebox.eu/invite”访问,但是邀请码是什么呢?

我们右键浏览器“审查元素”或按下F12查看源代码。
在“https://www.hackthebox.eu/js/inviteapi.min.js”脚本中发现“makeInviteCode”的提示。

第三步,打开控制台Console,并输入命令“makeInviteCode()”,输出结果如下图所示。

在控制台执行“makeInviteCode()”函数会回显一个base64的字符串。

代码如下,enctype通常为"ROT13"或者"BASE64",表示加密方式,所以接下来我们要通过Base64解密该data。

{0: 200, success: 1, data: {…}} 0: 200 data: data: "SW4gb3JkZXIgdG8gZ2VuZXJhdGUgdGhlIGludml0ZSBjb2RlL.....mVyYXRl" enctype: "BASE64" __proto__: Object success: 1 __proto__: Object

第四步,通过在线网站解密该字符串,如下图所示。

解密后的结果如下所示,它居然还不是邀请码,而是让你发送一个POST请求到指定页面。注意,在SQL注入、XSS注入等渗透中,发送自定义拼接的POST请求是非常重要的一个知识点。

In order to generate the invite code, make a POST request to /api/invite/generate

GET请求和POST请求区别

GET和POST是HTTP协议中的两种发送请求的方法,最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

GET是从指定的资源请求获取数据,像数据库的查询操作一样,不会修改增加数据,也不会影响资源的状态;而POST是向指定的资源提交要被处理的数据,是用于可能修改指定资源的请求,会像数据库的删除、增加、修改数据一样,可以影响资源的状态。

安全方面,GET数据通过URL传递,数据是会直接暴露在URL上,并且数据会保留在浏览器历史中,是能被缓存且可收藏为书签的,所以安全性非常低;POST数据则是放在Request body(报文的请求体)中,数据不会保留在浏览器历史或Web服务器日志,不能被缓存且不可收藏为书签,所以POST的安全性要比GET的安全性高。

GET请求和POST请求都有自己的语义,不能随便混用。在发送密码或其他敏感信息时绝对不要使用GET请求!同时在发送数据时,GET 请求向URL添加数据,URL的长度是受限制的(URL最大长度是2048个字符);而POST请求是无限制的。GET只接受ASCII字符,而POST没有限制。

第五步,发送POST请求并获取返回值。

如果在Linux或MAC系统,使用curl post发送请求。

curl -X POST https://www.hackthebox.eu/api/invite/generate

由于作者电脑是Windows系统,采用其他方法,发送POST请求,如Python代码、OWASP Mantra浏览器发送。

OWASP Mantra 是由 Mantra 团队开发,面向渗透测试人员、Web 开发人员和安全专业人员的安全工具套件 (基于浏览器, 目前是 Chromium 和 Firefox ),包括扩展程序和脚本集合。

在OWASP Mantra浏览器中输入网址和选中“Enable Post data”按钮,发送post data为“1”,得到如下图所示的返回值,它还是使用base64加密的邀请码。

返回值如下:

{ "success":1, "data":{ "code":"UEVYVUktTUxZRkstRlZVVVEtTU1DTUstT1NLRkk=", "format":"encoded"}, "0":200 }

第六步,通过在线网站解密Base64,自此终于获取了我们的邀请码。

输入验证码,点击“Sign Up”。

第七步,在注册页面输入用户名、密码、邮箱,并完成注册。
注册页面:https://www.hackthebox.eu/register

您可能会想,我为什么不进行目录爆破,直接获取注册界面然后进行注册呢?哈哈,其实我也尝试了,它会提示如下图所示错误,让你您进行获取邀请码。

问题

作者在注册过程中遇到一个问题,而且花费了很长时间才解决。虽然很多人会觉得很容易解决,但对于网络安全初学者的我来说,还是挺难的。如果您是初学者,别担心、别气馁,一步一个脚印的前行。

该问题是我们注册时,由于看不到验证码,总提示“The g-recaptcha-response field is required.”。怎么解决呢?您应该懂吧!

但作者的PC端计算机访问Google始终失败,最后是通过手机端完成的。然后填写用户名、邮箱、密码,做下Googel人机验证 ,验证通过就好了。

最后,打开QQ邮箱点击链接确认即可登录。

登录网站,显示如下图所示主页。

主页包括地图炮(attack maps)、在线人数及设备、Web渗透真实场景等。

二.hack the box介绍

Hack The Box is an online platform allowing you to test and advance your skills in cyber security. Use it responsibly and don’t hack your fellow members.

网站中间显示了基本统计信息:

点击某个团队,能看到它们的相关信息,如下图所示。

点击“Access”中获取一些入门知识。

机器(Machines)和挑战(Challenges)是最常用的界面,如下图所示。它能显示激活机器(Active Machines)和释放机器(Retired Machines),释放机器需要VIP能激活。每个机器独有对应的难度和分数。

Challenges包含了各种类型的题目,类似于CTF。

这里我们选择Web题目,可以看到题目的难度值、评分。

我们随机选择一个题目,并且点击“Start Instance”,安装之后会显示网址和端口。

复制网址和端口,即可做题。

同时,该网站包括讨论区,但切记别透露题目的核心完成步骤。

如下图所示:

三.小试牛刀

终于登录成功,是不是有点兴奋呢?接着我们分线一个小案例——Cartographer。

访问网址如下图所示:

这是一道SQL注入题目,我们将用户名和密码设置为万能密码admin、‘or’='or’均失败,那试试 ‘=’ 呢?

也可以尝试分析源码或BurpSuite分析。

成功之后会进入下面的界面,还需要进一步提取Flag。

接着尝试,参数试试设置flag呢?最终后去的flag如下所示。

按照格式输入Flag提交即可,如:HTB{I love CSDN}。

写到这里,这篇文章分享结束,我们拿下了first blood。非常推荐大家去试试hack the box。同时更多细节大家自己去尝试,我们也不泄露最终结果。

四.总结

这篇基础性文章就此结束,希望文章对您有所帮助。非常感谢师弟他们的推荐,也觉得自己的技术好浅,要学的知识好多。如果您是安全初学者,一步一步学习,多实践多尝试,大牛都是慢慢练成的。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved