成为网络安全高手!教你如何做出专业级别的渗透测试

01、信息收集

1、域名、IP、端口

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

    图片

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

    图片

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

    图片

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

    图片

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

2、指纹识别

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

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

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

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036【暗号:csdn999】

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)://ServerHost
    ④ 关键信息输入确认提交信息的用户身份是否合法,比如修改密码一定要提供原密码输入
    ⑤ 用户自身可以通过在浏览其它站点前登出站点或者在浏览器会话结束后清理浏览器的cookie;
     

8、内部后台地址暴露

  • 漏洞描述
    一些仅被内部访问的地址,对外部暴露了,如:管理员登陆页面;系统监控页面;API接口描述页面等,这些会导致信息泄露,后台登陆等地址还可能被爆破。

  • 渗透测试
    ① 通过常用的地址进行探测,如login.html,manager.html,api.html等;
    ② 可以借用burpsuite和常规页面地址字典,进行扫描探测

  • 风险评级:中风险

  • 安全建议
    ① 禁止外网访问后台地址
    ② 使用非常规路径(如对md5加密)
     

9、信息泄露漏洞

  • 漏洞描述
    ① 备份信息泄露:目标网站未及时删除编辑器或者人员在编辑文件时,产生的临时文件,或者相关备份信息未及时删除导致信息泄露。
    ② 测试页面信息泄露:测试界面未及时删除,导致测试界面暴露,被他人访问。
    ③ 源码信息泄露:目标网站文件访问控制设置不当,WEB服务器开启源码下载功能,允许用户访问网站源码。
    ④ 错误信息泄露:目标网站WEB程序和服务器未屏蔽错误信息回显,页面含有CGI处理错误的代码级别的详细信息,例如SQL语句执行错误原因,PHP的错误行数等。
    ⑤ 接口信息泄露:目标网站接口访问控制不严,导致网站内部敏感信息泄露。

  • 渗透测试
    ① 备份信息泄露、测试页面信息泄露、源码信息泄露,测试方法:使用字典,爆破相关目录,看是否存在相关敏感文件
    ② 错误信息泄露,测试方法:发送畸形的数据报文、非正常的报文进行探测,看是否对错误参数处理妥当。
    ③ 接口信息泄露漏洞,测试方法:使用爬虫或者扫描器爬取获取接口相关信息,看目标网站对接口权限是否合理

  • 风险评级:一般为中风险,如果源码大量泄漏或大量客户敏感信息泄露。

  • 安全建议
    ① 备份信息泄露漏洞:删除相关备份信息,做好权限控制
    ② 测试页面信息泄露漏洞:删除相关测试界面,做好权限控制
    ③ 源码信息泄露漏洞:做好权限控制
    ④ 错误信息泄露漏洞:将错误信息对用户透明化,在CGI处理错误后可以返回友好的提示语以及返回码。但是不可以提示用户出错的代码级别的详细原因
    ⑤ 接口信息泄露漏洞:对接口访问权限严格控制

    图片

10、失效的身份认证

  • 漏洞描述
    通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌, 或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。

  • 渗透测试
    ① 在登陆前后观察,前端提交信息中,随机变化的数据,总有与当前已登陆用户进行绑定的会话唯一标识,常见如cookie
    ② 一般现在网站没有那种简单可破解的标识,但是如果是跨站认证,单点登录场景中,可能为了开发方便而简化了身份认证

  • 风险评级:高风险

  • 安全建议
    ① 使用强身份识别,不使用简单弱加密方式进行身份识别;
    ② 服务器端使用安全的会话管理器,在登录后生成高度复杂的新随机会话ID。会话ID不能在URL中,可以安全地存储,在登出、闲置超时后使其失效。


11、失效的访问控制

  • 漏洞描述
    未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

  • 渗透测试
    ① 登入后,通过burpsuite 抓取相关url 链接,获取到url 链接之后,在另一个浏览器打开相关链接,看能够通过另一个未登入的浏览器直接访问该功能点。
    ② 使用A用户登陆,然后在另一个浏览器使用B用户登陆,使用B访问A独有的功能,看能否访问。

  • 风险评级:高风险

  • 安全建议
    ① 除公有资源外,默认情况下拒绝访问非本人所有的私有资源;
    ② 对API和控制器的访问进行速率限制,以最大限度地降低自动化攻击工具的危害;
    ③ 当用户注销后,服务器上的Cookie,JWT等令牌应失效;
    ④ 对每一个业务请求,都进行权限校验。
     

12、安全配置错误

  • 漏洞描述
    应用程序缺少适当的安全加固,或者云服务的权限配置错误。
    ① 应用程序启用或安装了不必要的功能(例如:不必要的端口、服务、网页、帐户或权限)。
    ② 默认帐户的密码仍然可用且没有更改。
    ③ 错误处理机制向用户披露堆栈跟踪或其他大量错误信息。
    ④ 对于更新的系统,禁用或不安全地配置最新的安全功能。
    ⑤ 应用程序服务器、应用程序框架(如:Struts、Spring、ASP.NET)、库文件、数据库等没有进行相关安全配置。

  • 渗透测试
    先对应用指纹等进行信息搜集,然后针对搜集的信息,看相关应用默认配置是否有更改,是否有加固过;端口开放情况,是否开放了多余的端口;

  • 风险评级:中风险

  • 安全建议
    搭建最小化平台,该平台不包含任何不必要的功能、组件、文档和示例。移除或不安装不适用的功能和框架。在所有环境中按照标准的加固流程进行正确安全配置。

