Nmap中NSE数据文件分析

news2024/11/25 20:24:28

Nmap中NSE数据文件分析

  • 1.Nmap中数据文件所在的位置
  • 2.暴力穷举时所使用的用户名和密码列表数据文件
  • 3.Web应用审计数据文件
    • http-fingerprints.lua
    • http-sql-errors.lst
    • http-web-files-extensions.lst
    • http-devframework-fingerprints.lua
    • http-folders.txt
    • vhosts-default.lst
    • wp-plugins.lst
  • 4.DBMS-auditing数据文件
    • mysql-cis.audit
    • oracle-default-accounts.lst
    • oracle-sids

1.Nmap中数据文件所在的位置

在Windows操作系统中,这些文件都在C:\Program Files\Nmap\NSElib\data文件夹中,64位系统稍有不同

在Linux系列操作系统中,这些文件在/usr/local/share/Nmap/NSElib/data/usr/share/Nmap/nselib/data


2.暴力穷举时所使用的用户名和密码列表数据文件

很多服务都使用了用户名和密码进行验证。在对服务进行密码强壮度审计的时候,需要使用到两个数据文件,一个存储了大量的用户名,一个存储了大量的密码

usernames.lst中的内容十分简单,打开这个文件:

在这里插入图片描述

passwords.lst中的内容要丰富一些,大概包含了5000多个常见的词汇和字母组合:

在这里插入图片描述


3.Web应用审计数据文件

http-fingerprints.lua

这个文件是一个Lua table形式保存的数据文件,在这个文件中包含了一些常见Web应用的信息,这些信息包括这些应用中关键文件所在的位置

在这里插入图片描述

Nmap允许对http-fingerprints.lua文件进行扩充,可以随时将一个新的Web应用文件的信息添加到这个table文件中

如果希望在http-enum脚本执行的时候使用其他的数据文件,也可以在执行的时候使用参数--script-args http-enum.fingerprintfile来指定。例如要使用./myfingerprints.txt就可以执行如下命令:

Nmap --script http-enum --script-args http-enum.fingerprintfile=./myfingerprints.
txt -p80<target>

http-sql-errors.lst

这个数据文件中包含了一些标识错误的字符串,这个数据文件主要被脚本http-sql-injection所使用。用来完成对应用是否能够抵御SQL注入进行检测

在这里插入图片描述

同样也可以使用参数http-sql-injection.errorstrings来改变这个脚本执行时所使用的数据文件

http-web-files-extensions.lst

NSE中的http-spider库文件在对页面进行扫描的过程中就会使用该文件。这个文件中包含了200多个常见的Web应用扩展名,也可以很容易地将另外一些Web应用扩展名添加到这个文件中

在这里插入图片描述

http-devframework-fingerprints.lua

这个数据文件由Lua table所构成,被脚本http-devframework所调用,目的是检测目标Web应用的开发语言,例如ASP、PHP等

例如,这是一段检测Django框架的Lua代码:

Django = { rapidDetect = function(host, port)

    -- Check if the site gives that familiar Django admin login page.
    local response = http.get(host, port, "/admin/")

    if response.body then
      if string.find(response.body, "Log in | Django site admin") or
        string.find(response.body, "this_is_the_login_form") or
        string.find(response.body, "csrfmiddlewaretoken") then
        return "Django detected. Found Django admin login page on /admin/"
      end
    end

    -- In Django, the cookie sessionid is being set when you log in
    -- and forms will probably set a cookie called csrftoken.
    if response.cookies then
      for _, c in pairs(response.cookies) do
        if c.name == "csrftoken" then
          return "Django detected. Found sessionid cookie which means the contrib.auth package for authentication is enabled."
        elseif c.name == "sessionid" then
          return "Django detected. Found csrftoken cookie."
        end
      end
    end

    -- See if DEBUG mode still happens to be true.
    response = http.get(host, port, "/random404page/")

    if response.body then
      if string.find(response.body, "<code>DEBUG = True</code>") then
        return "Django detected. Found Django error page on /random404page/"
      end
    end

  end,

  consumingDetect = function(page, path)
    if page then
      if string.find(page, "csrfmiddlewaretoken") then
        return "Django detected. Found csrfmiddlewaretoken on " .. path
      end
      if string.find(page, "id=\"id_") then
        return "Django detected. Found id_ preffix in id attribute name on " .. path
      end
      if string.find(page, "%-TOTAL%-FORMS") or string.find(page, "%-DELETE") then
        return "Django detected. Found -TOTAL-FORMS and -DELETE hidden inputs, which means there is a Django formset on " .. path
      end
    end
  end
},

