网站分析技巧手工检测Web网站指纹:租印度云服务器

時間:2023-12-28 06:51:40 作者:租印度云服务器 熱度:租印度云服务器
租印度云服务器描述::

网站指纹是 Web 服务组件在开发时留下的类型、版本等标志信息,包括 Web服务器指纹、Web运用指纹及前端框架指纹等。我们可以通过前端网页和返回一些 HTTP 头信息来判断网站采用的哪些开发框架、服务器、系统,在渗入测试时也可以提供有针对性的测试思路。

一、Web 利用专业概览

11 架构

大多数 eb 利用可以粗略划分为三个组件(ponent)。

1、客户端, 大多数场合下是阅读器。

2、服务端, Web服务器收取客户端的HTTP请愿并进行响应。另外,有时候 Web服务器只转发请愿到利用服务器(Application Server),由利用服务器来处置请愿。

3、后端存储, 后端存储一般是DBMS,用于查询和存储数据。

所有组件都有差异行为,这些差异行为将阴碍破绽的存在性和可应用性。所有组件(无论是客户端还是服务端)都有可能发生破绽或者其他安全疑问。

12 客户端专业

主流的客户端专业每日都在被大批互联网用户采用,包括 HTML, JavaScript, Flash … 他们常用的阅读器则是 Chrome, Firefox, Opera, IEEdge, Safari 等。另外,包括Andro利用的 ebvie 以及部门PC客户端利用(比如或者某些游戏登陆器),也会引入一部门 eb 客户端专业。

13 服务端专业

在服务端,尽管采用任何专业的任何Web利用都有或多或少的潜在破绽,但对于某些特定专业(如PHP, Struts2等)的网站,则相对更容易发生破绽。简朴划分的话服务端专业大概有以下几类。

1、Web服务器(Web Server), 包括 Apache, ligd, Nginx, IIS

2、利用服务器(Application Server), 包括 Tomcat, Jboss, Oracle Application server

3、编程语言, 包括 PHP, Java, Ruby, Python, C 对于后三种语言,一些常见的框架包括 Ruby-on-Rails, Net MVC, Django 等。

14 后端存储专业

对于大多数中小型网站,数据库和Web服务器是在同一台主机的。常见的后端存储专业包括

1、关系型数据库, 包括 MySQL, Oracle, DB2, SQL Server, PostgreSQL, SQLite 等。

2、NoSQL, 包括 MongoDB, CouchDB, Redis 等。

3、目录拜访, 包括 openLDAP, Active Directory。

二、Web 服务器指纹解析

21 Web 服务器指纹内容

我们想要寻找哪些信息。

1、Web服务器名称,版本

2、Web服务器后端是否有利用服务器

3、数据库(DBMS)是否部署在同一主机(host),数据库类型

4、是否采用反向代理(reverse proxy)

5、是否采用负载均衡(load balancing)

6、Web利用采用的编程语言

22 手工检测技能

221 HTTP解析

采用chrome开发者工具或者burpsuite交互式抓包解析HTTP数据。

1、重点观测 响应头(Response Header)的 Server, X-Poered-By, Set-Cookie 字段。

2、采用畸形 Host字段的 HTTP请愿探索,观测响应头。

比如 Struts2 的特性之一就是会设置不同凡响的JSESSION的cookie字段。

Set-CookieJSESSION=C09CBBF************7CF6D25D4F0

又或者以freebuf为例,你可以观测到两个有趣的字段,Server字段以及WP-Super-Cache。

Server字段说明 freebuf 的服务器版本是 Apache 2221

WP-Super-Cache 字段则表明 freebuf 采用名为 WP Super Cache 的 WordPress 插件。

222 阅读网站

2221 关注HTML源码

重点关注以下几处

1、上传与下载性能

2、认证表单与URL(login,logout, reset passord)

3、后台控制页面(administration section)

4、数据输入点,例如”留言板,接洽我们,个人资料,商品批评,搜索,编制器”等

观测这些位置的HTML源码(不同凡响的class名称)及其注释(ment)部门,可能暴露有价值信息。

2222 依据网站页面后缀判断

通常而言

1、存在php结尾的文件说明该eb利用是用PHP写的。

2、存在jsp或者do的文件,说明该eb利用是由Java写的。

3、存在asp或者aspx结尾的文件,说明该eb利用可能是由VB或者C写的。

需要留心的是(低概率事件),某些脑洞独特的控制员开发者运维可能会将Java编写的程序用php的结尾,或者让某些PHP利用采用do结尾。

假如网站路径存在 RESTful URL 的特性,例如

objectsillgiveyoualistofalltheobjects;
objectsneillgiveyouthepagetocreateaneobject;
objects12illgiveyoutheobjectiththe12;
objects12editillgiveyouthepagetomodifytheobjectiththe12;

则很有可能是由 Ruby On Rails 或者 Python 开发的。

2223 faviconico

可以通过默认 faviconico 来判断CMS,比如 Drupal 的默认icon是一个水滴状的物体。在HTML源码处搜索关键词icon或者shortcut。

举个范例:

linkhref=imagesbrandingproducticogoogleg_lodpicorel=shortcuticon
linkrel=icontype=imagepngsizes=96x96href=favicon-96x96png
linkrel=shortcuticonhref=resxax_fedebxresstaticimg3OU-7Ficotype=imagex-icon

