网安笔记(一)

一、渗透测试的流程


1.明确目标:

确定需要渗透资产的范围;确定规则,怎么去渗透;确定需求:需要达到什么样的效果

2.信息收集:

首先可以用社会工程学的方法来收集信息,看看有没有好的薄弱点。然后可以使用一些工具如nmap来收集服务器的配置信息和网站的敏感信息等等,只要是与目标相关的信息都应该去收集。

3.攻击探测---------首先可以poc一下,就是漏洞发现一下

可以借助网站去cve details网站去查找相关的漏洞

4.漏洞利用exp一下

首先可以在exploit-db网站下载一些攻击的工具或者在kali linux中使用一些攻击工具,然后可以通过恶意软件,网络攻击,暴力破解等方法来实现对目标系统的控制。

5.权限提升

入侵完目标系统后,获取更高的权限,最好能获取root超级用户权限。

6.权限维持

比如一般黑客会留一个后门程序,当防火墙杀掉我们的病毒后,我们可以通过后门程序来一直维持自己的权限,使防火墙失去作用。

7.在后面黑客就能进行内网渗透来彻底控制计算机,最后黑客需要清理掉自己渗透的痕迹,如删除日志,隐藏文件等方法。

二、常见的漏洞
1.  SQL注入漏洞:通过构造恶意SQL语句来攻击Web应用程序的漏洞。

2.  跨站脚本漏洞(XSS):通过向Web应用程序注入恶意JavaScript代码来攻击其他用户的漏洞。

3.  跨站请求伪造漏洞(CSRF):利用用户已登录的凭据,在用户不知情的情况下执行攻击者请求的操作。

4.  文件包含漏洞:利用Web应用程序的动态文件包含机制来执行任意代码的漏洞。

5.  非法访问漏洞:通过未经授权的访问来获取Web应用程序中的机密信息的漏洞。

6.  任意文件上传漏洞:用户在上传文件时,未能检查文件类型和扩展名,从而导致恶意文件被上传到服务器上的漏洞

7.  不安全的身份验证和会话管理:攻击者通过破解或窃取会话ID,获取未经授权的访问权限。

8. 缓冲区溢出漏洞:攻击者通过向应用程序中输入超出预期长度的数据,来执行未经授权的操作

9.  拒绝服务攻击:利用软件或应用程序对某些请求响应慢或不响应而导致系统崩溃的漏洞

三、中间件漏洞
IIS:PUT漏洞、短文件名猜解、远程代码执行、解析漏洞等

Apache:解析漏洞、目录遍历等

Nginx:文件解析、目录遍历、CRLF注入、目录穿越等

Tomcat:远程代码执行、war后门文件部署等

JBoss:反序列化漏洞、war后门文件部署等

WebLogic:反序列化漏洞、SSRF任意文件上传、war后门文件部署等

四、SQL注入原理、种类?防御?预编译原理,宽字节注入原理
SQL注入原理:在数据交互中,前端的数据传入到后台处理时,由于后端没有做严格的判断,导致其传入的“数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。

种类:字符,数字,布尔,报错,延迟,联合,堆叠,宽字节,XFF等

防御或修复:使用预编译,PDO,正则表达式过滤,开启魔术引号,加装WAF等

危害:SQL 注入的危害:由于 SQL 注入是执行了非预期的 SQL 语句,所以有可能导致数据库中的大量数据泄露、甚至被删库,如果数据库开启了文件读写权限,还有可能导致服务器被写入木马等。

预编译原理:
预编译将一次查询通过两次交互完成,第一次交互发送查询语句的模板,由后端的SQL引擎进行解析为AST或Opcode,第二次交互发送数据,代入AST或Opcode中执行,无论后续向模板传入什么参数,这些参数仅仅被当成字符串进行查询处理,因此杜绝了sql注入的产生。