13、使用含有已知漏洞的组件

  • 漏洞描述
    使用了不再支持或者过时的组件。这包括:OS、Web服务器、应用程序服务器、数据库管理系统(DBMS)、应用程序、API和所有的组件、运行环境和库。

  • 渗透测试
    ① 根据前期信息搜集的信息,查看相关组件的版本,看是否使用了不在支持或者过时的组件。一般来说,信息搜集,可通过http返回头、相关错误信息、应用指纹、端口探测(Nmap)等手段搜集。
    ② Nmap等工具也可以用于获取操作系统版本信息
    ③ 通过CVE,CNVD等平台可以获取当前组件版本是否存在漏洞

  • 风险评级:按照存在漏洞的组件的安全风险值判定当前风险。

  • 安全建议
    ① 移除不使用的依赖、不需要的功能、组件、文件和文档;
    ② 仅从官方渠道安全的获取组件(尽量保证是最新版本),并使用签名机制来降低组件被篡改或加入恶意漏洞的风险;
    ③ 监控那些不再维护或者不发布安全补丁的库和组件。如果不能打补丁,可以考虑部署虚拟补丁来监控、检测或保护。

END今天的分享就到此结束了,点赞关注不迷路~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/195696.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Zookeeper分布式锁实现Curator十一问

前面我们通过Redis分布式锁实现Redisson 15问文章剖析了Redisson的源码&#xff0c;理清了Redisson是如何实现的分布式锁和一些其它的特性。这篇文章就来接着剖析Zookeeper分布式锁的实现框架Curator的源码&#xff0c;看看Curator是如何实现Zookeeper分布式锁的&#xff0c;以…

仿东郊到家预约按摩小程序开发;

在这个快节奏的现代社会&#xff0c;人们对便捷、高效的服务需求日益增大。正因如此&#xff0c;到家预约系统上门按摩小程序应运而生&#xff0c;它结合了互联网技术和传统按摩服务&#xff0c;不仅满足了人们对便捷按摩服务的需求&#xff0c;还为商家提供了全新的商业价值。…

【创建和排查隐藏进程和隐藏计划任务】

Window 创建隐藏进程和隐藏计划任务&#xff1a; 隐藏进程&#xff1a; 在Windows中&#xff0c;隐藏进程主要通过修改进程属性或使用第三方工具实现。以下是一个使用PowerShell脚本创建隐藏进程的示例&#xff1a; $Script {Start-Process -FilePath "notepad.exe"…

AI生成技术威胁版权保护,水印技术和法律完善是关键/安圭拉小岛以.ai域名注册赚得3000万美元 |魔法半周报​

我有魔法✨为你劈开信息大海❗ 高效获取AIGC的热门事件&#x1f525;&#xff0c;更新AIGC的最新动态&#xff0c;生成相应的魔法简报&#xff0c;节省阅读时间&#x1f47b; &#x1f525;资讯预览 AI生成技术威胁版权保护&#xff0c;水印技术和法律完善是关键 Sam Altman对…

海外网红挑选指南:6个方法轻松辨真伪,保障合作最佳效果!

随着社交媒体的飞速发展&#xff0c;海外网红营销已经成为品牌推广的重要渠道之一。然而&#xff0c;与日俱增的网红数量也给广告主带来了选择的困扰&#xff0c;因为市场上充斥着各种水分和虚假的网红。为了确保广告效果最大化&#xff0c;广告主需要学会识别真实的海外网红&a…

解锁Jira本地部署的数据中心版高级功能,打造高效、智能、精细化的项目管理

近日&#xff0c;在龙智携手Atlassian与JFrog共同举办的“大规模开发创新&#xff1a;如何提升企业级开发效率与质量”的线下研讨会中&#xff0c;龙智高级咨询顾问、Atlassian认证专家叶燕秀为大家带来了精彩演讲&#xff0c;解锁Jira Data Center版的诸多高级功能&#xff0c…

【探索Linux】—— 强大的命令行工具 P.17(进程信号 —— 信号保存 | 阻塞信号 | sigprocmask() | sigpending() )

阅读导航 引言一、阻塞信号1. 信号相关常见概念&#xff08;1&#xff09;信号递达&#xff08;2&#xff09;信号未决&#xff08;3&#xff09;阻塞信号&#xff08;4&#xff09;忽略信号 2. 信号在内核中的表示⭕信号在内核中的表示示意图 3. sigset_t &#xff08;数据类型…

四氧化三钴和三元前驱体废水回收钴 钴回收树脂技术

