存疑解惑

TCP协议

snort的专栏里面,以DVWA之反射型XSS攻击为例

问题描述

反射型XSS使用的是HTTP协议,经GET方法发起攻击,然而我的snort规则所用的协议却是TCP,它是怎么去检测HTTP的?
附上规则内容:

alert tcp any any -> any any (msg:"DVWA-XSS_r漏洞攻击"; flow:to_server,established; uricontent:"DVWA-master/vulnerabilities/xss_r"; fast_pattern:only; uricontent:"name="; nocase; pcre:"/name[\s=]+?.+?(%3c|\x3c|<).+?(%3E|\x3E|>)/iU"; metadata:service http; sid:3; rev:1;)

一些思考

首先观察这个数据包,可以看到攻击的主要内容在红色部分,虽然用“三次握手”或者wireshark的TCP追踪流,能解释snort的协议应该使用的是TCP协议,但总觉得牵强。因为TCP是网络层的协议,要是分析数据包也应该是分析网络层及网络层之下的协议,不应该分析网路层上面的协议。
在这里插入图片描述

正解

1:认为应该分析网络层及网络层之下的协议是错误的。
我产生这个想法是受wireshark红色框选部分影响,想当然的认为如果分析网络层就应该能够分析网络层及数据链路层的协议
在这里插入图片描述
2:snort使用TCP协议就能分析HTTP协议是因为协议封装。
数据包经过一层就会加封一层,应用层的内容是TCP的数据部分,所以分析TCP协议就可以看到TCP数据部分的内容——HTTP
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44288604/article/details/108640370