blue
蓝色演练将这些框视为 CTF(实际上不是笔测试)。 侦察我们的第一次 nmap 扫描为我们提供了一些端口和一些操作系统版本控制: 1234567891011121314151617181920212223nmap -Pn $t Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-04 13:59 EDT Nmap scan report for 10.0.2.6 Host is up (0.00077s latency). Not shown: 991 closed tcp ports (conn-refused) PORT STATE SERVICE 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 49152/tcp open unknown 49153/tcp open unknown 49154/tcp open unknown 49155/tcp open unknown 49156/tcp o...
bash-scripting
Bash 脚本Bash(Bourne Again Shell)是一种 Linux shell 和命令/编码语言。它是大多数 Linux 发行版的默认 shell。其他还有Z shell(zsh)、Bourne Shell(sh)、C Shell(csh)等。 Linux 外壳:shell 是命令行中的解释程序,可用于向操作系统发送命令。它可以被认为是操作系统的交互接口,也是内核的最外层。 它允许用户和/或程序向操作系统及其低级实用程序发送消息和信号。-Phoenix Nap:8 种 Linux Shell Ping 扫频:“ping 扫描器”是一个脚本,它将 ping 设备以查看其是否已连接/活动并返回结果。 因为 ping (在 Linux 上)会连续 ping,所以您可以使用 -c <number> 告诉它仅 ping <number> 次(-c 代表 count)。可以使用 > 或 >> 将来自 ping 的响应附加到文件中。 使用 grep:grep 是一个 Linux CLI 工具,允许您搜索文件...
active-directory-overview
活动目录概述Active Directory 是 Microsoft 创建的一项身份服务,用于管理 Windows“域网络”。它存储的有关网络、用户和服务的信息被组织成不同类型的对象,包括“计算机”、“用户”、“打印机”等。 使用 AD 进行身份验证通过名为 kerberos 的协议完成,该协议使用票证系统和客户端-服务器架构。 ‘目录是存储有关网络上对象的信息的分层结构。目录服务(例如 Active Directory 域服务 (AD DS))提供了存储目录数据并使该数据可供网络用户和管理员使用的方法。例如,AD DS 存储有关用户帐户的信息,例如姓名、密码、电话号码等,并允许同一网络上的其他授权用户访问此信息。 -微软 注意: 尽管 AD 主要在 Windows 环境中使用,但它也可以在其他操作系统(例如 Linux)上使用。 为什么 AD 对于渗透测试很重要? 它是全世界**最常用的身份管理服务。 可以利用它无需使用可修补的漏洞(附带通常来自错误配置等的漏洞)。 在多台计算机和服务中使用相同的凭据。 物理组件组成 AD 的组件可以分为物理组件和逻辑组件。 域控制器如...
academy
学院演练将这些框视为 CTF(而不是实际的渗透测试)。 Nmap 侦察12345678910111213141516171819202122232425262728293031323334353637sudo nmap -A -p- -T4 10.0.2.15Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-06 12:46 EDTNmap scan report for 10.0.2.15Host is up (0.00066s latency).Not shown: 65532 closed tcp ports (reset)PORT STATE SERVICE VERSION21/tcp open ftp vsftpd 3.0.3| ftp-anon: Anonymous FTP login allowed (FTP code 230)|_-rw-r--r-- 1 1000 1000 776 May 30 2021 note.txt| ftp-syst: | STAT: ...
9_http_request_lifecycle
HTTP 和请求生命周期(后端基础) 1.什么是HTTP?HTTP(超文本传输协议)是客户端和服务器之间使用的通信协议。 型号: 客户端→请求→服务器服务器→响应→客户端 HTTP 是无状态,这意味着每个请求都是独立的。 2. HTTP 请求的结构HTTP 请求包含: 1. 方法 GET(读取数据) POST(创建数据) PUT(替换数据) 补丁(部分更新) 删除(删除数据) 2.网址示例: 12/notes/notes/123 3. 标题额外的元数据,例如: 内容类型 授权 饼干 4. 正文(可选)主要用于 POST / PUT / PATCH 请求。 3. HTTP 响应的结构服务器响应包含: 状态代码(200、201、400、404、500) 标题 正文(JSON、文本等) JSON 响应示例: 123{ "message": "success"} 4. Node.js 请求生命周期(深入理解)第 1 步:服务器启动1app.listen(3000) 内部: 1http.c...
8_node_js_backend_basics
Node.js 后端基础知识 — 个人笔记 1. 包包=现成的代码库(使用npm安装) 用于避免从头开始编写所有内容。 示例: *快递→服务器banane ke liye bcrypt → 密码哈希 jsonwebtoken → 身份验证 猫鼬 → 数据库连接 安装: 1npm install express 定义: 包是通过 npm 分发的可重用模块的集合。 2. 模块(Node.js 文件)模块 = ek 单文件 jisme 特定 kaam ka 代码 hota hai Project ko parts mein tod dete hain: 服务器.js 数据库.js 用户控制器.js 验证.js har 文件 ek 模块 hai. 3. require() 与 import 要求 进口 旧的 Node 系统 (CommonJS) 现代 JS 系统(ES 模块) 默认节点行为 “类型”:“模块” 同步 静态/现代 启用导入: 123{ "type": "module...
7_fetch_API
JS - 获取 API1. 获取API(然后/捕获)Fetch 用于发出 HTTP 请求(API 调用)。它返回一个 Promise。 基本流程: 1fetch → Promise → then → then → catch 示例 1:简单的 GET 请求1234fetch("https://jsonplaceholder.typicode.com/users") .then(res => res.json()) .then(data => console.log(data)) .catch(err => console.log(err)); 示例 2:处理响应状态1234567fetch("https://jsonplaceholder.typicode.com/users/1") .then(res => { if(!res.ok) throw new Error("Request failed"); return res.json(); ...
6_promises
JS - 承诺 ✅1. 承诺承诺代表未来的价值。国家: 待定 已满足 被拒绝 基本用法1getData().then(data => console.log(data)); 顺序链接12step1().then(a => step2().then(b => console.log(a,b))); 错误处理123login(null).then(msg => console.log(msg)).catch(err => console.log("Error:",err)); 并行执行12Promise.all([getUsers(),getProducts()]).then(([u,p]) => console.log(u,p)); 直接解析1Promise.resolve("Hello").then(console.log); 下一主题: 获取 API & then/catch
5_async_await
JS 异步/等待1. 异步/等待Async/Await 是一种使用 Promise 的更简洁的方式。它不会取代承诺——它在内部使用它们。 规则: 12async function → always returns Promiseawait → pauses function until promise resolves 示例 1:基本异步123456789101112function getData() { return new Promise(resolve => { setTimeout(() => resolve("User loaded"), 1000); });}async function main() { const data = await getData(); console.log(data);}main(); 示例2:顺序执行123456789function step1() { return Promise.r...
4_IIFE
Javascript - 立即调用函数表达式IIFE(立即调用函数表达式)IIFE 是定义后立即运行的函数。 123(function () { console.log("runs immediately");})(); 箭头版本123(() => { console.log("arrow IIFE");})(); 为什么用在后端? 隔离变量 运行启动配置一次 避免全球污染 1234567const config = (() => { const PORT = 3000; const ENV = "dev"; return { PORT, ENV };})();console.log(config.PORT); 下一主题: 异步/等待