XSS课程sendmail收不到邮件


XSS课程资料代码怎么使用
https://wiki.bafangwy.com/doc/768/

首先代码本身是没有问题的,经过了大量的学员的验证,都可以复现成功。

排查方法:

1、cookie是否有值

没有值是不会发送邮件的
打开这个页面随便写一个用户名以产生cookie
http://localhost/xss/

2、访问sendmail.php

首先需要确认邮件本身是否可以发送成功,直接访问:
localhost/xss/sendmail.php?mycookie=666
然后到邮箱检查邮件。

如果直接访问sendmail.php,邮件没有发成功,就要检查sendmail.php的里面的配置,最重要的就是授权码。

例如错误:SMTP Error: Could not authenticate,就是授权码不对。

课程里面已经讲解了获得授权码的方式。

3、数据库数据

邮件本身可以发送成功的情况下,检查 http://localhost/xss/query.php?id= ,确认域名和数据库的ID正确。
比如js脚本的这条记录id=7,那么浏览器访问的id也要写=7。
其次,里面的payload要特别注意:
有小伙伴少写了一个/,导致无法访问成功。

<script src='http://localhost/xss/mail.js'></script>

4、是否请求到JS和PHP文件?

F12打开开发者工具,查看网络请求,浏览器输入这个的时候
http://localhost/xss/query.php?id=1
是否请求到了mail.jssendmail.php文件?

例如有一位同学排查后发现:

找到问题了,是没有请求到sendmail.php文件,后来将文件中的localhost改为127.0.0.1就可以了。

5、更换浏览器进行尝试

6、域名

建议使用localhost子目录的形式访问,不要使用phpstudy里面配置的域名访问。(不要用这种http://xss/query.php?id=

7、其他

切换PHP版本(7.3.4nts)、换浏览器(火狐)进行测试

8、提示邮件发送失败: Extension missing: openssl

需要启用PHP openssl扩展

关键词:
PHPMailer


无涯 2025年1月6日 16:28 收藏文档