代码编织梦想

一、 基础能力

(一) 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攻防演练蓝队防守指南

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/maoguan121/article/details/127155667

2020阿里招聘岗位要求-爱代码爱编程

简历投递入口: https://bss.csdn.net/delivery/resume/ali 职位名称职位描述职位要求阿里云智能事业群-中间件业务中台架构师-北京\杭州1、负责阿里云中台项目的实施,设计行业业务中台解决方案,根据客户需求设计并搭建业务中台,并能把设计工作付诸实现 2、根据项目需求,进行业务领域建模分析、平台架构设计、技术方案预研、核

软件测试必须具备的知识体系(个人总结)-爱代码爱编程

一、软件的生命周期(SDLC,Systems Development Life Cycle,SDLC) 软件计划与可行性研究(问题定义、可行性研究);需求分析;软件设计(概要设计、详细设计);编码;软件测试;运行与维护 生存周期划分 各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的复杂性,简化不

软件测试需要具备的知识体系 #CSDN博文精选# #软件测试# #IT# #系统化学习#-爱代码爱编程

大家好~我是小C,又见面啦!“文章过滤器”精选大咖干货、助力学习之路。 《5天20篇CSDN精选博文带你掌握系统化学习方法》专栏将挑选有关“系统化学习方法”的20篇优质文章,帮助大家掌握更加科学的学习方法~ 在这里,你将收获: 快速掌握系统化学习的理论基础,探究其本质和原理学会将已有知识体系化,形成自己的知识图谱,离学霸更近一步系统化学习必备工具推荐

软件测试需要具备的知识体系(个人总结)-爱代码爱编程

目录 一、软件的生命周期(SDLC,Systems Development Life Cycle,SDLC)1.1 生存周期划分1.2 生存周期基线1.3 SDLC的六个阶段1.3.1需求分析1.3.2软件设计1.3.3程序编码1.3.4软件测试1.3.5运行维护1.3.6周期模型二、软件测试在软件生命周期(瀑布模型)中的对应关系三、软件测试过程四

怎么样才能不让“测试”环节成为项目敏捷的绊脚石?-爱代码爱编程

最近一次,也就在上个月做的一次在线调查显示,大约70%的公司/团队已开始进行敏捷测试,而之前的调查显示则只有51.2%,不管数据是否存在一些误差,但历史的车轮总是滚滚向前,敏捷开发模式会不断扩展,渗透到研发的每一个角落,甚至向运维渗透,由此产生DevOps。 但是,从我写 第一篇“敏捷测试”文章(2010年发表在CSDN《程序员》杂志上的“敏捷测试的方法

测试需具有的知识体系-爱代码爱编程

一、软件的生命周期(SDLC,Systems Development Life Cycle,SDLC) 软件计划与可行性研究(问题定义、可行性研究);需求分析;软件设计(概要设计、详细设计);编码;软件测试;运行与维护 生存周期划分          各阶段的任务彼此间尽可能相对独立,同一个阶段各项任务的性质尽可能相同,从而降低每个阶段任务的

2021年成都市中等职业学校师生技能大赛【真题】-爱代码爱编程

2021年成都市中等职业学校师生技能大赛 “网络空间安全”赛项 技 术 文 件 2021年11月 目 录 一、项目介绍  1.赛项名称  2.赛项归属产业  3.竞赛目的  二、

第1章 软件测试概述&需求分析-爱代码爱编程

文章目录 第1章 软件测试概述&需求分析课程内容本课目标软件的概念软件的特点软件的本质软件的分类软件项目团队构成**项目经理**需求分析员**UI设计师****软件开发工程师**实施工程师**运维工程师**什么是软件测试正确理解软件测试错误理解软件测试软件测试的历史发展软件测试的重要性事故1:阿丽亚娜 5 型运载火箭事故2:奔腾的长除法事故

秒懂上线必不可少的安全测试!-爱代码爱编程

Tech    导读    本文旨在站在测试开发工程师的角度将功能安全测试归入日常测试中,简单剖析了功能安全测试与功能测试的异同点以及SDL中各环节的职责所在,同时分析了针对不同的安全场景如何进行功能安全测试用例的设计。通过本文,读者可以对SDL有一个简单明了的理解,针对SDL中各个环节,产研测的职责和关注点是什么都能有一个明确的

软件测试分类篇-爱代码爱编程

文章目录 1 按测试对像划分1.1 界面测试1.2 可靠性测试# 1.3 容错性测试1.3 文档测试1.4 兼容性测试1.5 易用性测试1.6 安装卸载测试1.7 安全测试1.8 性能测试1.9 内存泄漏测试2 按是否查看代码划分2.1 黑盒测试(Black-box Testing)2.2 白盒测试(White-box Testing)2.3 灰盒

信息安全工程师学习笔记《第四章》_humblepromise的博客-爱代码爱编程

第四章 网络安全体系与网络安全模型 本章内容主要包括: 第一,讲述了网络安全体系的基本概念以及相关安全模型,主要包括机密性模型、完整性模型、信息流模型、信息保障模型、能力成熟度模型、纵深防御模型、分层防护模型、等级保护模型和网络生存模型;第二,归纳了网络安全体系的建立应该遵循的原则和网络安全策略;第三,详细分析了网络安全体系建设框架及相关组成要素的

渗透测试-安全岗位面试题总结(含答案)_炫彩@之星的博客-爱代码爱编程

渗透测试-安全岗位面试题总结(含答案) 1.上传漏洞 原理· 由于程序员在对用户文件上传部分的控制不足或者处理缺陷,而导致用户可以越过其本身权限向服务器上传可执行的动态脚本文件, 并通过此脚本文件获得了执行服务端命令的

qt 学习(四) —— qrc资源文件介绍与使用_万俟淋曦的博客-爱代码爱编程

Qt工程分组中,除了Headers、Sources、Forms外,还有一个文件夹Resources,只有当工程中有图片、音频等资源文件时才会用到。 首先将资源文件存放到工程目录下的文件夹中,然后添加.qrc文件,方法如下:

cesium学习七:使用callbackproperty更新entity_小何又沐风的博客-爱代码爱编程

一、前言 本学习流程到目前为止已经学习了点、线、多边形、棱柱、椭球等几何体的绘制,这些都是比较常见的,当然Cesium提供的几何体不止上述几种,还有很多,使用方式基本相同,参数除了几何数据外,绘制参数大同小异,所以其他的几

测试面试可能会遇到的问题-爱代码爱编程

面试可能问到的问题 1 一、工具类问题 一 你有了解过那些自动化工具? 答:selenium、jmeter、RobotFramework、appium、QTP、loadrunner 等 请问了解过 selenium2.0

软件测试知识点汇总-爱代码爱编程

转自:https://blog.csdn.net/LiuJiuXiaoShiTou/article/details/72808451 软件测试是软件生存周期中必不可少的环节,软件的典型生存周期可以用下图来形容:   

软件测试(四)——软件测试用例总结_容错性测试用例-爱代码爱编程

测试技能图 按测试对象划分 界面测试 软件只是一种工具,软件与人的信息交流是通过界面来进行的,界面是软件与用户交流的最直接的一 层,界面的设计决定了用户对我们设计的软件的第一印象;界面如同人的面孔,具有吸引用户的直接