2224 robotstxt

有些cms会有默认robotstxt,所以我们可以通过robotstxt来辅助判断CMS。下面的是举了一个Joomla的robotstxt范例。因为robotstxt只是君子协议,所以你懂的,在渗入测试时它彻底在说明你应该查验哪些目录。

IftheJoomlasiteisinstalledithinafolderegexamplejoomlathentherobotstxtfile
MUSTbemovedtothesiteroot
egexamplerobotstxt
ANDthejoomlafoldernameMUSTbeprefixedtoallofthepaths
egtheDisallorulefortheadministratorfolderMUST
bechangedtoreadDisallojoomlaadministrator
Formoreinformationabouttherobotstxtstandard,see
robotstxtorgorigForsyntaxchecking,see
toolmotoricercainforobots-checkerp

User-agent*
Disalloadministrator
Disallobin
Disallocache
Disallocli
Disalloponents
Disalloincludes
Disalloinstallation
Disallolanguage
Disallolayouts
Disallolibraries
Disallologs
Disallomodules
Disalloplugins
Disallotmp

2225 目录扫描(directorypages busting)

可以采用fuzz进行目录扫描。

pythonfuzzpy-ordlistgeneralmontxttestphpvulnebFUZZ

详细的采用想法请参考

sgithubxmendezfuzzikiGetting-started

无论用什么具体的目录扫描工具,终极是为了发明某些404页面, SQL过错页面或者其他反常页面,这些页面暴露的信息可能可以反应服务器类型与版本。除此以外,对于多数网站的后台控制页面通常都属于某些常用的路径(即涵盖在字典中),因此我们在大多数场合可以通过目录扫描来牟取。假如已知CMS类型,可以直接参考文档来判断后台默认控制页面的路径。

2226 刻意组成过错

过错页面可以给你提供关于服务器的大批信息。可以通过组成含有随机字符串的URL,并拜访它来尝试得到404页面。

Tomcat的默认404页面

Ruby on Rails的默认404页面

还有几种想法可以组成过错。比如在URL中添加不同凡响字符00(NULL),27(Single Quote),22(Double Quote)。或者在URL中删除部门参数,删除部门cookie中的参数(chrome 插件 edit this cookie)。

不干练的Django开发者可能会开启调试模式

Tomcat 5XX的过错时可能抛出反常会显示调用栈

对于PHP的利用,还有一个很常用的技能来组成过错。比如将indexphp?name=hacker替换为indexphp?name[]=hacker。

关键是要仔细浏览这些过错信息。固然这听起来有点蠢,但是你肯定会惊讶于会有多少开发者以为两个过错页面是一样的,即使是过错动静的内容彻底差异。The evil is in the detail

三、Web利用指纹特性结算

31 HTTP响应头(HTTP response header) 特性

正则匹配HTTP响应头中的不同凡响字段。

headers{X-AMP-Version([\d]+)\;version\1,Set-Cookie^AMP=},

32 HTML 特性

重点关注 body, title 等标签的内容和属性。

321 不同凡响的文本

比如在 HTML title 标签中的Poered by EmpireCMS之类。

322 不同凡响的class

HTML 中存在特定 class 属性的某些 div 标签。

bodyclass=ke-content

在上面的代码中,ke-content 这个 class 通常是在 kindeditor 中显露的。

323 meta标签特性

举个范例

metaname=versioncontent=neblog-10

324 script标签特性

scriptsrc=freebufbufthemesfreebufjsbootstrapminjsscript

主要用于判断是否采用jQuery,Bootstrap等

33 URL 特性

331 URL路径特性

比如 ordpress,有一些常见路径。

readme
p-contentuploads
p-admin

332 默道歉误页面

通过爬虫尝试寻找网站中的过错页面。例如 Apache 默认404,Oracle的默认SQL过错页面等。

333 robotstxt

某些CMS会有默认的robotstxt。在robotstxt的文本中直接说明CMS名称和版本。(Discuz, Joomla)

334 faviconico 等不同凡响文件匹配

下载 faviconico 图像进行md5摘要,对比icon库是否存在雷同md5的icon。计算量更大但检索功效更好的想法就是做类似图像检索(基于SIFT,或者其他图像特性)。

除了 faviconico 以外,还有其他logo文件可以斟酌,比如Dedecms的imgbuttom_logogif。

34 主机端口特性

341 默认端口特性

对于后端DBMS的辨别,假如主机对外开放DBMS的话,可以通过端口特性判断。尤其是在开放默认端口比如3306,1443,27017等。

342 端口交互特性

Socket交互过程中的一些不同凡响字符串。具体看参考资料2-0×03-5Socket。

343 Nmap OS指纹

通过 Nmap OS指纹可以初步判断操纵系统。

344 SSL证书

SSL证书信息。

站長聲明:以上關於【网站分析技巧手工检测Web网站指纹-租印度云服务器】的內容是由各互聯網用戶貢獻並自行上傳的,我們新聞網站並不擁有所有權的故也不會承擔相關法律責任。如您發現具有涉嫌版權及其它版權的內容,歡迎發送至:1@qq.com 進行相關的舉報,本站人員會在2~3個工作日內親自聯繫您,一經查實我們將立刻刪除相關的涉嫌侵權內容。