宽字节注入原理:
由于PHP utf-8编码 数据库GBK编码,PHP发送请求到mysql时经过一次gbk编码,因为GBK是双字节编码,所以我们提交的%df这个字符和转译的反斜杠组成了新的汉字,然后数据库处理的时候是根据GBK去处理的,然后单引号就逃逸了出来

五、XSS的种类有哪些?区别?修复?
XSS的种类有三种:存储型,反射型,DOM型

区别:

存储型:常出现在信息修改添加等地方,导致恶意代码被存储在数据库中,每当被攻击者访问到后就会触发执行;

反射型:常出现在url中,一般需要攻击者提前构造好恶意链接,欺骗用户点击,触发攻击代码;

DOM型:攻击代码在url中,然后输出在了浏览器的DOM节点中。

简单比较会发现,存储和反射都经过服务器,而DOM是纯前端。

修复:对输入数据进行Html Encode 处理,白名单过滤,过滤JavaScript 事件的标签,开启http-only,装WAF等。

六、XSS、CSRF、SSRF区别?(很常问)
XSS: 跨 站 脚 本 攻 击 ;

CSRF:跨站请求伪造脚本攻击;

SSRF:服务器请求伪造攻击。

区别:

    XSS:是服务器对用户输入的数据没有进行足够的过滤,导致客户端浏览器在渲染服务器返回的html页面时,出现了预期值之外的脚本语句被执行。

   CSRF:CSRF是服务器端没有对用户提交的数据进行随机值校验,且对http请求包内的refer字段校验不严,导致攻击者可以利用用户的Cookie信息伪造用户请求发送至服务器。

   SSRF:SSRF是服务器对用户提供的可控URL过于信任,没有对攻击者提供的RUL进行地址限制和足够的检测,导致攻击者可以以此为跳板攻击内网或其他服务器。

xss中常用的协议
1. javascript协议:这是最常用的XSS注入协议。攻击者可以使用此协议,将JavaScript代码注入到受害者的浏览器中,从而窃取受害者的敏感信息。

2. data协议:攻击者可以使用 data 协议,将HTML或JavaScript代码编码为Base64字符串,并作为URL的一部分发送给浏览器。浏览器会对Base64编码的字符串进行解码,然后执行其中的可执行代码。

3. mailto协议:攻击者可以使用mailto协议,将受害者的浏览器带到一个假邮件的页面。在该页面中,攻击者可以使JavaScript代码的执行。

4. file协议:攻击者可以使用file协议,将恶意脚本存储在受害者的计算机上,并通过URI调用。该协议本应仅用于客户端文件访问,但攻击者会利用其对浏览器的安全漏洞。

5. ftp和http协议:攻击者可以使用FTP或HTTP协议,向受害者的服务器或网站注入恶意代码。这通常需要攻击者获得管理权限,才能在受害者的服务器或网站上注入代码。

csrf中相关的协议
1.GET请求:攻击者可以构造一个链接,诱骗用户点击,触发一个GET请求,实现CSRF攻击。
2.POST请求:攻击者可以通过隐藏表单或JavaScript,监听用户操作,强制POST请求,实现CSRF攻击。
3..PUT请求:攻击者可以通过PUT请求,修改受害者的数据,实现CSRF攻击。
4.DELETE请求:攻击者可以通过DELETE请求,删除受害者的数据,实现CSRF攻击。
5.AJAX请求:攻击者可以通过JavaScript代码,在受害者的浏览器中发送包含CSRF攻击代码的AJAX请求,实现CSRF攻击。
6.WebSocket请求:攻击者可以通过WebSocket协议,向目标服务器发送包含恶意代码的数据帧,实现CSRF攻击。

ssrf常用的协议
file 用于读取文件

dict 用于探测一些端口 以及数据库信息

LDAP 目录扫描

TFTP 它允许客户端从远程主机获取文件或将文件上传至远程主机 上传shell

