web基础知识
超文本传输协议 (HTTP)简介HTTP 是一种应用层协议,用于访问万维网资源。术语 hypertext 表示包含指向其他资源链接的文本,以及读者可以轻松理解的文本。
HTTP 通信由客户端和服务器组成,客户端向服务器请求资源。服务器处理请求并返回请求的资源。HTTP 通信的默认端口是端口 80 ,但可以根据 Web 服务器配置更改为任何其他端口。当我们使用互联网访问不同网站时,会使用相同的请求。我们输入一个 Fully Qualified Domain Name ( FQDN )作为 Uniform Resource Locator ( URL )来访问所需的网站
URL通过 URL 访问 HTTP 资源,它提供了比仅仅指定我们想要访问的网站更多的规范。让我们看看 URL 的结构:
含义:
组件
示例
描述
Scheme
http://</br> https://
这用于识别客户端正在访问的协议,并以一个冒号和两个斜杠( :// )结束
User Info
admin:password@
这是一个可选组件,包含用于向主机进行身份验证的凭据(由冒号 : ...
linux基础知识
组成部分
组成成分
描述
Bootloader 引导加载程序
一段用于引导启动过程以启动操作系统的代码。Parrot Linux 使用 GRUB 引导加载程序。
OS Kernel 操作系统内核
内核是操作系统的主要组件。它在硬件层面管理系统 I/O 设备的资源。
Daemons 守护进程
后台服务在 Linux 中被称为“守护进程”。其目的是确保调度、打印和多媒体等关键功能正常工作。这些小程序在我们启动或登录电脑后才加载。
OS Shell 操作系统壳
操作系统壳层或命令语言解释器(也称为命令行)是操作系统与用户之间的接口。该界面允许用户告诉操作系统该做什么。最常用的贝壳有 Bash、Tcsh/Csh、Ksh、Zsh 和 Fish。
Graphics server 图形服务器
这提供了一个称为“X”或“X-server”的图形子系统(服务器),允许图形程序在 X 窗口系统上本地或远程运行。
Window Manager 窗口管理器
也称为图形用户界面(GUI)。有很多选择,包括 GNOME、KDE、MATE、Unity 和 Cinna ...
HTB靶场刷题1——logging
难度:中等
NMAP扫描123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101┌──(root㉿kali)-[/home/kali]└─# nmap -Pn -p- -T4 -A 10.129.56.228 Starting Nmap 7.99 ( https://nmap.org ) at 2026-05-12 05:03 -0400Nmap scan report for 10.129.56.228Host is up (0.41s latency).Not shown: 65505 closed tcp ports (reset)PORT STATE SERVICE VERSION53/tcp open domain ...
常见的爆破手段
口令破解hydra是一种自动化的支持众多协议的爆破工具,暴力破解密码。
123456789101112131415参数:-s <port> 指定非默认端口,如 SSH 默认 22,可自定义 -s 2222-l login 小写,指定用户名进行破解-L file 大写,指定用户的用户名字典-p pass 小写,用于指定密码破解,很少使用,一般采用密码字典。-P file 大写,用于指定密码字典。-e ns 额外的选项,n:空密码试探,s:使用指定账户和密码试探-M file 指定目标ip列表文件,批量破解。-o file 指定结果输出文件-f 找到第一对登录名或者密码的时候中止破解。-t tasks 同时运行的线程数,默认是16-w time 设置最大超时时间,单位-v / -V 显示详细过程-R 恢复爆破(如果破解中断了,下次执行 hydra -R /path/to/hydra.restore 就可以继续任务。)-x 自定义密码。
SSH口令爆破场景:测试目标 SSH 服务(默认端口 22)的密码强度。语法:hydra -l <用户> -P <密码字典&g ...
后渗透前操作
原因当我们成功获取 Web 权限(如 Webshell 或基础的反弹 Shell)后,通常处于一个受限且脆弱的环境中。为了进行后续的深度内网渗透(如提权、横向移动、数据资产收集等),必须进行一系列初期准备工作。
其核心目的在于:探明当前系统环境、升级并稳定控制通道、绕过本地防御限制、实现关键渗透工具的落地以及内网流量代理的搭建。
核心操作步骤交互式 Shell 升级初始获取的 Shell 往往功能受限(如无法使用交互式命令、无法自动补全、容易意外中断),需要先提升交互体验。
Python PTY 升级:python3 -c 'import pty; pty.spawn("/bin/bash")'
Socat 升级:获取完整的 TTY 终端。
基础环境与资产信息探测在盲目上传扫描工具前,先利用系统自带命令摸清底细。
身份与权限识别:whoami / id,判断当前用户权限及所在用户组。
系统与内核信息:uname -a / cat /etc/os-release / systeminfo(用于评估内核漏洞及提权路线)。
网络拓扑与路由:ip a ...
linux提权
通配符泛滥通配符可以用作其他字符的替代,并且在其他操作之前由 shell 解释。通配符的例子包括:
Character 角色
Significance 意义
*
一个星号,可以匹配文件名中的任意数量的字符。
?
匹配单个字符。
[ ]
括号中包含字符,并且可以在定义的位置匹配任意单个字符。
~
一个开头的波浪号扩展为用户主目录的名称,或者可以追加另一个用户名来引用该用户的主目录。
-
括号内的连字符将表示一个字符范围。
特殊权限提权特殊权限setuidSet User ID upon Execution ( setuid ) 权限可以允许用户以另一个用户的权限执行程序或脚本,通常具有提升的权限。 setuid 位显示为 s 。
123456789101112131415161718192021222324252627282930find / -user root -perm -4000 -exec ls -ldb {} \; 2>/dev/null-rwsr-xr-x 1 root root 16728 Sep 1 ...
mssql注入利用
MSSQL 特性与核心知识与 MySQL 相比,MSSQL 在语法和系统表结构上有很大差异,这些差异直接决定了我们的注入手法。
1. 核心系统表与视图在 MSSQL 中,我们主要依赖 master 数据库以及每个数据库自带的系统表(如 sysobjects、syscolumns)来获取结构信息,或者使用标准的 information_schema。
代码段
12345678910-- 1. 获取所有数据库名 (类似 MySQL 的 schemata)SELECT name FROM master.dbo.sysdatabases;-- 2. 获取当前数据库的所有表名 (xtype='U' 表示用户表)SELECT name FROM sysobjects WHERE xtype='U';-- 或者使用标准语法SELECT table_name FROM information_schema.tables;-- 3. 获取特定表的所有列名SELECT name FROM syscolumns WHERE id=(SELECT id FROM sys ...
mysql注入的利用
当我们实现mysql盲注成功或者存在未授权利用漏洞了以后,最想做的肯定还是想办法拿到mysql数据库服务器的所有权,需要加以利用
查看权限在进行MySQL数据库注入利用时,第一步且最核心的环节是探测当前数据库用户的权限状态。权限的高低直接决定了后续能够采取的攻击面,例如是否能够跨库查询、是否能够读写系统文件,或者是否具备进一步执行系统命令的条件。
用户身份查询最基础的权限探测是获取当前执行查询的数据库用户身份。渗透测试人员需要明确当前自己“是谁”。这可以通过MySQL的内置函数直接获取。在典型的联合查询(UNION SQLi)注入点处,通常会构造如下语句来让数据库回显当前的用户名和主机信息:
12345678-- 典型的联合查询注入,利用内置函数爆出当前用户?id=-1' UNION SELECT 1, user(), 3 --+-- current_user() 函数同样可以返回当前认证的用户?id=-1' UNION SELECT 1, current_user(), 3 --+-- 结合 database() 和 version() 可以获取更完整的上下文?i ...
PE文件结构
地址的概念在解析PE文件时,必须熟练掌握以下三种地址的概念及其转换关系,这是编写PE解析器的基础:
VA (Virtual Address, 虚拟地址): PE 文件被操作系统加载到内存后的真实内存地址。
RVA (Relative Virtual Address, 相对虚拟地址): PE 文件被加载到内存后,相对于基地址(ImageBase)的偏移量。 公式:VA = ImageBase + RVA
FOA (File Offset Address, 文件偏移地址 / RAW): PE 文件在磁盘上的物理位置(用十六进制编辑器打开时看到的地址)。
RVA 与 FOA 的转换(地址换算):由于文件在磁盘上的对齐值(FileAlignment)和在内存中的对齐值(SectionAlignment)通常不同,导致 RVA 和 FOA 并不总是相等的。
换算公式:
遍历节表,判断目标 RVA 落在哪一个节(Section)内:VirtualAddress <= RVA < VirtualAddress + VirtualSize
计算偏移量:Offset = RVA - 节的 V ...







