我最近被黑了,黑客检索了我所有的 mailing_list 数据,我想知道他们是如何通过“Validate_email”函数并设法进行 sql 注入的?
这是我的代码:
function validate_email($address)
{
return (ereg('^[-!#$%&\'*+\\./0-9=?A-Z^_`a-z{|}~]+'. '@'. '[-!#$%&\'*+\\/0-9=?A-Z^_`a-z{|}~]+\.' . '[-!#$%&\'*+\\./0-9=?A-Z^_`a-z
{|}~]+$', $address));
}
if (empty($_REQUEST['email']) || !validate_email($_REQUEST['email'])) {
die('INVALID EMAIL');
}
mysql_query("
REPLACE INTO mailing_list
SET email='".strtolower($_REQUEST['email'])."'
") or die('Unable to insert email to database');
die(header('Location: http://www.***'));
我想知道他们是如何使用验证电子邮件功能做到这一点的。如果这是他们真的设法入侵的地方,或者我只是弄错了,我需要搜索更多。