特点
正向代理:代理的对象是客户端
为客服端工作
作用:
一些免费的正向代理
https://ip.jiangxianli.com/
lhttps://www.kuaidaili.com/free/inha/
如何设置代理
1.打开设置找到Internet选项
2.然后点击连接
3.填写代理服务器的端口和ip
反向代理:代理的对象是服务器
为服务端工作
作用
抓包工具的原理:在客户端启动了正向代理服务
需要注意的是
Wireshark的原理是:通过底层驱动,拦截网卡上流过的数据
Via:追加经过的每一台代理服务器的主机名(或域名)
X-Forwarded-For:追加请求方的IP地址
X-Real-IP:客户端的真实IP地址
在1阶段,会有这些请求头
Forwarded-For: 14.14.14.14
追加上了请求方的真实IP
X-Real-IP: 14.14.14.14
客服端的真实IP
Via:proxy1
在2阶段,会有这些请求头
X-Forwarded-For: 14.14.14.14,220.11.11.11
X-Real-IP: 14.14.14.14
Via: proxy1, proxy2
在3阶段,会有这些请求头
Via: proxy2
在4阶段,会有这些请求头
Via: proxy2, proxy1
CDN (Content Delivery Network或Content Distribution Network),译为:内容分发网络
什么是cdn
其实就是一个缓存节点,如果你在渗透时进行对方的CDN节点,那你渗透只是对方的节点服务器,那你的渗透实际上是无效的,因为你并没有进入到对方服务器。
CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。
作用
没有CDN的情况
我们请求网站时这样请求的
通过DNS服务器拿到IP,然后再用IP去访问网站服务器
有CDN的情况
很明显的就能看到,如果存在CDN服务器,我们就能更快速的获得资源,提高访问速度
CDN运营商在全国、乃至全球的各个大枢纽城市都建立了机房
部署了大量拥有高存储高带宽的节点,构建了一个跨运营商、跨地域的专用网络
内容所有者向CDN运营商支付费用,CDN将其内容交付给最终用户
具体的网站访问流程是这样的
当用户请求某网站时,首先根据域名去DNS服务器寻找IP,但是DNS服务器发现这个域名存在CDN服务器,所以DNS就去请求专门的CDN DNS服务器,然后把IP返回给客服端,然后客服端根据IP地址,去请求CDN全局负载均衡服务器,然后再返回给客服端,客服端拿这个最终的IP地址去访问服务器,获得资源
整个流程图
例子
通过CDN访问jQuery
//jQuery官网
<script
src="http://code.jquery.com/jquery-1.12.4.min.js"
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ="
crossorigin="anonymous">
</script>
//bootCDN
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
通过CDN可以快速得获取数据
截获:窃听通信内容
中断:中断网络通信
篡改:篡改通信内容
伪造:伪造通信内容
网络层-ARP欺骗
ARP欺骗(ARP spoofing),又称ARP毒化(ARP poisoning) 、 ARP病毒、ARP攻击
ARP欺骗可以造成的效果
可以让攻击者获取局域网上的数据包甚至可篡改数据包
可让网络上特定电脑之间无法正常通信(例如网络执法官这样的软件)
让送至特定IP地址的流量被错误送到攻击者所取代的地方
ARP欺骗步骤
ARP欺骗的原理:
ARP欺骗包是通过一个恶毒的程序自动发送的,正常的TCP/IP网络是不会有这样的错误包发送的,而人工发送又比较麻烦。也就是说当***没有运行这个恶毒程序的话,网络上通信应该是一切正常的,保留在各个连接网络计算机上的ARP缓存表也应该是正确的,只有程序启动开始发送错误ARP信息以及ARP欺骗包时才会让某些计算机访问网络出现问题。
欺骗步骤举例如下:
Step1:假设一个交换机连接了3台机器,依次是服务器A,B,C。
A服务器:IP的地址为:192.168.1.1 MAC: AA-AA-AA-AA-AA-AA
B服务器:IP的地址为:192.168.1.2 MAC: BB-BB-BB-BB-BB-BB
C服务器:IP的地址为:192.168.1.3 MAC: CC-CC-CC-CC-CC-CC
Step2:正常情况下在A服务器上运行ARP -A查询ARP缓存表应该出现如下信息。
Interface: 192.168.1.1 on Interface 0x1000003 Internet Address Physical Address Type 192.168.1.3 CC-CC-CC-CC-CC-CC dynamic
Step3:在B服务器上运行ARP欺骗程序,来发送ARP欺骗包。
B向A发送一个由B自己伪造的ARP应答,而这个应答中的数据为发送方IP地址是192.168.1.3(C的IP地址),MAC地址是DD-DD-DD-DD-DD-DD(C的MAC地址本来应该是CC-CC-CC-CC-CC-CC,这里被伪造了)。当A接收到B伪造的ARP应答,就会更新本地的ARP缓存(A不知道被伪造了)。而且A不知道其实是从B发送过来的,A这里只192.168.1.3(C的IP地址)和无效的DD-DD-DD-DD-DD-DD mac地址。
Step4:欺骗完毕后在A服务器上运行cmd 窗口中输入“arp -a”来查询ARP缓存信息。你会发现原来正确的信息现在已经出现了错误。
Interface: 192.168.1.1 on Interface 0x1000003 Internet Address Physical Address Type 192.168.1.3 DD-DD-DD-DD-DD-DD dynamic
从上面的介绍可以清楚的明白网络中传输数据包最后都是要根据MAC地址信息的,也就是说虽然网络日常通讯都是通过IP地址,但是最后还是需要通过ARP协议进行地址转换,将IP地址变为MAC地址。而上面例子中在A服务器上的关于C服务器的MAC地址已经错误了,所以即使以后从A服务器访问C服务器这个192.168.1.3这个地址也会被ARP协议错误的解析成MAC地址为DD-DD-DD-DD-DD-DD的。
问题也会随着ARP欺骗包针对网关而变本加厉,当网络中一台服务器,反复向其他服务器,特别是向网关,发送这样无效假冒的ARP应答信息包时,严重的网络堵塞就会开始。由于网关MAC地址错误,所以从网络中计算机发来的数据无法正常发到网关,自然无法正常上网。这就造成了无法访问外网的问题,另外由于很多时候网关还控制着我们的局域网LAN上网,所以这时我们的LAN访问也就出现问题了。
防护方法
静态ARP
DHCP Snooping
网络设备可借由DHCP保留网络上各电脑的MAC地址,在伪造的ARP数据包发出时即可侦测到
利用一些软件监听ARP的不正常变动
Dos、DDos
DoS攻击(拒绝服务攻击,Denial-of-Service attack)
DDoS攻击(分布式拒绝服务攻击,Distributed Denial-of-Service attack)
DOS攻击分类
带宽消耗型: UDP洪水攻击、ICMP洪水攻击资
源消耗型:SYN洪水攻击、LAND攻击
SYN洪水攻击(SYN flooding attack)
攻击者发送一系列的SYN请求到目标,然后让目标因收不到ACK(第3次握手)而进行等待、消耗资源
攻击方法
LAND攻击(局域网拒绝服务攻击,Local Area Network Denial attack)
通过持续发送相同源地址和目标地址的欺骗数据包,使目标试图与自己建立连接,消耗系统资源直至崩溃
有些系统存在设计上的缺陷,允许设备接受并响应来自网络、却宣称来自于设备自身的数据包,导致循环应答
防护
大多数防火墙都能兰截类似的攻击包,以保护系统部分操作系统通过发布安全补丁修复了这一漏洞
路由器应同时配置上行与下行筛选器,屏蔽所有源地址与目标地址相同的数据包
防御方式通常为:入侵检测、流量过滤、和多重验证
防火墙
防火墙可以设置规则,例如允许或拒绝特定通讯协议,端口或lP地址
当攻击从少数不正常的IP地址发出时,可以简单的使用拒绝规则阻止一切从攻击源IP发出的通信
复杂攻击难以用简单规则来阻止,例如80端口遭受攻击时不可能拒绝端口所有的通信,因为同时会阻止合法流量
防火墙可能处于网络架构中过后的位置,路由器可能在恶意流量达到防火墙前即被攻击影响
黑洞引导
流量清洗
DNS劫持,又称为域名劫持
比如说你打开的是百度,结果给你跳转到了一个赌博网站,这就是DNS劫持
为防止DNS劫持,可以考虑使用更靠谱的DNS服务器
比如:114.114.114.114
谷歌:8.8.8.8、8.8.4.4
微软:4.2.2.1、4.2.2.2
百度:180.76.76.76
阿里:223.5.5.5、223.6.6.6
HTTP劫持:对HTTP数据包进行拦截处理,比如插入JS代码
HTTP协议默认是采取明文传输的,因此会有很大的安全隐患
常见的提高安全性的方法是:对通信内容进行加密后,再进行传输
常见的加密方式
相关单词
encrypy:加密
derypt:解密
plaintext:明文
ciphertext:密文
不可逆
单向散列函数:MD5、SHA等
单向散列函数,可以根据根据消息内容计算出散列值
散列值的长度和消息的长度无关,无论消息是1bit、10M、100G,单向散列函数都会计算出固定长度的散列值
特点
根据任意长度的消息,计算出固定长度的散列值计算速度快,能快速计算出散列值
消息不同,散列值也不同
具备单向性
哪怕只有一个字不一样,也会完全不一样
应用
防止数据被篡改,判断今天的文件和昨天的文件是否一致
在实际生活中,当我们的密码忘记了,也只能采取密码重置的功能,因为都是采取不可逆加密,所以服务器也帮不到你
可逆
其它
混合密码系统
数字签名
证书
须知
为了便于学习,设计4个虚拟人物
Alice、Bob:互相通信
Eve:窃听者
lMallory:主动攻击者
如防止被窃听
在传输之前先加密,加密了在传输,窃听者只能得到密文