七、逻辑漏洞?
逻辑漏洞:

      逻辑漏洞是指软件中的缺陷或漏洞,它们基于不完整、不正确或者有误的逻辑,使攻击者可以通过将正常的操作组合在一起,来绕过安全措施并获得非法访问或执行操作的权限。

      逻辑漏洞并不涉及代码错误或者编程错误,而是与应用程序模型有关。逻辑漏洞通常比其他漏洞更难以发现和防御。由于它们是与应用程序模型和工作流相关的,因此经常需要利用高级技术或者深入的应用程序知识来发现和利用。同时,逻辑漏洞也可能导致攻击者获得比其他攻击更高级别的访问权限,因此更加危险。

预防:

为了预防逻辑漏洞的发生,需要对软件进行系统分析、测试和评估,以发现潜在的逻辑漏洞,并确保对应用程序模型的完整性和约束实施有效的检查和控制。

业务逻辑漏洞及其修复:

以下是一些常见的业务逻辑漏洞的例子和修复方法:

1.不正确的身份验证:

      攻击者可以通过破解密码、盗取 Cookie 或者使用其他工具来绕过身份验证,这种漏洞在许多应用程序中都很常见。

       要修复此类漏洞,建议使用多因素身份验证技术,如短信验证码、安全令牌或生物识别技术等,以提高身份验证的安全性能。

2.越权访问:

      越权访问是指攻击者通过伪造请求、使用不同的身份验证凭证或者利用错误的访问权限,来获得未经授权的访问权限。

      为了修复越权访问漏洞,开发人员应该正确地实施访问控制策略,如强制访问控制、基于角色的访问控制或者基于特定业务场景的访问控制等。

3.注入漏洞:

      注入漏洞可以被利用来在应用程序中执行不良代码或者运行任意命令。

     要修复此类漏洞,应该通过使用参数化查询或执行输入验证等技术来防止攻击者注入恶意代码。此外,对应用程序进行代码审查和测试可帮助开发人员在代码实现之前发现潜在的注入漏洞。

4.业务逻辑冲突:

     业务逻辑冲突漏洞指的是当一个应用程序具有多个业务规则时,这些规则之间可能存在冲突,从而导致错误或不合理的运作。

     为了修复此类漏洞,开发人员应该确保应用程序的业务规则在设计和实现时进行了完整的审查和测试,并在应用程序代码中实现正确的业务逻辑流程。

修复业务逻辑漏洞:

解决业务逻辑漏洞需要对应用程序进行全面的、深入的测试和分析,并在实施代码逻辑和运行规则的同时实施多层次、多种类型的安全措施,包括输入验证、身份认证、访问控制和数据过滤等。

八、攻击方式有哪些
1. 木马攻击:将恶意软件(木马)安装到用户的计算机上,以获得对计算机的控制。

2. 病毒攻击:通过将病毒传播到计算机或网络,感染并控制受感染的计算机或网络。

3. DDos攻击:由于网络流量过载而使网络系统无法正常工作,使其无法向其用户提供正常的服务。

4. 电话钓鱼(虚假电话):企图从目标用户那里获得敏感信息,这是通过伪装成指定方进行电话联系的方法。

5. SQL注入攻击:攻击者通过Web应用程序输入SQL命令来执行恶意SQL代码。

6. 跨站脚本攻击(XSS):通过向Web应用程序注入恶意JavaScript代码,来攻击其他用户的漏洞。

7. 社交工程攻击:通过社交媒体或其他在线渠道欺骗用户提供敏感信息或访问到他们的计算机。

8. 中间人攻击:通过拦截通信连接,并窃取受害者和接收者之间的数据。

九、渗透测试工具
首先我会想到

nmap 扫描工具      扫描开放的端口或操作系统等等

Burp Suite:Web渗透测试工具       由截获代理、扫描代码、拦截请求、编写报告等模块组成。

Kali linux操作系统中提供上百种的攻击工具,比如我用过msf编写过入侵安卓手机的木马程序。

John the Ripper:密码破解工具,能够根据各种条件破解密码,如字典攻击、暴力破解等。