钴是一种稀有金属&#xff0c;也是非常重要的过渡金属材料&#xff0c;因其优异的物理、化学性质&#xff0c;以化学品和金属的形式&#xff0c;广泛应用于锂电池、硬质合金、超耐热合金、绝缘材料和磁性材料、工业催化剂、染料及氧化钴的生产过程中。 钴可以提高锂离子电池的稳…

k8s-deployment控制器 5

K8s控制器是Kubernetes&#xff08;简称k8s&#xff09;系统中一个重要的组成部分&#xff0c;它是一个管理Pod的中间层&#xff0c;可以创建和管理多个Pod副本&#xff0c;确保它们按照预定的数量和行为进行运行。 通过编写yaml文件将信息全部存到etcd中&#xff0c;控制器通…

NX二次开发UF_CURVE_create_arc 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_create_arc Defined in: uf_curve.h int UF_CURVE_create_arc(UF_CURVE_arc_p_t arc_coords, tag_t * arc ) overview 概述 Creates an arc. You input the matrix tag, …

【超强笔记软件】Obsidian实现免费无限流量无套路云同步

【超强笔记软件】Obsidian如何实现免费无限流量无套路云同步&#xff1f; 目录 一、简介 软件特色演示&#xff1a; 二、使用免费群晖虚拟机搭建群晖Synology Drive服务&#xff0c;实现局域网同步 1 安装并设置Synology Drive套件 2 局域网内同步文件测试 三、内网穿透群…

PLC与组态王之间Modbus无线通讯的从站设置

本方案主要详述了在多台西门子300PLC与组态王之间Modbus无线通讯中如何设置从站。方案中所用到的无线通讯终端是DTD434MC——欧美系PLC专用无线通讯终端。 一、方案概述 无线Modbus网络组成如下&#xff1a; 二、测试背景 ● PC端组态软件版本&#xff1a;组态王6.55 ● 默…

错误:FinalShell连接CentOs连接失败

需要说明的是:这个错误不是首次连接发生的,而是多次使用后可能发生的错误 正文: 可能的原因是虚拟机的ip地址发生了变更,原因有以下几点: 最最可能的原因:1.DHCP分配变更&#xff1a; 如果虚拟机使用DHCP来获取IP地址&#xff0c;那么DHCP服务器可能会分配给虚拟机一个新的I…

Matplotlib散点图的创建_Python数据分析与可视化

Matplotlib散点图的创建 plot绘制散点图scatter画散点图plot与scatter效率对比 plot绘制散点图 散点图也是在数据科学中常用图之一&#xff0c;前面的文章我们学习了使用plt.plot/ax.plot画线形图的方法。同样的&#xff0c;现在用这些函数来画散点图&#xff1a; x np.lins…

掌握你的Mac,iStat Menus带你了解mac系统状态

iStat Menus for mac是一款强大的mac系统状态监控工具&#xff0c;它能够提供实时的系统信息和性能监测&#xff0c;帮助用户全面了解和管理自己的Mac设备。无论是CPU、内存、网络、硬盘还是传感器数据&#xff0c;iStat Menus都能直观地展示&#xff0c;并且支持自定义布局和样…

Linux - 动静态库(下篇)

前言 在上篇博客当中&#xff0c;对静态库是什么&#xff0c;怎么使用&#xff0c;简单实现自己的静态库&#xff0c;这些做了描述&#xff0c;具体请看上篇博客&#xff1a; 本篇博客将会对 动态库是什么&#xff0c;怎么使用&#xff0c;简单实现自己的动态库&#xff0c…

14 网关实战:网关聚合API文档

上节课介绍了网关层的认证鉴权,今天这节介绍一下网关层如何聚合API接口文文档。 为什么需要聚合API接口文档? 大型微服务系统模块众多,木谷博客系统就有9个,如果这些服务的接口地址没有一个统一,那么客户端将要保存每个服务的接口地址,这个肯定是不现实。 先来看一下A…

paddleocr笔记

PP-OCRv1 PP-OCR中&#xff0c;对于一张图像&#xff0c;需要完成以下3个步骤提取其中的文字信息&#xff1a; 使用文本检测方法&#xff0c;获取文本区域多边形信息&#xff08;PP-OCR中文本检测使用的是DBNet&#xff0c;因此获取的是四点信息&#xff09;。对上述文本多边形…

leetcode面试经典150题——33 最小覆盖子串(滑动窗口)

题目&#xff1a; 最小覆盖子串 描述&#xff1a; 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串&#xff0c;则返回空字符串 “” 。 注意&#xff1a; 对于 t 中重复字符&#xff0c;我们寻找的子字符串中…

67从零开始学Java之List集合有哪些特性?

作者&#xff1a;孙玉昌&#xff0c;昵称【一一哥】&#xff0c;另外【壹壹哥】也是我哦 千锋教育高级教研员、CSDN博客专家、万粉博主、掘金优质作者、阿里云专家博主 前言 在上一篇文章中&#xff0c;壹哥给大家介绍了Java里的集合&#xff0c;我们了解了集合的由来、特点&a…