我正在使用自动回复电子邮件软件(AutoResponse Plus - ARP3)。这是一个安装在cgi-bin目录下的perl脚本。上周,有人入侵了该软件。从我的服务器使用此软件发送了大量垃圾邮件。很少有研究表明该软件没有防止SQL注入的机制。
如果您在同一条船上,请与供应商联系以获得修复。因为看起来没有简单的解决方案可以100%修复它,因为这个软件的源代码是缩小的。模糊处理。
答案 0 :(得分:2)
例如,
my $stmt = "
SELECT *
FROM Table
WHERE $field='$value'
";
应该是
my $stmt = "
SELECT *
FROM Table
WHERE ".$dbh->quote_identifier($field)."=".$dbh->quote($value)."
";
或
my $stmt = "
SELECT *
FROM Table
WHERE ".$dbh->quote_identifier($field)."=?
";
# Followed by ->execute($value) instead of ->execute()