web安全测试渗透案例知识点总结(下)——小白入狱

### 目录

  • [@[TOC](目录)](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [一、更多详细的实际案例教程](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例1:文件上传漏洞利用](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例2:目录遍历(Path Traversal)漏洞检测](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例3:暴力破解登录密码](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例4:命令注入漏洞](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例5:身份认证绕过(Password Reset Bypass)](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例6:弱加密存储(Weak Encryption)](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例7:子域名接管(Subdomain Takeover)](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例8:API接口未授权访问](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))
  • [案例9:信息泄露(Sensitive Data Exposure)](#目录 @TOC 一、更多详细的实际案例教程 案例1:文件上传漏洞利用 案例2:目录遍历(Path Traversal)漏洞检测 案例3:暴力破解登录密码 案例4:命令注入漏洞 案例5:身份认证绕过(Password Reset Bypass) 案例6:弱加密存储(Weak Encryption) 案例7:子域名接管(Subdomain Takeover) 案例8:API接口未授权访问 案例9:信息泄露(Sensitive Data Exposure))

一、更多详细的实际案例教程

案例1:文件上传漏洞利用

目标:利用文件上传功能执行恶意代码。

步骤

  1. 信息收集

    • 查找网站中的文件上传入口(如用户头像上传、图片上传)。
  2. 漏洞检测

    • 上传一个无害的文件,如.txt文件,确认上传路径或系统对文件格式的限制。

    • 尝试上传一个包含PHP代码的文件,如webshell.php,内容如下:

      php 复制代码
      <?php echo "File uploaded"; system($_GET['cmd']); ?>
    • 如果文件上传成功,并且可以通过webshell.php访问文件,那么说明存在文件上传漏洞。

  3. 漏洞利用

    • 访问文件,并通过cmd参数执行命令,例如:

      http://example.com/uploads/webshell.php?cmd=ls
      
    • 如果可以执行命令,可以进一步获取文件目录、读取敏感文件或提权。

防御措施

  • 限制上传文件类型,仅允许图片等特定格式。
  • 对上传目录设置权限,防止执行文件中的代码。

案例2:目录遍历(Path Traversal)漏洞检测

目标 :通过路径遍历漏洞访问服务器上的敏感文件,如/etc/passwd

步骤

  1. 信息收集

    • 寻找URL中的文件路径参数(如page=about.html)。
  2. 漏洞检测

    • 修改参数,尝试输入../来访问上级目录,如page=../../etc/passwd
    • 如果服务器未正确过滤,可能会返回系统文件内容,验证存在路径遍历漏洞。
  3. 漏洞利用

    • 继续遍历目录结构,查找其他敏感文件,如/etc/shadow、配置文件等。

防御措施

  • 严格限制用户输入路径,过滤../等特殊字符。
  • 使用绝对路径,避免接受用户输入的相对路径。

案例3:暴力破解登录密码

目标:通过暴力破解方法获取用户登录密码。

步骤

  1. 信息收集

    • 获取登录页面URL和参数,确认是否有失败次数限制或验证码机制。
  2. 漏洞检测

    • 使用工具Hydra或Burp Suite的Intruder模块进行暴力破解。

    • 将用户名固定,尝试不同的密码组合。

      bash 复制代码
      hydra -l admin -P /path/to/passwords.txt http://example.com/login.php
  3. 漏洞利用

    • 如果找到正确的密码,则可以进入管理员账户。

防御措施

  • 实施强密码策略,增加密码复杂性。
  • 添加验证码,限制尝试次数,使用账户锁定机制。

案例4:命令注入漏洞

目标:通过输入恶意命令,使服务器执行未授权操作。

步骤

  1. 信息收集

    • 查找可以输入系统命令的接口,如IP地址的ping检测、域名解析等。
  2. 漏洞检测

    • 在输入框中输入127.0.0.1; ls127.0.0.1 && ls
    • 如果服务器返回目录列表,说明存在命令注入漏洞。
  3. 漏洞利用

    • 利用漏洞执行其他系统命令,获取系统信息或进一步尝试提权。

防御措施

  • 不接受用户可控的输入作为命令执行内容。
  • 使用白名单限制输入内容,或通过脚本语言的安全模式运行系统命令。

案例5:身份认证绕过(Password Reset Bypass)

目标:通过未授权的方式重置用户密码。

步骤

  1. 信息收集

    • 找到密码重置页面,观察是否有邮箱或安全问题验证环节。
  2. 漏洞检测

    • 在密码重置请求中,拦截并修改验证信息,如更改邮箱参数为攻击者的邮箱。
    • 检查系统是否仅依赖可修改的参数进行重置验证。
  3. 漏洞利用

    • 如果系统没有二次验证,通过修改后的邮箱链接重置密码,登录目标账户。

防御措施

  • 在密码重置流程中增加身份验证环节,确保邮箱不易被篡改。
  • 生成单一有效的重置链接并设置过期时间。

案例6:弱加密存储(Weak Encryption)

目标:通过加密弱点破解密码或敏感信息。

步骤

  1. 信息收集

    • 查找服务器中的密码存储方式,确认是否采用MD5、SHA-1等不安全的加密方法。
  2. 漏洞检测

    • 使用哈希破解工具如John the Ripper或hashcat暴力破解哈希密码。
    • 使用预先生成的彩虹表对已知哈希值进行匹配。
  3. 漏洞利用

    • 获取明文密码后,尝试登录或进一步访问敏感信息。

防御措施

  • 使用强加密算法(如bcrypt、Argon2)存储密码。
  • 添加盐值(Salt)增加密码的安全性。

案例7:子域名接管(Subdomain Takeover)

目标:接管一个未使用的子域名,冒充官方网站。

步骤

  1. 信息收集

    • 使用工具Sublist3r或dnsrecon查找目标网站的所有子域名。
    • 检查子域是否指向不存在的外部资源(如GitHub、Heroku等)。
  2. 漏洞检测

    • 访问子域名,观察是否出现404错误或相关错误页面,表示未被使用。
    • 若未指向有效资源,则可能存在子域接管风险。
  3. 漏洞利用

    • 在子域指向的服务商平台上创建具有同名的服务,实现子域名接管。

防御措施

  • 定期检查DNS记录,移除未使用的子域名解析。
  • 不要将子域名指向暂时不使用的外部资源。

案例8:API接口未授权访问

目标:通过未授权的API接口获取敏感信息。

步骤

  1. 信息收集

    • 查找系统中可访问的API接口(如/api/users/1)。
  2. 漏洞检测

    • 直接访问API接口,观察是否能获取敏感数据。
    • 尝试在请求头中加入不同的参数,如User-Agent、Referer等,检查访问权限控制是否严格。
  3. 漏洞利用

    • 获取用户敏感信息后,利用其他API接口进行操作,如账户修改或数据导出。

防御措施

  • 实施严格的身份验证和权限管理,确保每个接口仅允许特定用户访问。
  • 不要将敏感信息直接暴露在未经授权的API接口中。

案例9:信息泄露(Sensitive Data Exposure)

目标:通过未保护的文件或信息泄露敏感数据。

步骤

  1. 信息收集

    • 使用Dirbuster或GoBuster查找隐藏文件或目录。
    • 查找敏感文件,如.git目录、配置文件(如config.php)、备份文件等。
  2. 漏洞检测

    • 访问这些文件或目录,观察是否包含敏感数据(如数据库连接信息、API密钥)。
  3. 漏洞利用

    • 获取敏感信息后,尝试进一步攻击,如连接数据库或调用受保护的API。

防御措施

  • 不将敏感文件暴露在Web根目录,定期检查并删除不必要的文件。
  • 使用访问控制限制敏感信息的访问权限。

以下是针对上述内容的概括数据表,列出了每种漏洞的名称、目标、检测步骤、利用方法以及防御措施。

漏洞类型 目标描述 检测步骤描述 利用方法 防御措施
文件上传漏洞 利用文件上传功能执行恶意代码 上传文件测试格式限制,尝试上传包含代码的文件 执行恶意代码或命令 限制文件类型、权限配置
目录遍历漏洞 通过路径遍历访问敏感文件 修改路径参数为../检测是否可访问上级目录 获取系统敏感文件信息 限制输入路径、过滤特殊字符
暴力破解登录 通过暴力破解获取用户密码 使用Hydra等工具进行密码组合测试 使用破解得到的密码登录 强密码策略、验证码、限制尝试次数
命令注入漏洞 通过命令注入执行未授权系统命令 在输入框中加入命令符号(如;&& 执行系统命令获取系统信息 限制用户输入、不使用动态命令构造
密码重置绕过 通过绕过验证重置用户密码 修改重置请求中的邮箱参数检测是否存在二次验证 利用篡改后的链接重置密码 增加验证环节,防止参数篡改
弱加密存储 破解弱加密的敏感信息 查找是否使用MD5或SHA-1等不安全的哈希算法 破解哈希获取明文密码 使用强加密算法,如bcrypt或Argon2
子域名接管 接管未使用的子域名 查找未使用的子域名并验证其是否存在404错误 在外部平台上创建相同名称的服务实现接管 定期检查并删除未用子域名
未授权API访问 利用未授权的API接口获取敏感数据 直接访问接口或修改请求头进行访问测试 获取敏感数据,尝试进一步访问 实施严格的身份验证和权限管理
信息泄露 通过未保护的文件访问敏感信息 使用工具查找隐藏目录或文件(如.git或备份文件) 获取敏感文件内容,尝试进一步攻击 不将敏感文件暴露在Web目录,设置访问权限
相关推荐
lqqjuly1 小时前
深度学习之经典网络-AlexNet详解
网络·人工智能·深度学习·alexnet
y0ungsheep1 小时前
CTF中的phar反序列化 [SWPU 2018]SimplePHP
运维·web安全·网络安全·php·代码规范
不灭锦鲤1 小时前
burp抓app包记录(失败)
网络
溯Sec2 小时前
shodan(五)连接Mongodb数据库&Jenkins&org、net、查看waf命令
网络·安全·web安全·网络安全·系统安全·网络攻击模型·安全架构
techzhi3 小时前
为什么TCP(TIME_WAIT)2倍MSL
服务器·网络·tcp/ip
_jiayou3 小时前
【网络安全】|nessus使用
网络安全
行者Sun19893 小时前
【K8s】专题十五(1):Kubernetes 网络之概念总览
网络·云原生·容器·kubernetes
儒道易行3 小时前
【Pikachu】Cross-Site Scripting跨站脚本攻击实战
网络安全
m0_629958343 小时前
TCP编程-socket(套接字)编程实战1
网络·网络协议·tcp/ip