http-folders.txt

这个数据文件中包含了956个HTTP中常见的目录名,被脚本http-iis-webdav-vuln所调用,用来检测IIS 5.1/6.0类型服务器上的漏洞

在这里插入图片描述

如果不想使用这个数据文件,也可以使用参数--script-args folderdb来指定其他的数据文件,例如使用/pentest/fuzzers/folders.txt作为这个目录

--script-args folderdb=/pentest/fuzzers/folders.txt <target>

vhosts-default.lst

脚本http-vhosts就是用这个数据文件来判断目标服务器到底是一个虚拟机还是一个真正的Web服务器

在这里插入图片描述

wp-plugins.lst

这个文件中包含了18575个常见的WordPress插件的名称,脚本http-wordpress-plugins就是利用这个文件来对采用WordPress建站的服务器进行暴力穷举攻击

如果http-wordpress-plugins脚本中不特殊指定--script-args http-wordpress-plugins.search,这个脚本只会读取前100个插件名

在这里插入图片描述


4.DBMS-auditing数据文件

mysql-cis.audit

这个文件位于Nmap的安装目录中,主要根据CIS MySQL v1.0.2 benchmark来检测MySQL数据库的配置安全性。NSE中有一个mysql-audit脚本就是使用了这个文件

在这里插入图片描述

oracle-default-accounts.lst

这个文件中包含了687个Oracle数据库中用来验证的用户名

在这里插入图片描述

oracle-sids

文件oracle-sids包含了700个常见的Oracle数据库实例名

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/667865.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

S32K146入门 遇到 DefaultISR

S32K146入门 遇到 DefaultISR 1、芯片型号没有选对&#xff0c;pin管脚匹配不对 比如我使用的是S32K146HFMLQ&#xff0c;100pin&#xff0c;就要选择对应的型号 2、时钟配置不对 开发板是外部晶振8M&#xff0c;类型要选对。 我选择外部时钟给信号&#xff0c;导致一直出…

Linux使用NDK编译libtiff库并移植到Android平台

1.系统要求: ubuntu 20.04 LTS桌面版本 2.下载libtiff源码: 打开libtiff官方网站 ,打开libtiff源码仓库 http://www.simplesystems.org/libtiff/ 复制下载仓库地址: 克隆源码到本址: git clone --recursive https://gitlab.com/libtiff/libtiff.git 进入源码目录 3.安装…

软件测试需不需要懂代码?

无论是刚入测试行业的萌新&#xff0c;还是已经在测试行业闯荡了两三年的小司机们&#xff0c;都会琢磨一个问题&#xff1a;如果要持续发展下去&#xff0c;我要不要懂代码&#xff1f; 在软件测试初级阶段&#xff0c;不需要编程能力。但是任何一个职业&#xff0c;都会追求…

leetcode90. 子集 II(java)

子集II leetcode90. 子集 II题目描述解题思路代码演示 回溯算法专题 leetcode90. 子集 II 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;https://leetcode.cn/problems/subsets-ii 题目描述 给你一个整数数组 nums &#xff0c;其中可能包含重复元素…

00后确实卷,公司新来的卷王,我们这帮老油条还真干不过.....

都说00后躺平了&#xff0c;但是有一说一&#xff0c;该卷的还是卷。 这不&#xff0c;前段时间我们公司来了个00后&#xff0c;工作都没两年&#xff0c;跳槽到我们公司起薪18K&#xff0c;都快接近我了。后来才知道人家是个卷王&#xff0c;从早干到晚就差搬张床到工位睡觉了…

Java集合Map接口的实现类(HashMap、LinkedHashMap等面试题)的结构