十、漏扫工具
1.Nmap:非常流行的网络扫描器,可以帮助黑客快速获取目标网络上的主机、服务和操作系统信息,以发现可能存在的漏洞.

2.Nessus:一种广泛使用,可在多个平台上运行的漏洞扫描工具,可用于对任何类型的系统和设备进行测试

3.Nikto:一种专门用于测试Web服务器的Web应用程序漏洞扫描器,它能够扫描Web服务器配置,查找各种漏洞,提供修复建议,还能反入侵。

4. W3af:开源Web应用程序安全和漏洞扫描器,用于探测、审计和攻击Web应用程序,包括漏洞扫描、自动化缺陷管理、文件上传漏洞、SQL注入漏洞和文件目录遍历漏洞等

5.OpenVAS:开源漏洞扫描器,能够探测、审计和攻击Web应用程序,包括漏洞扫描、自动化缺陷管理、文件上传漏洞、SQL注入漏洞和文件目录遍历漏等。

6. Metasploit Framework:模块化的漏洞利用框架,包含了大量的漏洞扫描和利用工具,用于快速获取系统权限。

7. Acunetix:商业Web应用程序扫描器,能够自动发现和扫描各种Web应用程序漏洞,包括XSS、SQL注入、CSRF、文件上传和命令注入漏洞等。

十一、防火墙是什么?种类?作用?
     防火墙是一种网络安全设备,通过检查数据包、控制网络访问和过滤网络流量等技术手段,来保护计算机网络和信息系统免受网络攻击和恶意代码的侵害。

种类:
1. 包过滤防火墙:这种防火墙是最早的一类防火墙,主要是基于网络数据包(IP数据包)的源地址、目的地址、端口和协议等信息来限制网络访问。

2. 应用代理防火墙:应用代理防火墙基于应用层协议,例如HTTP、FTP、SMTP和DNS等,它能够深入理解应用协议,同时通过过滤、审计和监视流量来防止恶意访问。

3. 状态检测防火墙:状态检测防火墙允许拦截需要发送的而不是看似随机和非法数据包,这是通过跟踪网络流量状态、记录已经通过的流量、推断合法流量的结构来实现的。

4. UTM防火墙:UTM(综合威胁管理)防火墙是一种多层次、多功能和集成的网络安全解决方案,它可以处理许多不同类型的网络威胁,包括病毒、恶意软件、垃圾邮件、Web攻击和入侵等。

5. 下一代防火墙:下一代防火墙是一种集中化的安全设备,它能够监控和控制所有网络流量,并对所有威胁进行识别和防御,同时集成了许多其他安全功能,例如VPN、IDS/IPS和URL筛选等。

作用:
防火墙是网络中的一种重要安全设备,它提供网络边界和内部网络之间的隔离,通过控制网络流量和信令,来保护网络安全。防火墙的主要作用包括以下几个方面:

访问控制:防火墙可以根据应用程序、IP地址、端口等规则,控制哪些流量可以通过网络边界和内部网络之间的边界。
攻击防范:防火墙可以识别和防止外部网络中可能存在的安全威胁,如DDoS攻击、端口扫描等。
数据过滤:防火墙可以根据内容、类型和协议过滤数据包,从而筛选掉有害数据。
日志记录:防火墙可以记录所有通过网络边界或内部网络之间的流量,以及所有被阻止的连接和尝试访问受限资源的事件。
 十二、反序列化(很常问)
序列化就是将一个对象转换成字符串,反序列化就是将字符串重新转化为对象。

PHP
PHP反序列化攻击的原理是:攻击者构造恶意的序列化数据,并将其发送到目标网站;目标网站在接收数据后,解析序列化数据并返回给攻击者控制的服务器,从而执行预设的恶意代码。攻击者可以利用此漏洞实现各种攻击,比如远程代码执行、文件包含漏洞、SQL注入漏洞、操作系统命令注入等。

此外,PHP反序列化又可以简单分成两种,一种无类,一种有类,无类利用就略微简单,如果源码会将输入的值进行反序列化,那我们就需要提前将数据序列化后再传入。而想要利用有类就要用到魔术方法,而魔术方法就像一个潜规则一样,例如我们在创建对象时,就会触发 construct(),并执行 construct()中的代码。

Java
Java反序列化原理:Java反序列化漏洞是指恶意用户通过发送精心构造的序列化数据并触发其反序列化过程,从而执行未经授权的代码或操作。攻击者可以利用此漏洞来执行远程命令、绕过应用程序的安全检查、窃取敏感信息等攻击。如果Java应用对用户输入(即不可信数据)做了反序列化处理,那么攻击者可以通过构造恶意输入,让反序列化产生非预期的类或对象,这个类或对象在产生过程中就有可能带来任意代码执行。

Shiro
Shiro反序列化原理:Shiro是Apache下的一个开源Java安全框架,执行身份认证,授权,密码和会话管理。shiro在用户登录时除了账号密码外还提供了可传递选项remember me。用户在登录时如果勾选了remember me选项,那么在下一次登录时浏览器会携带cookie中的remember me字段发起请求,就不需要重新输入用户名和密码。

Fastjson
fastjson是阿里巴巴开发的一款将json字符串和java对象进行序列化和反序列化的开源json解析库。fastjson提供了autotype功能,在请求过程中,我们可以在请求包中通过修改@type的值,来反序列化为指定的类型,而fastjson在反序列化过程中会设置和获取类中的属性,如果类中存在恶意方法,就会导致代码执行等这类问题。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何在CentOS部署JumpServer堡垒机并实现无公网ip环境远程访问

文章目录 前言1. 安装Jump server2. 本地访问jump server3. 安装 cpolar内网穿透软件4. 配置Jump server公网访问地址5. 公网远程访问Jump server6. 固定Jump server公网地址 前言 JumpServer 是广受欢迎的开源堡垒机,是符合 4A 规范的专业运维安全审计系统。JumpS…

通义千问1.5(Qwen1.5)大语言模型在PAI-QuickStart的微调与部署实践

作者:汪诚愚(熊兮)、高一鸿(子洪)、黄俊(临在) Qwen1.5(通义千问1.5)是阿里云最近推出的开源大型语言模型系列。作为“通义千问”1.0系列的进阶版,该模型推出…

【鸿蒙 HarmonyOS 4.0】登录流程

一、背景 登录功能在应用中是一个常用模块,此次使用 HarmonyOS 实现登录流程,包含页面呈现与网络请求。 二、页面呈现 三、实现流程 3.1、创建项目 构建一个ArkTS应用项目(Stage模型),今天创建流程可查看官网教程:文档中心 目…

Codeforces Round 877 (Div. 2)---->B. Minimize Permutation Subarrays

一,思路: 任何一个子数组如果要构成排列,那么一定需要数字 1在其中,要不然无论如何都不能构成一个排列,那么我们抓住这一点,只要我们把最大值放到 数字1 和 数字2之间,那么一定可以使结果最小。…

linux kernel物理内存概述(三)

目录 物理内存空间划分 物理内存初始化 查看当前页面分配状态 页块 页面如何添加到伙伴系统中? 物理内存空间划分 32位系统 4GB 用户空间和内核空间划分 3:1 ARM64架构处理器虚拟地址空间划分方式; 内核中使用PAGE_OFFSET宏计算 内核线…

llc半桥开关电源基础知识2(电路图简化)

llc半桥开关电源拓扑图如下 稳态:LLC电源已经正常工作,已经输出电压稳定稳态:LLC电源已经正常工作,已经输出电压稳定。 我们在分析拓扑结构的时候,都是基于他已经正常稳定输出的时候来分析的,毕竟LC电源只要以工作啊,绝大多数时间都是工作在稳态。 具体电路图化简分析如…

Android activity的启动模式和生命周期

一、Activity的启动模式有四种:standard(默认)、singleTop(栈顶复用)、singleTask(栈内复用)、singleInstance(单例模式) 使用方法: 在清单文件中声明 Acti…

