发布于2021-06-12 16:10 阅读(421) 评论(0) 点赞(30) 收藏(4)
TCP 协议是一个面向连接,可靠的,字节流服务的协议
TCP连接的两端:套接字、插口、端口。(不同叫法)形式:{IP+端口号}
格式
三次握手
假设两端为A和B;
第一次握手:A给B发送syn=1;seq=x(x随机生成)
第二次握手:B给A发送seq=y;ack=x+1
第三次握手:A给B发送ACK=y+1
三次握手是建立安全连接的最少次数,如果A和B第一次握手,B给A回复了但是因为网络问题,导致A迟迟没有收到B的答复,那么A将再次发送syn请求建立连接,而此时B的回复恰好到来,并且B等待A继续发送数据;但是此时A已经开始了新的连接,不会理睬B发来的回复,这导致B又要再次等待A发数据,客户端等待服务端发回复。
四次挥手
第一次挥手:客户端进程发出连接释放报文,并且停止发送数据。释放数据报文首部,FIN=1,其序列号为seq=u(等于前面已经传送过来的数据的最后一个字节的序号加1),此时,客户端进入FIN-WAIT-1(终止等待1)状态。 TCP规定,FIN报文段即使不携带数据,也要消耗一个序号。
第二次挥手:服务器收到连接释放报文,发出确认报文,ACK=1,ack=u+1,并且带上自己的序列号seq=v,此时,服务端就进入了CLOSE-WAIT(关闭等待)状态。TCP服务器通知高层的应用进程,客户端向服务器的方向就释放了,这时候处于半关闭状态,即客户端已经没有数据要发送了,但是服务器若发送数据,客户端依然要接受。这个状态还要持续一段时间,也就是整个CLOSE-WAIT状态持续的时间。
客户端收到服务器的确认请求后,此时,客户端就进入FIN-WAIT-2(终止等待2)状态,等待服务器发送连接释放报文(在这之前还需要接受服务器发送的最后的数据)。
第三次挥手:.服务器将最后的数据发送完毕后,就向客户端发送连接释放报文,FIN=1,ack=u+1,由于在半关闭状态,服务器很可能又发送了一些数据,假定此时的序列号为seq=w,此时,服务器就进入了LAST-ACK(最后确认)状态,等待客户端的确认。
四次挥手:客户端收到服务器的连接释放报文后,必须发出确认,ACK=1,ack=w+1,而自己的序列号是seq=u+1,此时,客户端就进入了TIME-WAIT(时间等待)状态。注意此时TCP连接还没有释放,必须经过2∗MSL(最长报文段寿命)的时间后,当客户端撤销相应的TCB后,才进入CLOSED状态。
如页面中存在如下代码
<?php echo "<p>hello,$_GET['user']</p>"; ?>
访问时,将user参数向如下设置
xxxxxx/?user=</p><script>alert("hack")</script><p>
那么构造的恶意代码就回被解析执行。
漏洞成因:用户可控输入,输入的参数未被严格过滤,输入的内容拼接到web要执行的代码中。
攻击流程:
常发生在留言板、聊天室等,攻击者只需要提交恶意XSS,恶意XSS被存储存在服务器,导致用户和管理员访问资源时执行了恶意代码。
IIS6.0读取文件是从左向右的,当读取到“;”的时进行内存截断。例如“test.asp;.jpg”实际读取的就是“test.asp”。
IIS6.0网站下建立文件夹名字为".asp"、".asa"结尾的文件夹,其目录下的任何扩展名的文件都被IIS当成asp来执行。
Structs是java开发的一种web框架,存在很多能直接系统命令的漏洞。
Struct2框架在处理用户发送的请求时,通过geeter/setter方法来处理请求中的参数,会把每个参数申明称ONGL对象。而在ONGL表达式中有一个构造map的功能,构造map对象这个功能支持action/redirect、redirectAction等动作,这些动作中包含的对象允许用户调用java.lang.Runtime.getRuntime()去执行系统命令。
Tomcat默认安装后作为一个系统服务运行。当Tomcat以系统管理员身份或作为系统服务运行时,java取得了系统用户或系统管理员的全部权限。而且Tomcat管理的默认的账户和密码为tomcat.攻击者可以利用默认口令获取后台管理权限,通过部署war包将木马写入到服务器上,进一步控制服务器权限的目的。
java序列化和反序列化:在网络上传输数据时,数据会转成二进制序列。因此当两个Java进程通信时要先将数据进行序列化,转化成二进制字节序列,大概接收到数据时,将字节序列进行反序列化,回复java对象。
反序列化漏洞原理:java中进行反序列化的是common-collections.jar,这个jar文件并未对二进制文件进行过滤而是直接反序列化,因此当攻击者将包含恶意代码的二进制字节流发至服务器,服务器将其反序列化导致恶意代码执行。
危害:攻击者可利用该漏洞在服务器端执行系统命令,并可写入木马控制服务器。
OpenSSL中存在一个心跳机制,客户端用户通过向服务器发送心跳包来维持TLS连接,但是在代码中没有做边界检测,导致攻击者课构造恶意心跳包来获取服务端内存中的数据。(每次获得的数据量在16KB—64KB)
CC攻击是DDOS的一种,CC攻击很难见到真实的源IP,而且见不到特别大的异常流量。CC攻击原理是控制大量的主机,不停地向服务器发送大量数据包耗尽服务器资源,知道宕机崩溃。
信安中指那些在官方发布安全补丁之前已被了解和掌握的漏洞信息。
蜜罐技术本质上是对攻击方进行欺骗的技术。通过布置一些诱饵服务器或其他网络资源诱使攻击来来攻击,从而对攻击者的攻击方式、攻击工具、所利用的漏洞和攻击意图进行分析。进而使自己了解自己所面对的网络安全风险,提高真实系统的防御能力。
HTTPS = http + SSL/TSL(传输层安全性协议)
作用:
一种蠕虫病毒,是第一个专门定向攻击真实世界中基础(能源)设施的“蠕虫” 病毒,比如核电站,水坝,国家电网。只要电脑操作员将被病毒感染的 U 盘插入 USB 接口,这种病毒就会在神不知鬼不觉的情况下(不会有任何其他操作要求或者提示出现)取得一些工业用电脑系统的控制权。
与传统的电脑病毒相比,“震网”病毒不会通过窃取个人隐私信息牟利。无需借助网络连接进行传播。这种病毒可以破坏世界各国的化工、发电和电力传输企业所使用的核心生产控制电脑软件,并且代替其对工厂其他电脑“发号施令”。极具毒性和破坏力。“震网”代码非常精密,主要有两个功能,一是使伊朗的离心机运行失控,二是掩盖发生故障的情况,“谎报军情”,以“正常运转”记录回传给管理部门,造成决策的误判。
原文链接:https://blog.csdn.net/duan_qiao925/article/details/117569895
作者:以天使的名义
链接:http://www.javaheidong.com/blog/article/222577/b8f268eccba305656a2c/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!