AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-421755

wu-lee's questions

Martin Hope
wu-lee
Asked: 2022-08-20 06:55:02 +0800 CST

exim4 的 `${sqlite_quote ... }` 扩展是否会破坏扩展值?

  • 0

我正在将具有一些自定义过滤器的 exim4 安装升级到 Debian 11。(具体来说,过滤器是这个。)

由于它使用了 Exim 4.94,我现在遇到了新的“污染变量”功能,它破坏了我的过滤器。在调试模式下检查 Exim 时exim4 -bdf -d+filter出现错误是指受污染的文件名(为便于阅读而添加了一些换行符):

102536 LOG: MAIN PANIC
102536   Tainted filename for search '/var/spool/exim4/db/disposable-aliases.db'
102536  Filter error: failed to expand 
  "${lookup sqlite{/var/spool/exim4/db/disposable-aliases.db \
    select default_remaining from stem_configs \
    where stem = '${quote_sqlite:$local_part}'} {$value}{0}}" 
  in add command: NULL
102536 Filter: end of processing

在这种情况下,对文件名的引用似乎是虚假的,因为首先文件名是硬连线的(所以不能被污染?)其次,如果我用'${quote_sqlite:$local_part}'文字值替换查询的一部分,错误就会停止(至少来自这个特定的查找)。

因此,我怀疑问题实际上是$local_part查询中存在的问题,而不是文件名。

我发现$local_part在某些情况下有一个未受污染的版本可用,$local_part_data但是在我的情况下,它没有被设置,因此没有用。

更多搜索可在此处的 Exim4 文档中找到此断言:

如果查询中使用了受污染的数据,则应使用适合查找的 ${quote_:} 扩展运算符将其引用 [原文如此]。

这似乎暗示着${sqlite_quote: .. }扩展应该对$local_data. 这似乎是明智的,但这实际上是否正确,因为如果我用文字替换扩展,污染问题就会停止?

如果${sqlite_quote: .. }真的是去污点它的结果,那么是什么导致这个查找被拒绝?

如果不是,那我还有什么办法?上面的 sqlite 查找实际上旨在根据存储在数据库中的有效值列表验证本地部分,并且应该能够去除该值!

我应该补充一点:我不能使用文件查找,因为这个有效的列表需要动态配置,在 exim4 配置文件之外。

exim
  • 0 个回答
  • 73 Views
Martin Hope
wu-lee
Asked: 2020-05-01 07:34:05 +0800 CST

如何获得域的 A(和 AAAA)记录的完整列表?

  • 0

假设我想知道查找域的 A 和 AAAA 记录,例如:google.com

我可以使用host:

$ host google.com 
google.com has address 172.217.169.46
google.com has IPv6 address 2a00:1450:4009:801::200e
google.com mail is handled by 20 alt1.aspmx.l.google.com.
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.

但这显然没有将它们全部列出,就好像我直接查询名称服务器一样,我得到了不同的答案:

$  host google.com ns2.google.com
Using domain server:
Name: ns2.google.com
Address: 216.239.34.10#53
Aliases: 

google.com has address 216.58.205.46
google.com has IPv6 address 2a00:1450:4009:808::200e
google.com mail is handled by 30 alt2.aspmx.l.google.com.
google.com mail is handled by 10 aspmx.l.google.com.
google.com mail is handled by 40 alt3.aspmx.l.google.com.
google.com mail is handled by 50 alt4.aspmx.l.google.com.
google.com mail is handled by 20 alt1.aspmx.l.google.com.

结果甚至似乎因查询而异......所以我推断有一些事情正在发生,DNS服务器没有告诉整个画面。

换个角度看,如果你去 robtex.com 之类的网站上查找,并在那里查找域,我的查询没有返回一长串 IP:

https://www.robtex.com/dns-lookup/google.com#records

目前列出了这个长长的 IP 号码集合:

 2404:6800:4003:c02::8b
 2404:6800:4004:807::200e
 2404:6800:4006:803::200e
 2607:f8b0:4004:811::200e
 2607:f8b0:4005:802::200e
 2607:f8b0:4005:808::200e
 2607:f8b0:400a:809::200e
 2800:3f0:4001:803::200e
 2a00:1450:400b:805::200e
 74.125.68.100
 74.125.68.101
 74.125.68.102
 74.125.68.113
 74.125.68.138
 74.125.68.139
 172.217.0.46
 172.217.5.110
 172.217.15.110
 172.217.27.78
 172.217.29.14
 172.217.171.14
 216.58.194.174
 216.58.199.46

如果正确,则表明我从中得到的答案host仅暗示了真实情况。

怎样才能得到完整、权威的答案?

domain-name-system
  • 1 个回答
  • 102 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve