当前位置: 首页 > news >正文

想学习网络安全一定要学习web

(一) Web漏洞利用

利用 Web 系统或软件的安全漏洞实施网络攻击的能力。

由于 Web系统是绝大多数机构业务系统或对外服务系统的构建形式,所以 Web 漏洞利 用也是最常见,最基础的网络攻击形式之一。在实战攻防演习中,白帽子最为经常利用的 Web 漏洞形式包括:命令执行、代码执行、解析漏洞、XSS、弱口令、文件上传、SQL注入、逻辑 漏洞、信息泄露、配置错误、反序列化、权限绕过等。

1) 命令执行

命令执行漏洞,是指黑客可以直接在 Web应用中执行系统命令,从而获取敏感信息或者 拿下 Shell 权限的安全漏洞。造成命令执行漏洞最常见的原因是 Web服务器对用户输入命 令的安全检测不足,导致恶意代码被执行。命令执行漏洞常常发生在各种 Web组件上,包括 Web容器、Web框架、CMS软件、安全组件等。

2) 代码执行

代码执行漏洞,是指通过构造特殊的语句或数据,使软件可以在设计流程之外,执行特 定函数或命令的安全漏洞。造成代码执行漏洞的主要原因是,开发人员在编写代码时,没有 充分校验输入数据的合法性。

3) 解析漏洞

解析漏洞,是指服务器应用程序在解析某些精心构造的后缀文件时,会将其解析成网页 脚本,从而导致网站沦陷的漏洞。大部分解析漏洞的产生都是由应用程序本身的漏洞导致的。 此类漏洞中具有代表性的便是 IIS6.0 解析漏洞,此漏洞又有目录解析和文件解析两种利用 方式,但也有少部分是由于配置的疏忽所产生的。

4) XSS

XSS,全称为 Cross Site Scripting,意为跨站脚本攻击,为了和更加常用的 CSS

  • Cascading Style Sheets,层叠样式表)有所区分,特别简写为 XSS。

XSS攻击,通常是指通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代 码到网页,使用户加载并执行攻击者恶意制造的网页程序。这些恶意网页程序通常是 JavaScript,但实际上也可以包括 Java、VBScript、ActiveX、Flash 或某些普通的 HTML等。 攻击成功后,攻击者可能得到更高的权限(如执行一些操作)、私密的网页内容、会话信息 和 Cookie 等各种用户敏感信息。

最早期的 XSS攻击示例大多使用了跨站方法,即:用户在浏览 A网站时,攻击者却可以 通过页面上的恶意代码,访问用户浏览器中的 B网站资源(如 Cookie 等),从而达到攻击目 的。但随着浏览器安全技术的进步,早期的跨站方法已经很难奏效,XSS攻击也逐渐和“跨

站”的概念没有了必然的联系。只不过由于历史习惯,XSS这个名字一直被延用了下来,现 如今用来泛指通过篡改页面,使浏览器加载恶意代码的一种攻击方法。

在本文中,白帽子的 XSS能力,是指白帽子能够发现软件或系统的设计缺陷或安全漏 洞,构造 XSS攻击代码,实现网络攻击的技术能力。

5) 弱口令

弱口令也是安全漏洞的一种,是指系统登录口令的设置强度不高,容易被攻击者猜到或 破解。造成弱口令的主要原因是系统的运维人员、管理人员安全意识不足。常见的弱口令形 式包括:系统出厂默认口令没有修改;密码设置过于简单,如口令长度不足,单一使用字母 或数字;使用了生日、姓名、电话号码、身份证号码等比较容易被攻击者猜到的信息设置口 令;设置的口令属于流行口令库中的流行口令。

6) 文件上传

文件上传漏洞,是指可以越权或非法上传文件的安全漏洞。攻击者可以利用文件上传漏 洞将恶意代码秘密植入到服务器中,之后再通过远程访问去执行恶意代码,达到攻击的目的。

7) SQL注入

SQL,是 Structured Query Language 的缩写,意为结构化查询语言。SQL注入漏洞, 是最常见的安全漏洞形式之一,是指通过构造特定的 SQL语句,可以实现对数据库服务器的 非授权查询,进而造成数据库数据泄露的安全漏洞。SQL注入漏洞产生的主要原因是软件系 统对输入数据的合法性缺少校验或过滤不严。