yolov9训练

目录 说明 1、下载代码安装新的python环境 2、准备数据 3、修改代码 说明 本文参考该博主的文章,在已经有数据的情况,进行简单总结。需要详细版见原文链接如下:YOLOV9保姆级教程-CSDN博客 1、下载代码安装新的python环境 代码下载&…

力扣每日一道系列 --- LeetCode 160. 相交链表

📷 江池俊: 个人主页 🔥个人专栏: ✅数据结构探索 ✅LeetCode每日一道 🌅 有航道的人,再渺小也不会迷途。 LeetCode 160. 相交链表 思路: 首先计算两个链表的长度,然后判断两个链…

如何选择程序员职业赛道

目录 前言1 个人技能分析1.1 技术栈评估1.2 经验积累1.3 数据科学能力 2 兴趣与价值观2.1 用户交互与界面设计2.2 复杂问题解决与系统优化 3 长期目标规划4 市场需求分析4.1 人工智能和云计算4.2 前沿技术趋势 5 就业前景5.1 前端在创意性公司中的应用5.2 后端在大型企业中的广…

前端爬虫+可视化Demo

爬虫简介 可以把互联网比做成一张 “大网”,爬虫就是在这张大网上不断爬取信息的程序。 爬虫是请求网站并提取数据的自动化程序。 省流:Demo实现前置知识: JS 基础Node 基础 (1)爬虫基本工作流程: 向…

『运维备忘录』之 RegEx 正则表达式实例汇总

运维人员不仅要熟悉操作系统、服务器、网络等知识,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大…

深入理解Tomcat

目录: TomcatTomcat简介如何下载tomcatTomcat工作原理Tomcat架构图Tomcat组件Server组件Service组件Connector组件Engine组件Host组件Context组件 配置虚拟主机(Host)配置Context Tomcat Tomcat简介 Tomcat服务器是Apache的一个开源免费的Web容器。它实现了JavaEE…

【Android】源码解析 Activity 的构成

本文是基于 Android 14 的源码解析。 当我们写 Activity 时会调用 setContentView() 方法来加载布局。现在来看看 setContentView() 方法是怎么实现的,源码如下所示: 路径:/frameworks/base/core/java/android/app/Activity.javapublic void…

【机器学习】包裹式特征选择之递归特征添加法

🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:机器学习 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

Springboot解决模块化架构搭建打包错误找不到父工程

Springboot解决模块化架构搭建打包错误找不到父工程 一、情况一找不到父工程依赖1、解决办法 二、情况二子工程相互依赖提示"程序包xxx不存在" 一、情况一找不到父工程依赖 报错信息 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:…

windows安装pytorch(anaconda安装)

文章目录 前言一、安装anaconda1、进入官网下载(1)点击view all Installers(2)下载需要的版本 2、一顿默认安装就行(到这一步这样填)3、进入开始找到Anaconda Prompt,点击进入到base环境 二、新…

低代码与国产化部署:软件开发的未来趋势与应用实践

在数字化时代,软件开发已经成为企业创新和竞争力提升的关键。随着我国科技实力的不断提升,国产化部署逐渐成为软件开发领域的重要趋势。与此同时,低代码技术的发展也为国产化部署提供了新的机遇。本文将探讨如何在软件开发过程中充分发挥两者…

3-字典树-单词搜索 II

这是字典树的第3篇算法,力扣链接。 给定一个 m x n 二维字符网格 board 和一个单词(字符串)列表 words, 返回所有二维网格上的单词 。 单词必须按照字母顺序,通过 相邻的单元格 内的字母构成,其中“相邻”单…

Rust Web框架的选择

一、概述 Rust语言在系统编程领域的崛起,它的安全性、性能和并发特性也吸引了Web开发者的关注。本文将深入探讨当前流行的Rust Web框架,分析它们的特点、优势以及如何在Web开发中进行选择和使用。同时,我们还将提供一些实际的示例&#xff0…