Socket模块在通信中存在的问题
我们在这篇文章中(用Socket建立简单的数据传输 | Trtyr’s Blog),简单的做到了单次通信,但是在实际中肯定不会这么见简单
首先就是要做到持续通信,而且有可能我们需要多个不同的客户端,然后发现,我们之前写的那个 “玩具” 根本行不通,
一. 多次通信我们之前的程序,每次传输后,都会自动结束,所以我们要解决这个问题。
我们很容易能想到,加死循环,让它一直连接
先改客户端和先改服务端都一样。我们先改客户端玩玩
1. 客户端修改我们先看之前的代码
1234567891011121314151617# 服务端IP:172.40.66.163 # 客户端IP:192.168.40.129 import socket client = socket.socket() # 默认TCP连接 client.connect(('172.40.66.163', 8001)) # 服务端IP,以及服务端开放的端口 # 向服务端发送消息 client.send('我是客户端'.encode()) # 这个 "我是客 ...
Meterpreter相关介绍
一. Meterpreter是什么当我们利用MSF生成了一个木马,并且在靶机上运行后,我们的MSF会进入如下的一个界面
我们进入一个meterpreter的命令行。
我们建立了一个木马链接,这在MSF中叫做一个session,第一个建立的连接就是 session 1;如果你又建立了一个连接或者漏洞利用进程,它就是session 2.
Meterpreter是Metasploit框架中的一个利器,作为漏洞溢出后的攻击载荷使用。
攻击荷在触发漏洞后会返回-个由我们控制的通道,可用于远程执行命令!
Metasploit提供了各个主流平台的Meterpreter版本,包括Windows、Linux,同时支持x86、x64平台,另外,Meterpreter还提供了基于PHP和Java语言的实现。
Meterpreter的工作模式是纯内存的,好处是启动隐藏,很难被杀毒软件监测到。不需要访问目标主机磁盘,所以也没什么入侵的痕迹。
除上述外,Meterpreter还支持Ruby脚本形式的扩展。所以Ruby语言还很有必要了解下。
二. Meterpreter中常用的反弹类型
reverse tcp
...
虚拟局域网VLAN相关知识
这个主要用在交换机上
一台交换机默认情况下连接一个广播域,因为默认情况下所有的接口都是属于同一个vlan的,默认vlan1,所以是在同一个广播域中。
结合交换机的工作原理,数据来了之后,如果交换机上面的所有接口全部连着主机或者其他设备,那么交换机就会从所有的接口广播出去,造成广播域有点大,导致广播流量过多,这样会产生网络拥塞。
为了解决上述情况,就需要在交换机上划分广播域,使得一个交换机上存在多个广播域,这就是虚拟局域网VLAN
一. 目的1. 划分广播域虚拟局域网VLAN的目的是为了划分广播域,不同广播域中的主机,是不能够进行通信的,如果想要通信,这时候需要借助路由
简单画个图看一下
这是一个交换机(黑色框),有8个接口(红色的),这些接口都属于一个广播域,默认VLAN1,并且都有设备连接。现在从左面设备传来了一个数据,通过交换机广播给了其余的7个接口所对应的设备。
我们设置虚拟VLAN后是这样的
这样就变成了两个广播域,从左面设备传来的数据只会在本广播域进行广播,控制了广播
2. 增强网络的安全性还是刚才的那个网络
现在主机A沦陷了,于是向交换机发了一个ARP广播,那么这个广 ...
动态路由协议RIP
一. 动态路由1. 简单了解我们知道,路由分静态路由和动态路由。
平常来说,静态路由用的比较多,但是在大型网络中,还是得用动态路由,不然一个一个跳得累死你,一直跳到你绝望为止。
静态路由是单向的,需要管理员手动配置;动态路由是在路由器上启用某动态路由协议。
不同的动态路由协议是不一样的,启用了动态路由协议后,进行自己直连的网段的宣告,从而相邻的路由器就可以学习到相邻的路由器所宣告的网段。
举个例子,张三认识李四,李四认识王五,那么张三就可以通过李四认识王五。
比如是这样的一个网络。R1连着10网段和20网段,然后它把这两个网段宣告给与自己直连的路由器,即R2。
这时候R2就学习到了10网段和20网段,同时R2自己还连着30网段,所以它现在就会10,20,30三个网段了。然后再宣告给自己直连的路由器,即R1和R3。
R1和R3就学习到了10,20,30这三个网段。R3同时连着40网段,它现在就会了10,20,30,40四个网段。然后再宣告给R2,R2就会了,R2再宣告给给R1和R3,R1也会。
这样所有的路由器学会了所有的网段。
2. 常见的动态路由
RIP:路由信息协议(距离矢量路由 ...
单臂路由和三层交换机
在交换机网络中,要想跨交换机实现相同VLAN通信可以用VLAN trunk,那么不同VLAN之间应该怎么通信呢?
因为不同VLAN是属于不同的广播域,配置的是不同的网段IP,针对于不同网段的IP进行通信,就需要加一个路由,或者其他技术。
目前实现不同VLAN间的通信有两种,一种叫做单臂路由,一种叫做三层交换
一. 单臂路由1. 简单介绍我们想要实现不同VLAN之间的通信,可以加一个路由器
主机A向主机B通信,我们可以加上网关,这样数据就会通过交换机传给路由器,然后路由器再经过一系列的处理再把数据通过交换机传给主机B
那么这里有问题了
我们目前两个VLAN都连了路由器的同一个物理接口,那么这个接口属于哪个VLAN的?
交换机想要转发任何VLAN数据,就必须配置为trunk,但是路由器接口又不能配置trunk,因为路由器是路由接口,而trunk是交换接口。
解决这两个问题,我们可以依据路由器的物理接口去划分子接口。
比如我们路由器的接口是0/1,我们0模块不变,子接口是划分1.1,就是0/1.1,0/1.2,0/1.3等等。
子接口划分后还需要接口 ...
ARP协议原理与ARP攻击欺骗及模拟实战
一. ARP协议ARP(地址解析协议)是一个三层协议,但是工作在二层。所以也有的地方把它称为2.5层协议
二层数据交换靠MAC地址,这个时候ARP协议用来将一个已知的IP地址解析为MAC地址,,从而进行二层数据交互
二. 工作阶段主机向另一台主机发送ARP请求,然后接收到ARP请求后,会发ARP响应
1. ARP请求
主机A向主机B发送ARP请求,然后主机B接收到后,向主机A发送ARP响应。
但是现在有个问题,ARP是工作在二层,二层靠MAC地址进行传送数据,所以主机A向主机B发送数据之前,他得先知道主机B的MAC地址,但是他现在不知道,所以主机A在分装ARP请求的时候,目的MAC地址是广播地址
他是以广播的方式来请求。
2. ARP响应主机B收到后,会检测数据帧,发现IP和自己一样,说明是在访问主机B的MAC地址,然后它再封装一次。
这就是一个单波的响应。
3. 实例我们有两台虚拟机,win10和win7
win10的IP是192.168.40.131,win7的IP是192.168.40.130,这俩是一个网段的,在一个局域网。
我们在win10打开wireshark准备抓包。 ...
论如何通过不同方式收集信息
阅读前请注意,这篇文章只是我的个人想法,发生了什么与作者无关
看到这个标题,你可能会好奇,这玩意还用教?搜就行了啊……
如果你有这种想法的话,我放一张前几天群友发的图片
请找到这个软件。
一. 什么是信息什么是信息,这个问题似乎问的挺奇妙的。
下课铃是信息,说话是信息,光线是信息,手机,电脑,美食等等都是信息,那么到底什么是信息?
我们来想一下,下课了你会知道下课了,说话你会知道对方想表达给你的意图,光太亮了你会遮眼,你会吃美食,玩手机……
我认为,信息,就是能让你大脑产生活跃的一种东西。
我说的这句话你可能会更蒙了,你会感觉有的时候你没做出什么反应啊,觉得你的脑子也没怎么动。
我举个例子,你现在看向窗外,你可能没觉的怎么样,但是你的大脑会知道现在是上午,中午还是下午;你现在在哪,在家还是在外面,或者具体的一个地方;会知道有没有太阳或月亮,知道你现在的天气,知道你现在的动作是在看向窗外……
这些你确实没有感觉到,与其说是没有感觉到,不如说是你没想。
我们这里就又发现了一个事情,你想的,你感受到的,你大脑处理的,这些东西不是一码事,大脑处理的东西会影响你的潜意识。 潜意识又会影响你想的 ...
信息收集之CDN绕过
CDN绕过CDN 的全称是 Content Delivery Network,即内容分发网络。
CDN 是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。但在安全测试过程中,若目标存在 CDN 服务,将会影响到后续的安全测试过程。
如果有CDN,我们访问的可能不是源站,只是缓存的站点。
如何判断目标站点是否存在CDN?利用多节点技术进行请求返回判断
超级ping使用超级ping进行查询
无CDN的情况:
监察结果的响应ip都是同一个
有CDN 的情况:
监察结果的响应ip有多个
![[信息收集之CDN绕过3.png]]
nslookup使用windows命令nslookup 进行查询
无CDN
有CDN :会有多个地址
常见CDN 绕过技术1. 子域名查询为什么要进行子域名查询?
搭建CDN要花钱,一般管理员会对主站,访问量比较大的搭建cdn服务,但是不会对子站做cdn,这时候就可以通过查找子域名来查找网站的真实IP。
比如
12345 ...
SQL注入介绍与靶场实战
在实战部分需要有一定的python爬虫基础
如果有看不懂的请在下方留言
一. 数据库相关知识简介1. 什么是数据库数据库就是将大量数据把保存起来,通过计算机加工而成的可以高效访问的数据集
2. 常见的数据库Oracle:甲骨文公司
SQL Servers:微软公司
DB2:IBM 公司
PostgreSQL:开源
MySQL:开源
Access:微软公司(老古董)
我们把调用这些数据库的语句,统一叫做SQL语句
尽管数据库的种类繁多,但这些数据库的SQL语句是相通的。同一条SQL语句可以在不同的数据库上执行,得到相同的效果
不过不同的数据库他是会有一些自己独有的特性,不过很少。
3. 数据库结构我们用 SQL - Font 工具对数据库进行可视化分析
这就是这样
(1) 左面那些东西我们先看看左面那些图标都是些什么牛马
我们先来看这个
这个代表当前的服务器,所有的数据库都在服务器下
这几个是在服务器下的所有数据库
一个服务器下可以有多个网站,一个网站有一个数据库
这里注意有两个特殊的库,就是那个图标和其他数据库不一样的那两个
这两个数据库是MySQL自带的数据库,之后会讲到。
...
生成树协议STP及其配置
一. 引言现在有这样的一个网络
我们可以看到,交换机通过各自的协商,完成了端口开启,其中有一个端口是橙色的,说明它没打开,我们来看看这个端口。
我们这里直接查看生成树
1show spanning-tree
可以看到,这个F0/1接口显示的是BLK,即接口开启但不转发数据,为阻塞端口。
那如果我们没有这个BLK,即所有接口都是通的,加上设备之后就会出现一个神奇的情况。
数据从PC1到PC0,经过交换机1的时候进行广播,从F0/1和F0/2接口(现在假设所有接口都是通的)出去,数据就会发到交换机3和交换机2,然后这俩再广播一下,交换机2会将数据发到PC0,但是它还会从另外两个接口发出去,再到交换机3,然后再广播,到交换机1,再广播,到交换机2,然后……。
这样就会形成回环,数据还在传,但早都到PC0了。这就产生了没用的流量,形成网络风暴
有人会问,那我直接不用这种环状网络得了呗。或者说不知道环状网络的用处。我们举个例子。
这个网络是一个经典的冗余链路,其中三个交换机组成了环状网络,路由器会阻断广播所以成不了环状网络
有数据从二层交换机出来,会随机走 ...