渗透测试

Posted by wsxq2 on 2022-03-16
TAGS:  FROM_DOCX渗透测试

本文最后一次编辑时间:2022-03-16 15:58:56 +0800

Web

SQL注入

基础

UNION

Using Burp to Exploit SQL Injection Vulnerabilities: The UNION Operator - PortSwigger

绕过空格

SQL注入:绕过空格注入 – L_AnG

写shell

Mysql注入写Shell读文件总结 - FreeBuf网络安全行业门户

获取本地文件

如何通过SQL注入获取服务器本地文件 - h2z - 博客园

文件上传

目标

获取webshell(具备上传自定义PHP文件并能远程执行的能力)

前提

  1. 可以上传脚本文件,且上传的文件能够被Web服务器解析执行(如PHP)

  2. 用户能够通过Web访问这个文件

  3. 知道文件上传到服务器后的存放路径和文件名称

攻击步骤

以某次参透测试比武为例:

  1. 获取信息:

    1. 对提供的接口进行测试:即反复上传各种文件,看结果如何。经测试发现gif文件是可以上传的,php文件是不能上传的

    2. 分析前端代码:即通过对HTML和JS文件的分析了解前端的“保护措施”,以及上传到的位置和名称。经分析发现前端没有保护措施,上传成功后的文件在当前目录下,且未改名,可直接通过浏览器访问

  1. 分析不满足的前提:通过获取的信息来看,我们可以知道前提1是不满足的

  2. 使不满足的前提也满足:即想办法绕过文件上传涉及的检查机制。这些检查点主要是(加粗的内容表示用上的内容):

    1. 客户端JavaScript检测(通常为检测文件扩展名)。绕过手段:

      1. 禁用浏览器端的js功能

      2. Firebug修改源代码

      3. BurpSuite抓包修改后缀名

      4. 本地表单提交

    2. 服务端MIME类型检测(检测Content-Type)。绕过手段:

      1. Burpsuite抓包绕过,修改Content-Type的值为image/gif
    3. 服务端目录路径检测(检测path参数相关的内容)

      1. 用0x00截断
    4. 服务端文件扩展名检测(检测跟文件扩展名相关的内容)

      1. 黑名单:

        1. 文件名大小写

        2. 名单列表绕过:如phtml、php3等(可结合.htaccess文件

        3. 特殊字符绕过:仅Windows。如test.asp改为test.asp_

        4. 0x00截断绕过:仅asp

        5. .htaccess文件攻击

        6. 其他漏洞利用:例如配合上传一个代码注入过的非黑名单文件,然后利用那个文件的漏洞来绕过黑名单

      2. 白名单:

        1. 0x00截断

        2. 其他漏洞利用

    5. 服务端文件内容检测(检测内容是否合法或含有恶意代码)

      1. 文件幻数检测(文件头):直接添加文件头即可绕过

        1. jpg: FF D8 FF E0 00 10 4A 46 49 46

        2. gif: GIF89a

        3. png: 89 50 4E 47

      2. 文件相关信息检测:图像文件相关信息检测常用的就是getimagesize()函数,只需要把文件头部分伪造好就ok了,就是在幻数的基础上加了一些文件信息

      3. 文件加载检测

防御方法

  1. 检查是否判断了上传文件类型及后缀

  2. 定义上传文件类型白名单,即只允许上传的文件类型

  3. 文件上传目录禁止脚本解析

  4. 对上传后的文件使用随机数改名

详情参见

命令执行

写shell

通过代码执行或命令执行写Shell - 哔哩哔哩

文件包含

日志分析

Understanding the Apache Access Log: View, Locate and Analyze | Sumo Logic

PHP反序列化

越权漏洞

工具

burp

渗透测试神器之BurpSuite安装配置教程+入门教程 - 华为云

题目经历

实战经历

修订记录

修订时间 修订人 版本 说明
TODO wsxq2 1.0 初稿