HashMap /** 一、Map的实现类的结构&#xff1a;* |----Map:双列数据&#xff0c;存储key-value对的数据 ---类似于高中的函数&#xff1a;y f(x)* |----HashMap:作为Map的主要实现类&#xff1b;线程不安全的&#xff0c;效率高&#xff1b;存储null的key和value|…

AIGC之文本内容生成概述(上)

由于本文内容稍微长了一点点&#xff0c;所以分成了上下两篇文章来介绍&#xff0c;本文是上篇&#xff0c;下篇将会在后续发布。关于自然语言的生成方面&#xff0c;这一块的内容太多了&#xff0c;本文也只是穿针引线&#xff0c;帮大家理清学习路线而已&#xff0c;更多的内…

关于ROS/ROS2 bag包的名称修改问题

1 问题的提出 在ROS/ROS2中&#xff0c;ROS 的 bag包的名称通常会包含录制的具体时间&#xff1a;YYYY-MM-DD-小时-分钟-秒钟&#xff0c;但是这样可读性不强&#xff0c;而且过一段时间&#xff0c;就不知道这个包是关于什么内容的了。如果需要修改bag包的名称&#xff0c;该…

从0开始,手写MySQL事务

说在前面&#xff1a;从0开始&#xff0c;手写MySQL的学习价值 尼恩曾经指导过的一个7年经验小伙&#xff0c;凭借精通Mysql, 搞定月薪40K。 从0开始&#xff0c;手写一个MySQL的学习价值在于&#xff1a; 可以深入地理解MySQL的内部机制和原理&#xff0c;Mysql可谓是面试的…

渲染机制不仅在Android系设计到,Flutter中也有设计

前言 本文将介绍 Android 的渲染机制。主要是带着大家了解 Android 是如何绘制并显示一帧图像的&#xff0c;同时会涉及 Skia底层渲染的使用&#xff0c;以及关联到flutter的UI体系设计&#xff0c;感兴趣的可以在阅读的同时使用 Skia自己搭建一套flutter UI体系 进行尝试。在…

# Linux 学习记录37(C高级篇)

Linux 学习记录37(C高级篇) 本文目录 Linux 学习记录37(C高级篇)一、常见的shell解析器二、变量1. shell脚本外部传参2. 输入输出(1. 输出(2. 输入 3. 命令置换符4. shell中的数组 三、shell中的算数运算1. (())运算2. $[ ]运算3. let运算4. expr指令(1.数据运算(3. 字符运算 四…

Flink 学习一 Flink 简介

Flink 学习一 https://flink.apache.org/ 1.快速认识Flink 1.1 离线批计算与实时流式计算 批计算&#xff1a;有界流 流式计算&#xff1a;无界流 批计算&#xff1a;针对有界流&#xff0c;在计算结果前可以看到整个数据集&#xff1b;流计算&#xff1a;针对无界流&…

Nacos的安装和部署

接下来的时间&#xff0c;我会将Nacos的安装部署&#xff0c;以及在微服务中将其作为配置中心&#xff0c;注册中心&#xff0c;以及它的高级应用会一一为大家分享&#xff0c;今天为大家分享的是Nacos的安装和部署&#xff0c;以windows为例。 1. 下载安装包 官网下载地址&a…

LaTeX在双栏文章里面放单栏或双栏图片【有图有代码】

LaTeX在双栏文章里面放单栏或双栏图片【有图有代码】 双栏文章双栏文章放单栏图片双栏文章放单栏图片 双栏文章 在需要双栏的地方加入\begin{multicols}{2}…\end{multicols} 一般我们可能会希望摘要部分是单栏的。 其余部分设置为双栏&#xff0c;如下&#xff1a; \begin{m…

wxPython 矩形选择框 测试

如下图&#xff0c;这种矩形选择框在图形软件里是必备操作&#xff0c;用python怎么实现&#xff1f;我用wxpython 做了一个例子。 代码如下&#xff1a; #!/usr/bin/env python # -*- coding: utf-8 -*-# Project: test # File : SelectRectang.py # Author : Long.Xu <…

违禁词管理

目录 一、添加违禁词 1.添加一个违禁词 2.批量添加违禁词 二、违禁词实时检测 三、查看违禁词 四、删除违禁词 1.删除一个违禁词 2.批量删除违禁词 五、清空违禁词 一、添加违禁词 1.添加一个违禁词 添加违禁词 ?([\s\S]*) b:$读 违禁词/%群号% a []$ 如果:%括号1% 请…

Java设计模式——策略模式

1. 策略模式简介 策略模式: 策略模式是一种行为型模式, 它将对象和行为分开, 将行为定义为一个行为接口和具体行为的实现 策略模式最大的特点是行为的变化, 行为之间可以相互替换 每个if判断都可以理解为一个策略. 本模式是的算法可独立于使用它的用户而变化 2. 模式结构 策略…

全屋智能家居搭建初级指南(装修用户)

环境&#xff1a; 小M等智能设备 新装修用户 稳定网络环境 规划好电路布局 问题描述&#xff1a; 全屋智能家居如何搭建&#xff0c;初级指南&#xff08;装修用户&#xff09; 下面部分内容摘自小M智能家居解决方案&#xff1a; 一、装修中需要注意什么&#xff1f; …

39 # events 模块的实现原理

观察者模式&#xff1a;会有两个类&#xff0c;观察者会被存储到被观察者中&#xff0c;如果被观察者状态变化&#xff0c;会主动通知观察者&#xff0c;调用观察者的更新方法 发布订阅好处&#xff1a;可以解耦合 const EventEmitter require("events");// 使用自…