首页 > 其他分享 >渗透测试怎么做?看完这个我也学会了!网络安全零基础入门到精通实战教程!

渗透测试怎么做?看完这个我也学会了!网络安全零基础入门到精通实战教程!

时间:2025-01-23 14:58:07浏览次数:3  
标签:网络安全 文件 教程 入门 用户 信息 漏洞 测试 泄露

01、信息收集

1、域名、IP、端口

  • 域名信息查询:信息可用于后续渗透

  • IP信息查询:确认域名对应IP,确认IP是否真实,确认通信是否正常

  • 端口信息查询:NMap扫描,确认开放端口

    发现:一共开放两个端口,80为web访问端口,3389为windows远程登陆端口,嘿嘿嘿,试一下

    发现:是Windows Server 2003系统,OK,到此为止。

2、指纹识别

其实就是网站的信息。比如通过可以访问的资源,如网站首页,查看源代码:

  • 看看是否存在文件遍历的漏洞(如图片路径,再通过…/遍历文件)

  • 是否使用了存在漏洞的框架(如果没有现成的就自己挖)

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

02、漏洞扫描

1、主机扫描

  • Nessus
    经典主机漏扫工具,看看有没有CVE漏洞:

2、Web扫描

  • AWVS(Acunetix | Website Security Scanner)扫描器

    **PS:**扫描器可能会对网站构成伤害,小心谨慎使用。

03、渗透测试

1、弱口令漏洞

  • 漏洞描述
    目标网站管理入口(或数据库等组件的外部连接)使用了容易被猜测的简单字符口令、或者是默认系统账号口令。

  • 渗透测试
    ① 如果不存在验证码,则直接使用相对应的弱口令字典使用burpsuite 进行爆破
    ② 如果存在验证码,则看验证码是否存在绕过、以及看验证码是否容易识别

  • 风险评级:高风险

  • 安全建议

    ① 默认口令以及修改口令都应保证复杂度,比如:大小写字母与数字或特殊字符的组合,口令长度不小于8位等
    ② 定期检查和更换网站管理口令

2、文件下载(目录浏览)漏洞

  • 漏洞描述
    一些网站由于业务需求,可能提供文件查看或下载的功能,如果对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意的文件,可以是源代码文件、敏感文件等。

  • 渗透测试
    ① 查找可能存在文件包含的漏洞点,比如js,css等页面代码路径
    ② 看看有没有文件上传访问的功能
    ③ 采用…/来测试能否夸目录访问文件

  • 风险评级:高风险

  • 安全建议
    ① 采用白名单机制限制服务器目录的访问,以及可以访问的文件类型(小心被绕过)
    ② 过滤【./】等特殊字符
    ③ 采用文件流的访问返回上传文件(如用户头像),不要通过真实的网站路径。

示例: tomcat,默认关闭路径浏览的功能:

<param-name>listings</param-name>
<param-value>false</param-value>

3、任意文件上传漏洞

  • 漏洞描述
    目标网站允许用户向网站直接上传文件,但未对所上传文件的类型和内容进行严格的过滤。

  • 渗透测试
    ① 收集网站信息,判断使用的语言(PHP,ASP,JSP)
    ② 过滤规则绕过方法:文件上传绕过技巧

  • 风险评级:高风险

  • 安全建议
    ① 对上传文件做有效文件类型判断,采用白名单控制的方法,开放只允许上传的文件型式;
    ② 文件类型判断,应对上传文件的后缀、文件头、图片类的预览图等做检测来判断文件类型,同时注意重命名(Md5加密)上传文件的文件名避免攻击者利用WEB服务的缺陷构造畸形文件名实现攻击目的;
    ③ 禁止上传目录有执行权限;
    ④ 使用随机数改写文件名和文件路径,使得用户不能轻易访问自己上传的文件。

4、命令注入漏洞

  • 漏洞描述
    目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句,导致各种调用系统命令的web应用,会被攻击者通过命令拼接、绕过黑名单等方式,在服务端运行恶意的系统命令。

  • 渗透测试

  • 风险评级:高风险

  • 安全建议
    ① 拒绝使用拼接语句的方式进行参数传递;
    ② 尽量使用白名单的方式(首选方式);
    ③ 过滤危险方法、特殊字符,如:【|】【&】【;】【'】【"】等

5、SQL注入漏洞

  • 漏洞描述
    目标网站未对用户输入的字符进行特殊字符过滤或合法性校验,允许用户输入特殊语句查询后台数据库相关信息

  • 渗透测试
    ① 手动测试:判断是否存在SQL注入,判断是字符型还是数字型,是否需要盲注
    ② 工具测试:使用sqlmap等工具进行辅助测试

  • 风险评级:高风险

  • 安全建议
    ① 防范SQL注入攻击的最佳方式就是将查询的逻辑与其数据分隔,如Java的预处理,PHP的PDO
    ② 拒绝使用拼接SQL的方式

6、跨站脚本漏洞

  • 漏洞描述
    当应用程序的网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建 HTML或JavaScript 的浏览器 API 更新现有的网页时,就会出现 XSS 缺陷。XSS 让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。

我给大家准备了一份全套的《网络安全入门+进阶学习资源包》包含各种常用工具和黑客技术电子书以及视频教程,需要的小伙伴可以扫描下方二维码或链接免费领取~

