系统指纹通常是指一些开源软件的特定识别方式,一般存在于服务端返回的报文数据中,如HTTP-Header、HTTP-Response,通过对返回内容进行分析,如路径、文件的识别,可以确定所用的系统类型,从而利用开源系统中已经存在的漏洞进行攻击。下面列举一些常见的指纹。
向某个网站发送HTTP请求,并获取返回内容。
Date: mon,02 apr 2020 08:01:23 GMT
Server: Apache/2.4.7(Ubuntu)
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 13860
Keep-Alive: timeout=30,max=99
Content-Type: text/html
Expires: 0
Cache-Control: max-age=3600,no-cache
Proxy-connection: Keep-alive
通过上面的HTTP响应信息,可以看到其中包含有Server:Apache/2.4.7(Ubuntu),得知Web服务器用的是Apache,并且可以得到Apache的版本号是2.4.7,且是在Ubuntu操作系统下。
查看该网站返回的HTML代码(如图1所示)。
图1 返回的HTML代码
发现/wp-content/themes和/wp-includes/js/,可知该网站是使用WordPress搭建的。
再如下面的示例中,如果在返回的HTTP头或者数据中包含下面的字符串,很容易被攻击者猜测后端程序使用的PHP框架是ThinkPHP。
"X-Powered-By":"ThinkPHP"
在系统上线前一定要仔细检查,将相应特征进行隐藏,以免被利用。
常见PHP开源系统指纹
微信公众号:计算机与网络安全
ID:Computer-network
一如既往的学习,一如既往的整理,一如即往的分享。感谢支持
“如侵权请私聊公众号删文”
扫描关注LemonSec
觉得不错点个“赞”、“在看”哦
本文始发于微信公众号(LemonSec):PHP安全:应用指纹安全
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论