声明!
学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!!!有兴趣的小伙伴可以点击下面连接进入b站主页[B站泷羽sec]
编程语言
c语言:一种通用、面向过程的编程语言,主要用于系统软件和嵌入式开发
C++:在c语言基础上研发来的,面向对象编程,常用于游戏开发、高性能计算等领域
Java:一种广泛使用的面向对象编程语言,,具有跨平台性、用于企业级应用开发等
Python:简洁易学,有丰富的库,适用于数据分析,人工智能、web开发等
Javascript:主要用于网页前端开发,也用于服务器端开发(node.js)
C#:由微软开发,主要用于windows平台上应用开发
Rudy:一种简洁而富有表现力的编程语言,用于web开发
PHP:主要用于web开发,适合服务器端脚本编程
Go:一种高效、简洁的编程语言,适用于网络编程和云计算等领域
Swift:苹果公司开发的编程语言,用于ios和macOS应用开发
Kotlin:可与java互操作,用于Android开发
函数式编程语言
Haskell:纯函数式编程语言,以强大的类型系统和数学上的严谨性著称
Lisp(包括common lisp、scheme等):历史悠久的编程语言家族,以其高度的灵活性和宏系统闻名
Clojure:运行在java虚拟机上的lisp方言,结合了函数式编程和java平台的优势
数据科学和机器学习领域
R:在统计分析和数据可视化方面应用广泛
Julia:设计用于高性能科学计算和数据分析
Web全栈开发
Typescript:是JavaScript的超集,增加了静态类型检查等特性,提高了大型项目的开发效率
移动开发:
Objective—c:曾经是ios开发的主要语言,逐渐被swift取代
嵌入式系统开发
Assembly language(汇编语言):不同的处理器架构有不同的汇编语言,用于对硬件进行底层控制
其他:
Pascal:曾经在教学和早期软件开发中有广泛应用
Delphi(基于object pascal):用于快速应用开发
Elixir:基于erlang虚拟机,具有高并发和容错性,适用于构建分布式系统
软件程序
Web程序(网站)
通常由前端、后端、数据库、服务器构成。
前端语言
Html、css、javascript
代码库
Jquery、bootstrap、elementui
框架
Vue、react、angular
前端漏洞:信息泄露、xss、csrf、点击劫持、访问控制、web缓存漏洞、跨域漏洞、请求走私
后端漏洞:信息泄露、xss、csrf、ssrf、反序列化漏洞、sql注入漏洞、命令注入漏洞、服务端模板注入、跨域漏洞、访问控制
后端语言
Php、java、python、golang、c/c++、lua、node.js、ruby
数据库
关系型数据库
Mysql、sqlserver、access、postgresql
非关系型数据库
Mongodb、couchdb、neo4j、redis
服务端程序
Apache、nginx、iis、tengine、tomcat、weblogic
漏洞:信息泄露、文件上传、文件解析、目录遍历、访问控制
二进制程序
一般在逆向中常用,web渗透不怎么接触
驱动程序
也是二进制程序,是由二进制进行编写的,以windows为例,一般sys结尾的文件就是驱动程序
上位机
脚本程序
比如:lua、php、java
操作系统
操作系统也是软件程序的一种,只不过是一个大型软件
Ios、mac、linux、android、windows、wince、vxworks、RT-Thread
常见的操作系统windows、mac、ios和linux是非实时操作系统,wince、vxworks、RT-Thread是实时操作系统,非实时操作系统主要致力于在各种情况下提供良好的整体性能、用户体验和多任务处理能力,但不能保证在严格的时间限制内对事件做出响应,与之相对的实时操作系统(RTOS),实时操作系统能够在确定的时间内对外部事件做出响应并完成特定的任务,具有严格的时间确定性和可预测性,常用于对时间要求极为严格的嵌入式系统、工业控制等领域
裸板程序
Web渗透和二进制都是基于操作系统去写的,还有一种裸板程序,它没有操作系统,没有进程,直接在STM32上写一段代码或者基于单片机去写代码。裸板程序是没有操作系统概念的 也没有进程这种概念
量子计算
工控程序
Bios程序
也是软件程序 是对底层的操作
网络通信
不论搞什么都是需要网络通信联网的
硬件设备
计算机硬件
中央处理器(cpu):计算机的核心部件,负责执行指令和处理数据,它的性能决定了计算机的运行速率
内存:用于存储正在运行的程序和数据,它的容量和速度对计算机的性能有很大影响
硬盘:用于长期存储数据,包括操作系统、应用程序、文件等。硬盘的容量和读写速度也是影响计算机性能的重要因素
显卡:用于处理图形和图像数据,它的性能决定了计算机的图形处理能力,对于游戏玩家和图形设计师来说,显卡的性能非常重要
主板:是计算机的核心电路板,连接各种硬件设备,如cpu、内存、硬盘、显卡等,主板的质量和性能对计算机的稳定性和扩展性有很大影响
网络硬件
网络服务器:提供网络服务、如文件存储、电子邮件、web服务等,网络服务器通常具有较高的性能和可靠性,以满足大量用户的需求
网络存储设备:用于存储网络中的数据,如网络附加存储(NAS)和存储区域网络(SAN),它们提供了大容量、高可靠性的数据存储解决方案
网络打印机:可以通过网络连接被多台计算机共享,方便用户打印文件
网络摄像头:用于视频监控和远程会议等应用,它可以通过网络将视频传输到其他设备上
移动设备硬件
智能手机:集成了多种功能,如通信、拍照、娱乐办公等、智能手机硬件包括处理器、内存、存储、屏幕、摄像头等
平板电脑:类似于智能手机、但屏幕更大、适合阅读、浏览网页、观看视频等,平板电脑的硬件也包括处理器、内存、存储、屏幕、摄像头等
可穿戴设备:如智能手表、智能手环等,它们可以监控用户的健康数据、运动数据等、并与智能手机等设备进行连接交互、可穿戴设备的硬件包括传感器、处理器、内存、存储、屏幕等
硬件发展趋势
小型化:硬件设备越来越小型化,便于携带和是用
高性能:随着技术的不断进步,硬件设备的性能不断提高
智能化:硬件设备越来越智能化,能够自动适应不同的环境和用户需求
互联互通:硬件设备之间的互联互通越来越紧密,形成了一个庞大的物联网。
网络类型
局域网(lan):覆盖范围较小,一般在一个建筑物或者一个校园内。
城域网(man):覆盖范围较大,一般在一个城市内。
广域网(wan):覆盖范围非常大,可以跨越国家和地区。
网络协议
TCP/IP协议:是互联网的基本传输协议,包括传输控制协议TCP和网络协议IP,TCP负责数据的可靠传输,IP负责数据的路由和寻址。
HTTP协议:超文本传输协议,用于web浏览器和web服务器之间传输超文本数据
FTP协议:文件传输协议,用于在计算机之间传输文件
SMT、PPOP3和IMAP协议:用于电子邮件的发送和接收
网络设备
路由器:连接不同的网络,实现网络之间的数据转发,它是根据ip地址和路由表来确定数据的传输路径。
交换机:在局域网中连接多台计算机,实现数据的快速交换,它是根据mac地址来转发数据。
网卡:安装在计算机中,用于连接网络,它将计算机的数据转换为网络信号进行传输,并接收网络信号转换为计算机可识别的数据。
无线接入点(ap):提供无线网络连接,使无线设备能够接入局域网或广域网。
网络安全
防火墙:用于保护网络免受外部攻击,它可以根据预设的规则过滤网络流量
加密技术:对数据进行加密,防止数据被窃取或篡改。
身份验证:确保只有授权用户能够访问网络资源,常见的身份认证方式有用户名和密码、数字证书、生物识别等。
Macro宏病毒
利用metasploit生成宏病毒,植入office文件或者产品,这款病毒植入的是微软的产品
人工智能
机器学习
一般是python语言写的,go之类的语言也可以写,也是一个程序
工作流程
数据收集
来源:可以从各种渠道获取数据。
类型:包括结构化数据(如表格数据)、半结构化数据(如xml、json格式的数据)和非结构化数据(如文本、图像、音频等)
数据预处理
数据清洗:去除噪声数据、处理缺失值、纠正错误数据等。
数据归一化:将数据的特征值缩放到一个特定的范围内,以提高算法的性能和稳定性。
特这个提取:从原始数据中提取出有用的特征、以便几起学习算法能够更好的处理和理解数据
模型的选择和训练
根据任务类型和数据特点选择合适的机器学习算法
将预处理后的数据分为训练集和测试集。训练集用于训练模型,测试集用于评估模型的性能
使用训练集对模型进行训练,通过调整模型的参数使得模型在训练集上损失函数最小化
模型评估与优化
使用测试集对训练好的模型进行评估,常用的评估指标有准确率、精确率、召回率、F1值、均方误差等
根据评估结果对模型进行优化,可以调整模型的参数、更换算法、增加数据量等。
模型应用
将优化后的模型应用到实际问题中,进行预测、分类、聚类等任务
对模型的应用结果进行监控和评估,不断改进模型以提高性能
深度学习
神经网络基础
神经元模型
深度学习的基础是人工神经网络,其灵感来源于生物神经系统,神经网络中的基本单元是神经元,它接收多个输入信号,对这些信号进行加权求和,然后通过一个激活函数处理得到输出
多层神经网络
深度学习中的神经网络通常由多个层次组成,包括输入层、隐藏层和输出层
输入层接收原始数据,隐藏层对数据进行多层次的特征提取和变换,输出层产生最终的预测结果
各位读者,以上内容均来自泷羽sec的教学,还想学习更多知识请前往B站泷羽sec进行学习
后续持续更新中