**三种XSS漏洞:**  
① 存储型:用户输入的信息被持久化,并能够在页面显示的功能,都可能存在存储型XSS,例如用户留言、个人信息修改等。  
② 反射型:URL参数需要在页面显示的功能都可能存在反射型跨站脚本攻击,例如站内搜索、查询功能。  
③ DOM型:涉及DOM对象的页面程序,包括:document.URL、document.location、document.referrer、window.location等  
  • 渗透测试
    存储型,反射型,DOM型

  • 风险评级:高风险

  • 安全建议

    ① 不信任用户提交的任何内容,对用户输入的内容,在后台都需要进行长度检查,并且对【<】【>】【“】【'】【&】等字符做过滤
    ② 任何内容返回到页面显示之前都必须加以html编码,即将【<】【>】【”】【'】【&】进行转义。

7、跨站请求伪造漏洞

  • 漏洞描述
    CSRF,全称为Cross-Site Request Forgery,跨站请求伪造,是一种网络攻击方式,它可以在用户毫不知情的情况下,以用户的名义伪造请求发送给被攻击站点,从而在未授权的情况下进行权限保护内的操作,如修改密码,转账等。

  • 渗透测试

  • 风险评级:中风险(如果相关业务极其重要,则为高风险)

  • 安全建议
    ① 使用一次性令牌:用户登录后产生随机token并赋值给页面中的某个Hidden标签,提交表单时候,同时提交这个Hidden标签并验证,验证后重新产生新的token,并赋值给hidden标签;
    ② 适当场景添加验证码输入:每次的用户提交都需要用户在表单中填写一个图片上的随机字符串;
    ③ 请求头Referer效验,url请求是否前部匹配Http(s)

    标签:网络安全,文件,教程,入门,用户,信息,漏洞,测试,泄露
    From: https://blog.csdn.net/qq_41314882/article/details/145307039

相关文章

  • 初级黑客入门之sql注入报错分享(mssql+mysql),黑客技术零基础入门到精通实战教程!
    mysql溢出类bigint当超过mysql的整形的时候,就会导致溢出,mysql可能会将错误信息带出。这里user()是字母默认为0取反以后+1可能就会导致异常。报错特征BIGINTUNSIGNEDvalueisoutofrangein不需要函数,直接让他报错出来select%20(~(select%20\*%20from(select%2......
  • 从入门到起飞:一线大厂前端工程师的AI编程进化论 - 提升10倍生产力的秘密!!!
    0.前言(求......
  • Seq 日志: .NET 应用程序中集成与快速入门
    Seq是一个功能强大且易于使用的日志服务器,特别适合用于集中管理和可视化.NET应用程序的日志。它支持结构化日志记录,提供实时查询和分析功能,帮助开发者快速定位和解决问题。安装和配置SeqWindows部署:可以从Seq下载页面:https://datalust.co/download获取最新版本并按照......
  • Python算法模糊匹配:FuzzyWuzzy深度剖析,从入门到精通,解决你所有需要匹配的需求
    在数据科学和文本处理的世界中,字符串匹配是一个非常普遍的问题。FuzzyWuzzy作为一个强大的Python库,通过模糊匹配技术解决了许多由于拼写错误、格式不一致引起的问题。本文将详细介绍FuzzyWuzzy,从基本概念到高级应用,帮助你掌握这一工具。目录FuzzyWuzzy简介安装与快速开始基础......
  • deepin-UEFI 引导:从入门到重装
    在现代计算机中,UEFI(统一可扩展固件接口)已成为主流的启动方式,逐渐取代了传统的BIOS。UEFI提供了许多改进,如更灵活的启动管理、更大的分区支持以及更快的启动速度。然而,对于许多Linux用户来说,UEFI的复杂性可能会带来一些挑战,尤其是在多系统环境中。本文将详细介绍如何在......
  • 03现代计算机视觉入门之:什么是图片特征编码
    ##系列文章目录##01现代计算机视觉入门之:什么是图片(6700字/25图)02现代计算机视觉入门之:什么是视频(4900字/22图)03现代计算机视觉入门之:什么是图片特征编码(4000字/16图)04现代计算机视觉入门之:什么是图片分类05现代计算机视觉入门之:什么是目标检测06现代计算机视觉入门之:什么......
  • 有没有PHP网站源码修改的教程
    问题描述:有没有PHP网站源码修改的教程。解决方法:学习PHP基础知识:在进行PHP网站源码修改之前,建议先学习PHP的基础知识,包括语法、变量、数据类型、运算符、控制结构、函数、数组、对象等。可以通过在线教程、书籍、视频教程等方式进行学习。了解网站架构和代码结构:熟悉要修改的P......
  • 一. 初始 Redis(快速入门-00)
    一.初始Redis(快速入门-00)@目录一.初始Redis(快速入门-00)Redis概述:关系型数据库(如MySQL)问题NoSQL数据库(非关系性数据库)最后:Redis概述:Redis官方地址:https://redis.io/Reids中文的官方地址:https://www.redis.net.cn/Redis官方下载地址:https://redis.i......
  • 二. Redis 超详细的安装教程((七步)一步一步指导,步步附有截屏操作步骤)
    二.Redis超详细的安装教程((七步)一步一步指导,步步附有截屏操作步骤)@目录二.Redis超详细的安装教程((七步)一步一步指导,步步附有截屏操作步骤)1.Redis详细安装教程2.Redis后台基本启动&详细的基本使用3.Redis服务器的关闭和启动的注意事项4.如何修改Redis默认的......
  • 人工智能学习(一)之python入门
    一、引言在当今的软件开发领域,面向对象编程(Object-OrientedProgramming,OOP)已经成为一种主流的编程范式。Python作为一门功能强大且简洁易读的编程语言,对面向对象编程提供了非常完善的支持。无论是开发大型项目、构建数据科学应用,还是进行自动化脚本编写,理解和掌握Python......