8) 逻辑漏洞

逻辑漏洞,是指由于程序设计逻辑不够严谨,导致一些逻辑分支处理错误,或部分流程 被绕过,进而引发安全风险的安全漏洞。

9) 信息泄露

信息泄露漏洞,是指造成系统或服务器中,本应被保护或不可见的敏感信息被意外泄露 的安全漏洞。这些信息包括账号密码、系统配置、运行状态、关键参数、敏感文件内容等。 造成信息泄露漏洞的主要原因包括运维操作不当、系统代码不严谨等。

10)配置错误

配置错误,是指由软件或系统的配置不当导致安全风险的安全漏洞。例如,文件的或服 务的访问权限、可见范围配置不当,网络安全规则的设置错误等,都有可能使系统处于暴露 或风险之中。配置错误的本质是系统的使用或运维不当,而不是系统的设计或开发问题。造 成配置错误的主要原因是运维人员的疏忽或专业技能不足。

11)反序列化

反序列化漏洞,是指反序列化过程可以被操控或篡改,进而引发恶意代码执行风险的安 全漏洞。

序列化和反序列化都是基础的计算机技术。序列化就是把计算机中的“对象”转换成字 节流,以便于存储的一种方法。反序列化是序列化的逆过程,即将字节流还原成“对象”。

在反序列化过程中,如果输入的字节流可以被控制或篡改,就有可能产生非预期的“对 象”。这就是反序列化漏洞。此时,攻击者通过构造恶意字节流输入,就可以在反序列化过 程中,在对象被还原的过程中,使系统执行恶意代码。

12)权限绕过

权限绕过漏洞,是指可以绕过系统的权限设置或权限管理规则执行非法操作的安全漏洞。 造成权限绕过漏洞的主要原因是,软件或系统的开发人员对数据处理权限的设计或判定不严 谨、不全面。

(二) 基础安全工具

1) Burp Suite

Burp Suite 是一个常用的 Web 攻击工具的集合平台,经常被安全工作者用来测试 Web 系统安全性,也是实战攻防演习中攻击队的常用平台。

使用者通过平台集成的工具,既可以对目标发起手动攻击,也可以自定义规则发起自动 攻击;既可以探测和分析目标漏洞,也可以使用爬虫抓取和搜索页面内容。

2) AppScan

AppScan 是 IBM 公司推出的一款 Web 应用安全测试工具,采用黑盒测试的方式,可以 扫描常见的 Web 用安全漏洞。AppScan功能比较齐全,支持登录、报表等功能。在扫描结果 中,不仅能够看到 Web应用被扫出的安全漏洞,还提供了详尽的漏洞原理、修改建议、手动 验证等功能。

在实战攻防演习中,AppScan是一个很方便的漏洞扫描器。

3) Nmap

Nmap是 Network Mapper 的缩写,意为网络映射器,是一款开放源代码的网络探测和安 全审核的工具。它的设计目标是快速地扫描大型网络,但也可以用于扫描单个主机。

Nmap使用原始 IP 报文来发现网络上有哪些主机,每台主机提供什么样的服务,哪些服 务运行在什么操作系统上,这些主机使用了什么类型的报文过滤器或防火墙等。虽然 Nmap 通常用于安全审核,但许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看 整个网络的信息,管理服务升级计划,以及监视主机和服务的运行。

在实战攻防演习中,Nmap常用来对目标系统进行资产分析。

4) Wireshark

Wireshark 是一个免费开源的网络数据包分析软件,它可以帮助网络管理员检测网络问 题,帮助网络安全工程师检查信息安全相关问题。

在实战攻防演习中,数据包分析也是非常重要的基础工作。

5) Sqlmap

Sqlmap 是一个开源的渗透测试工具,可以用来进行自动化检测。Sqlmap 可以利用常见 的 SQL注入漏洞,获取数据库服务器的权限。Sqlmap 还具有功能比较强大的检测引擎,可提 供针对各种不同类型数据库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操 作系统文件,甚至可以通过外带数据连接的方式执行操作系统命令。

