PHP实现伪造邮件攻击

本文介绍了一个简单的PHP邮件发送测试案例,通过使用SMTP服务器EasySMTPServer实现了邮件的伪造发送,并展示了如何通过网页表单收集邮箱地址并发送测试邮件。

今天初学PHP,尝试用PHP发送邮件简要显示客户表单内容,为此安装了SMTP服务器 Easy SMTP Server ,发送邮件成功,另外一个重要发现是邮件发送者可以在PHP中任意指定,这点让我挺意外。

编写mailtest.html 

<span style="font-size:18px;"><!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>伪造邮件攻击测试</title>
	</head>
	<body>
		<form action="mailtest.php" method="post">
			<label for="email">Email Address:</label>
			<input type="text" id="email" name="email"><br>
			<input type="submit" value="提交" name="submit">
		</form>
	</body>
</html>
</span>
服务器mailtest.php 

<span style="font-size:18px;"><?php
$email = $_POST['email'];
$to = '739326808@qq.com';
$subject = "Test";
$msg="This is a fake test mail!";
mail($to, $subject, $msg, 'From:' . $email);
?></span>


直接编写fakemail.php

<span style="font-size:14px;"><?php
$email = "lxyang@seu.edu.cn";
$to = '739326808@qq.com';
$subject = "Test";
$msg="This is a fake test mail!";
mail($to, $subject, $msg, 'From:' . $email);
?></span>
也能发送成功 ????

就上面mailtest.html而言,若输入的是qqAdmin@qq.com 会出现

Warning: mail(): SMTP server response: 550 Invalid recipient: 739326808@qq.com in E:\Workspaces\PHP\mailtest.php on line 6
Call Stack

#TimeMemoryFunctionLocation
10.0000241384{main}( )..\mailtest.php:0
20.0000242136mail ( )..\mailtest.php:6
警告导致邮件发送失败。

查看了一下SMTP错误码

http://blog.youkuaiyun.com/chenfei_5201213/article/details/10138969

无效的收信者账号,推测有可能是SMTP服务器的问题。。。没配置,安装直接使用的

一篇帖子:网络攻防系列教程之 伪造邮件攻击解析http://www.rising.com.cn/newsletter/news/2012-07-19/11965.html


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值