简介
感谢一位iie攻防大佬的安利,开始试水tryhackme网站上的一些小实验,之后可能还会跟进做一些vulnhub的渗透~本文简要记录我在tryhackme的第一个实验"Walking An Application"的相关内容。该实验主要是介绍了使用F12的开发者工具,可以浏览哪些网站相关信息。实验链接尝试黑客我|浏览应用程序 (tryhackme.com)
实验内容
1. Walking An Application
Here is a short breakdown of the in-built browser tools you will use throughout this room:
- View Source - Use your browser to view the human-readable source code of a website.(查看源码)
- Inspector - Learn how to inspect page elements and make changes to view usually blocked content.(在页面中选择一个元素以进行检查)
- Debugger - Inspect and control the flow of a page's JavaScript(控制JS流的执行)
- Network - See all the network requests a page makes.(查看网站的网络请求)
2. Exploring The Website
作为渗透测试人员,在审查网站或web应用程序时的目的是要发现可能易受攻击的功能,并评估其是否确实具有被攻击风险,而这些功能通常需要与用户进行一些交互。而记录网站的交互部分,一个好方法是记录网页各区域的功能。
3. View The Page Source
网页源码是服务器返回的代码,往往由HTML、JS、CSS组成。源码中可能在注释部分、隐藏的网页链接中泄露额外的信息,例如使用了什么框架、css文件的存储地址等,可通过这些信息检查可能的风险。
4. Developer Tools - Inspector
页面源并不总是代表网页上显示的内容;这是因为CSS,JavaScript和用户交互可以改变页面的内容和样式,这意味着我们需要一种方法来查看浏览器窗口中显示的内容。元素检查器通过为我们提供网站上当前内容的实时表示来协助我们。除了查看此实时视图外,我们还可以编辑页面元素并与之交互,这有助于 Web 开发人员调试问题。
5. Developer Tools - Debugger
在目标网站上,单击联系页面,每次加载页面时,您可能会注意到屏幕上快速闪烁红色。我们将使用调试器来确定这个红色闪光是什么。在开发者工具-sources中可看到当前网页正在使用的所有资源的列表。如果单击资产文件夹,将看到一个名为flash.min.js的文件。单击此文件将显示 JavaScript 文件的内容。
很多时候,在查看javascript文件时会发现所有内容都在一行上,这是因为它已被最小化,这意味着所有格式(制表符,间距和换行符)都已删除以使文件更小。这个文件也不例外,它也被混淆了,这使得它故意难以阅读,所以它不能被其他开发人员轻易复制。我们可以使用“漂亮打印”选项返回一些格式,该选项看起来像两个大括号{}以使其更具可读性,尽管由于混淆,仍然很难理解文件发生了什么。如果滚动到 flash.min.js 文件的底部,您将看到以下行:flash['remove']();
这点 JavaScript 是从页面中删除红色弹出窗口的原因。我们可以利用调试器的另一个功能,称为断点。这些是代码中的要点,我们可以强制浏览器停止处理 JavaScript 并暂停当前执行。如果单击包含上述代码的行号,您会注意到它变为蓝色;现在,您已在此行上插入了一个断点。现在尝试刷新页面,您会注意到红色框保留在页面上而不是消失,并且它包含一个flag。
6. Developer Tools-Network
开发人员工具上的“网络”选项卡可用于跟踪网页发出的每个外部请求。如果单击“网络”选项卡,然后刷新页面,您将看到该页面请求的所有文件。打开网络选项卡后,尝试填写联系表单并按“发送消息”按钮。您会在网络选项卡中注意到一个事件,这是使用名为 AJAX 的方法在后台提交的表单。AJAX 是一种在 Web 应用程序后台发送和接收网络数据的方法,而不会通过更改当前网页进行干扰。
总结
实验挺简单的,就是通过查看源码以及使用开发者工具查找预置的flag。该实验让我进一步明确了浏览器开发者工具的用途,后面继续努力啦~就是这个网站好像部分环境要氪金,贫穷.jpg