6) AWVS

AWVS是 Acunetix Web Vulnerability Scanner 的缩写。它是一个自动化的 Web应用程 序安全测试工具,可以审计和检查 Web漏洞。AWVS可以扫描任何可通过 Web浏览器访问的 和遵循 HTTP/HTTPS规则的 Web站点和 Web应用程序。可以通过检查 SQL注入攻击漏洞、XSS 漏洞等来审核 Web应用程序的安全性。

7) MSF

MSF是 Metasploit Framework的缩写,这不仅仅是一个工具软件,它是为自动化地实 施经典的、常规的、复杂新颖的攻击,提供基础设施支持的一个完整框架平台。它可以使使 用人员将精力集中在渗透测试过程中那些独特的方面上,以及如何识别信息安全计划的弱点 上。

MSF的能够让用户通过选择它的渗透攻击模块、攻击载荷和编码器来实施一次渗透攻击, 也可以更进一步编写并执行更为复杂的攻击技术。

8) Cobalt Strike

Cobalt Strike 是一款 C/S 架构的商业渗透软件,适合多人团队协作。可模拟 APT对 抗,进行内网渗透。Cobalt Strike 集成了端口转发、端口扫描、Socks 代理、提权、凭据 导出、钓鱼、远控木马等功能。该工具几乎覆盖了 APT攻击链中所需要用到的各个技术环节

参考资料

红蓝攻防构建实战化网络安全防御体系
青藤云安全 2022攻防演练蓝队防守指南

相关文章:

  • 【leetcode刷题】数组篇
  • 基于VUE+Echarts大屏数据展示150套 (集合)
  • 【深度学习100例】—— 基于pytorch使用LSTM进行文本情感分析 | 第7例
  • 【基础巩固】详细总结对数组的理解
  • ⌈Linux_ 感受系统美学⌋ 剖释“Linux下一切皆文件” ,底层级操作增进Linux内功
  • 哪些是模糊用语-《软件方法》自测题解析020
  • 【设计模式】-创建型模式-第2章第5讲-【对象池模式】
  • 125款浪漫七夕表白网站源码【建议收藏】HTML+CSS+JavaScript
  • 基于JAVA忻府区饭中有豆粮油销售系统计算机毕业设计源码+系统+数据库+lw文档+部署
  • 毕业设计 基于单片机的风速测量系统 - 物联网 嵌入式 stm32 arduino
  • 【MSP430G2553】图形化开发笔记(4) Timer_A 定时器
  • 【老板要我啥都会】|前端升全栈之项目使用express重构项目(上篇)
  • SpringMVC之使用SpringMVC获取参数与返回数据
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • 【Linux】关于Linux中的权限
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • express + mock 让前后台并行开发
  • express.js的介绍及使用
  • Facebook AccountKit 接入的坑点
  • Git的一些常用操作
  • IndexedDB
  • iOS 颜色设置看我就够了
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • JavaScript的使用你知道几种?(上)
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MySQL的数据类型
  • Python利用正则抓取网页内容保存到本地
  • Python十分钟制作属于你自己的个性logo
  • 笨办法学C 练习34:动态数组
  • 关于for循环的简单归纳
  • 聊聊hikari连接池的leakDetectionThreshold
  • 猫头鹰的深夜翻译:JDK9 NotNullOrElse方法
  • 设计模式(12)迭代器模式(讲解+应用)
  • 容器镜像
  • # 计算机视觉入门
  • #Lua:Lua调用C++生成的DLL库
  • ${factoryList }后面有空格不影响
  • (27)4.8 习题课
  • (3)选择元素——(17)练习(Exercises)
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (第27天)Oracle 数据泵转换分区表
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (推荐)叮当——中文语音对话机器人
  • (转载)Google Chrome调试JS
  • .NET Core 中插件式开发实现
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET Remoting学习笔记(三)信道
  • .net 无限分类
  • .NET 中什么样的类是可使用 await 异步等待的?
  • .NET单元测试
  • .net连接oracle数据库
  • .NET设计模式(8):适配器模式(Adapter Pattern)