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); 下一主题: 异步/等待
3_js-function-notes
JavaScript 函数 — 后端注释1. 什么是函数?函数是执行特定任务的可重用代码块。 123function greet(name) { return `Hello ${name}`;} 在后端大量使用,因为: 路线是函数 中间件是函数 控制器是函数 2. 函数声明与表达式声明123function add(a, b) { return a + b;} 提升(可以在定义之前调用) 表达123const add = function(a, b) { return a + b;}; 未吊装 3. 箭头函数短语法 + 词法 this 1const add = (a, b) => a + b; 后端使用:小回调 1app.get("/", (req, res) => res.send("OK")); 4. 参数与参数12function login(email, password) {} // parameters...
2-js-objects-backend
JavaScript 对象 — 后端注释 重点:后端数据处理、API、reduce、符号、解构 1️⃣ 对象字面量对象banane ka sab se common tareeqa。 1234const user = { name: "Ali", age: 22}; {} se 直接对象 banta hai Har baar naya 对象记忆 mein banta hai 123const a = {};const b = {};a === b // false 2️⃣ 单例对象(概念)Singleton 语法 nahi,模式 hai。 MATLAB: badi app mein ek hi 对象实例使用 ho 12345const config = { appName: "MyApp"};module.exports = config; Har file jo import karegi → 相同对象 Milega 后端我的缓存、配置、...