我最近需要参加Drupal指纹NSE脚本。通过一些研究,我偶然发现了一个很有希望的NSE Lua脚本来完成这项工作。不幸的是,似乎作者停止了对该脚本的支持,并且该脚本从未正式纳入Nmap NSE库。我决定还是尝试使用该脚本。
尝试通过Nmap引擎运行脚本时,遇到“无效转义序列”错误。没有任何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
任何帮助,不胜感激! (很抱歉,如果该问题的格式不正确,请先发布)
答案 0 :(得分:0)
我怀疑这是一个简单的解决方法。在以下位置删除了无效的转义序列:
local expression = "Drupal [4-7]\.[0-9][0-9]?\.?[0-9], "
到
local expression = "Drupal [4-7].[0-9][0-9]?.?[0-9], "
摆脱了这个错误。
答案 1 :(得分:0)
现在使用http-enum脚本在Nmap中进行双倍检测。您可以添加--script-args http-enum.category=cms
来将发送的枚举探针的数量限制为仅检测Drupal的那些。您可能还对http-drupal-enum和http-drupal-enum-users脚本以及可以强行使用Drupal身份验证的http-form-brute感兴趣。