草庐IT

【信息收集】指纹识别

Edward Hopper 2023-04-12 原文

一、指纹识别介绍

指纹收集是信息收集非常重要的一个环节,通常包括系统,中间件,web程序,防火墙四个方面。比如在web程序指纹中的cms识别可以直接查找已有的漏洞进行利用,其他方面也都有助于下一步的攻击操作。

先来几个在线工具:

yunsee.cn-2.0

在线指纹识别,在线cms识别小插件--在线工具

TideFinger 潮汐指纹 TideFinger 潮汐指纹

二、指纹收集方法

1.系统指纹识别

(1)使用工具nmap -O ip命令对目标主机进行识别,通过tcp/ip数据包发到目标主机,每个操作系统对处理tcp/ip包不同,通过差异来识别主机操作系统,还有其他工具

(2)通过端口扫描的方式来推测系统指纹,windows有特有的服务,比如3389端口RDP协议,445端口smb协议,80端口iis

(3)如果目标主机有web端,可以在url后面的文件目录地方改大小写判断,一般windows对大小写不敏感,linux对大小写敏感,意味着如果输入大写后网页正常显示则大体能判断为windows系统

2.中间件指纹识别

(1)通过端口收集,常见的web中间件对应端口有,直接用nmap扫一扫

apache:80

nginx:80

tomcat:8080

jboss:8080

weblogic:7001

(2)看响应包的server字段,该字段是http服务器的安装信息,直接f12里的network选项重新请求页面会有响应包

3.web程序指纹识别

1.开发语言识别

(1)url目录文件后缀名识别

(2)http响应包x-powered-by字段,若被意识好的处理后就没有

(3)cookie:PHPSESSIONID->php,JSPSESSIONID->jsp ASPSESSIONIDAASTCACQ->asp

2.开发框架

开发框架一般可以理解为方便开发,给了你砖你只需要用砖盖房子,就不需要从零开始先造砖了,而框架也有漏洞,如果一个特别火的框架出现漏洞是毁灭性的问题

(1)php的thinkphp框架识别方法特定ico图标

(2)Action后缀90%几率struts.2或者webwork

(3)do后缀50%几率spring mvc

(4)url路径/action/xxx70%几率struts2

(5)form后缀60%几率spring mvc

(6)Vm后缀90%几率VelocityViewServlet

(7)jsf后缀99%几率Java Server Faces

一般用工具收集

3.第三方组件

包括流量统计、文件编辑器、模板引擎。识别方法:一般目录扫描。FCKeditor、CKEditor。

4.cms程序

cms可以理解为给一个毛坯房只需要装修,灵活性要比框架差很多,但是可以在短时间内完成建站

(1)一般通过特定文件夹识别:dede/、admin/admin_Login.aspx...

(2)展示页面的细节如Powered by **

(3)网站favicon图标

一部分考经验,用工具收集会方便很多

(4)御剑web指纹识别系统

5.数据库

(1)通过一些常用的语言和数据库的组合常规判断,asp->sql server,php->mysql,.jsp-oracle,其实也是经验

(2)网站错误信息

(3)端口服务,如:sql server:1443,mysql:3306,oracle:1521

4.防火墙指纹识别

wafw0of工具

有关【信息收集】指纹识别的更多相关文章

  1. ruby-on-rails - Rails 常用字符串(用于通知和错误信息等) - 2

    大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje

  2. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  3. 报告回顾丨模型进化狂飙,DetectGPT能否识别最新模型生成结果? - 2

    导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri

  4. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

  5. [Vuforia]二.3D物体识别 - 2

    之前说过10之后的版本没有3dScan了,所以还是9.8的版本或者之前更早的版本。 3d物体扫描需要先下载扫描的APK进行扫面。首先要在手机上装一个扫描程序,扫描现实中的三维物体,然后上传高通官网,在下载成UnityPackage类型让Unity能够使用这个扫描程序可以从高通官网上进行下载,是一个安卓程序。点到Tools往下滑,找到VuforiaObjectScanner下载后解压数据线连接手机,将apk文件拷入手机安装然后刚才解压文件中的Media文件夹打开,两个PDF图打印第一张A4-ObjectScanningTarget.pdf,主要是用来辅助扫描的。好了,接下来就是扫描三维物体。将瓶

  6. ruby-on-rails - 在 heroku 的 .fonts 文件夹中包含自定义字体,似乎无法识别它们 - 2

    Heroku支持人员告诉我,为了在我的Web应用程序中使用自定义字体(未安装在系统中,您可以在bash控制台中使用fc-list查看已安装的字体)我必须部署一个包含所有字体的.fonts文件夹里面的字体。问题是我不知道该怎么做。我的意思是,我不知道文件名是否必须遵循heroku的任何特殊模式,或者我必须在我的代码中做一些事情来考虑这种字体,或者如果我将它包含在文件夹中它是自动的......事实是,我尝试以不同的方式更改字体的文件名,但根本没有使用该字体。为了提供更多详细信息,我们使用字体的过程是将PDF转换为图像,更具体地说,使用rghostgem。并且最终图像根本不使用自定义字体。在

  7. ruby-on-rails - 没有这样的文件或目录 - 用 Mini Magick 识别 - 2

    在我让另一个人重做我的前端UI之前,我的Rails应用程序运行平稳。我已经尝试解决此错误3天了。这是错误:Nosuchfileordirectory-identifyExtractedsource(aroundline#59):575859606162@post=Post.find(params[:id])authorize@postif@post.update_attributes(post_params)flash[:notice]="Postwasupdated."redirect_to[@topic,@post]else{"utf8"=>"✓","_method"=>"patc

  8. ruby - what is - gets is a directory - 错误信息 - 2

    我遇到了这个奇怪的错误.../Users/gideon/Documents/ca_ruby/rubytactoe/lib/player.rb:13:in`gets':Isadirectory-spec(Errno::EISDIR)player_spec.rb:require_relative'../spec_helper'#theuniverseisvastandinfinite...itcontainsagame....butnoplayersdescribe"tictactoegame"docontext"theplayerclass"doit"musthaveahumanplay

  9. ruby - 尝试比较两个文本文件,并根据信息创建第三个 - 2

    我有两个文本文件,master.txt和926.txt。如果926.txt中有一行不在master.txt中,我想写入一个新文件notinbook.txt。我写了我能想到的最好的东西,但考虑到我是一个糟糕的/新手程序员,它失败了。这是我的东西g=File.new("notinbook.txt","w")File.open("926.txt","r")do|f|while(line=f.gets)x=line.chompifFile.open("master.txt","w")do|h|endwhile(line=h.gets)ifline.chomp!=xputslineendende

  10. ruby - 使用 ruby​​ 识别阵列上的运行 - 2

    如果我们有一个数组array=[1,1,0,0,2,3,0,0,0,3,3,3]我们如何识别给定数字的运行(具有相同值的连续数字的数量)?例如:run_pattern_for(array,0)->2run_pattern_for(array,3)->1run_pattern_for(array,1)->1run_pattern_for(array,2)->0没有2的运行,因为没有连续出现2。3有一个运行,因为只有一个幻影以树为连续数字。 最佳答案 尝试:classArraydefcount_runs(element)chunk{|n

随机推荐