xsshunter/notification.js

38 lines
1.1 KiB
JavaScript
Raw Normal View History

2021-05-31 12:06:40 -07:00
const nodemailer = require('nodemailer');
const mustache = require('mustache');
const fs = require('fs');
const XSS_PAYLOAD_FIRE_EMAIL_TEMPLATE = fs.readFileSync(
'./templates/xss_email_template.htm',
'utf8'
);
2023-01-16 22:25:51 -08:00
async function send_email_notification(xss_payload_fire_data, email) {
2021-05-31 12:06:40 -07:00
const transporter = nodemailer.createTransport({
host: process.env.SMTP_HOST,
port: parseInt(process.env.SMTP_PORT),
secure: (process.env.SMTP_USE_TLS === "true"),
auth: {
user: process.env.SMTP_USERNAME,
pass: process.env.SMTP_PASSWORD,
},
});
const notification_html_email_body = mustache.render(
XSS_PAYLOAD_FIRE_EMAIL_TEMPLATE,
xss_payload_fire_data
);
const info = await transporter.sendMail({
from: process.env.SMTP_FROM_EMAIL,
2023-01-16 22:25:51 -08:00
to: email,
2021-05-31 12:06:40 -07:00
subject: `[XSS Hunter Express] XSS Payload Fired On ${xss_payload_fire_data.url}`,
text: "Only HTML reports are available, please use an email client which supports this.",
html: notification_html_email_body,
});
console.log("Message sent: %s", info.messageId);
}
2023-01-16 22:25:51 -08:00
module.exports.send_email_notification = send_email_notification;