Nmap NSE Lua 脚本“\”中的转义序列无效。

Invalid Escape Sequence in Nmap NSE Lua Script "\."

我最近需要一个 Drupal 指纹 NSE 脚本来参与。通过一些研究,我偶然发现了一个很有前途的 NSE Lua 脚本来完成这项工作。不幸的是,作者似乎停止了对该脚本的支持,并且该脚本从未正式纳入 Nmap NSE 库。无论如何,我决定尝试使用该脚本。

在尝试通过 Nmap 引擎 运行 脚本时,我遇到了 "invalid escape sequence" 错误。没有任何 Lua 编程经验,这个错误让我死在了轨道上。我希望有 Lua 经验的人能够帮助解决问题,看起来可能是解决问题的一个非常简单的方法。

错误代码如下:

root@kali:~# nmap --script=http-drupal-fingerprint.nse --script-args http-drupal-fingerprint.base-url=/ www.placeholder.com
Starting Nmap 7.70 ( https://nmap.org ) at 2018-09-26 12:33 EDT
NSE: failed to initialize the script engine:
/usr/bin/../share/nmap/nse_main.lua:259:        /usr/bin/../share/nmap/scripts/http-drupal-fingerprint.nse:47: invalid escape   sequence near '"Drupal [4-7].'
stack traceback:
[C]: in function 'assert'
/usr/bin/../share/nmap/nse_main.lua:259: in upvalue 'loadscript'
/usr/bin/../share/nmap/nse_main.lua:601: in field 'new'
/usr/bin/../share/nmap/nse_main.lua:828: in local 'get_chosen_scripts'
/usr/bin/../share/nmap/nse_main.lua:1315: in main chunk
[C]: in ?

QUITTING!

脚本是这样导入到 NSE 库中的:

curl -ksL https://raw.githubusercontent.com/r3dh4nds/NSE-Drupal-Fingerprint/master/http-drupal-fingerprint.nse >> /usr/share/nmap/scripts/http-drupal-fingerprint.nse && chmod 0644 /usr/share/nmap/scripts/http-drupal-fingerprint.nse

我包括来自 SecLists 的脚本的原始来源: https://seclists.org/nmap-dev/2011/q2/490

非常感谢任何帮助! (抱歉,如果这个问题格式不正确,请先post)

我怀疑这是一个简单的修复。删除了无效的转义序列:

local expression = "Drupal [4-7]\.[0-9][0-9]?\.?[0-9], "

local expression = "Drupal [4-7].[0-9][0-9]?.?[0-9], "

并消除了那个错误。

Nmap 中的 Drupal 检测现在使用 http-enum script. You can add --script-args http-enum.category=cms to limit the number of enumeration probes sent to only those which would detect Drupal. You may also be interested in the http-drupal-enum and http-drupal-enum-users scripts, as well as http-form-brute 完成,它可以暴力破解 Drupal 身份验证。