前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >toxssin-XSS 漏洞利用命令行界面和有效负载生成器

toxssin-XSS 漏洞利用命令行界面和有效负载生成器

作者头像
用户8478399
发布2022-09-27 17:19:26
8350
发布2022-09-27 17:19:26
举报
文章被收录于专栏:White OWL

toxssin 是一种开源渗透测试工具,可自动执行跨站脚本 (XSS) 漏洞利用过程。它由一个 https 服务器组成,它充当为该工具 (toxin.js) 提供动力的恶意 JavaScript 有效负载生成的流量的解释器。

该项目最初是(现在仍然是)一项基于研究的创造性努力,旨在探索 XSS 漏洞可能通过使用 vanilla JavaScript、可信证书和廉价技巧引入的可利用深度。

免责声明:该项目非常新鲜,尚未经过广泛测试。

视频演示

代码语言:javascript
复制
https://www.youtube.com/watch?v=i9osyuFK6ro

截图

能力

默认情况下,toxssin 拦截:

  • cookies(如果 HttpOnly 不存在),
  • 击键,
  • 粘贴事件,
  • 输入更改事件,
  • 文件选择,
  • 表单提交,
  • 服务器响应,
  • 表数据(静态和更新),

最重要的是,毒素:

  • 尝试通过拦截 http 请求和响应并重写文档来在用户浏览网站时保持 XSS 持久性,
  • 支持会话管理,这意味着,您可以使用它来利用反射和存储的 XSS,
  • 支持针对会话执行自定义 JS 脚本,
  • 自动记录每个会话。

安装和使用

代码语言:javascript
复制
git clone https://github.com/t3l3machus/toxssin
cd ./toxssin
pip3 install -r requirements.txt

要启动 toxssin.py,您需要提供 ssl 证书和私钥文件。

如果您不拥有具有受信任证书的域,则可以使用以下命令颁发和使用自签名证书(尽管这不会让您走得太远):

代码语言:javascript
复制
openssl req -x509 -newkey rsa:2048 -keyout key.pem -out cert.pem -days 365

强烈建议使用受信任的证书运行 toxssin(请参阅本文档中的如何获取有效证书)。也就是说,您可以像这样启动 toxssin 服务器:

代码语言:javascript
复制
# python3 toxssin.py -u https://your.domain.com -c /your/certificate.pem -k /your/privkey.pem

访问该项目的wiki以获取更多信息。

XSS 开发障碍

根据我的经验,尝试包含外部 JS 脚本的跨站点脚本攻击有 4 个主要障碍:

  1. “混合内容”错误,可以通过通过 https 提供 JavaScript 有效负载来解决(即使使用自签名证书)。
  2. “NET::ERR_CERT_AUTHORITY_INVALID”错误,表示服务器的证书不受信任/过期,可以使用受信任的权威机构颁发的证书绕过。
  3. 跨域资源共享 (CORS),由 toxssin 服务器适当处理。
  4. Content-Security-Policy仅设置为特定域的标头script-src将阻止具有跨域 src 的脚本加载。Toxssin 依赖于eval()传递毒药的功能,因此,如果网站有 CSP 并且指令unsafe-eval中未指定源表达式script-src,则攻击很可能会失败(我正在研究第二种毒药传递方法来解决这个问题)。

注意:当目标网站通过 http 托管并且 JavaScript 有效负载通过 https 托管时,当然会发生“混合内容”错误。这将 toxssin 的范围限制为仅限 https 的网站,因为(默认情况下)toxssin 仅以 ssl 启动。

如何获得有效证书

首先,您需要拥有一个域名。获得域名的最快和最经济的方式(据我所知)是通过廉价的域名注册服务(例如 https://www.namecheap.com/)。搜索一个随机字符串域名(例如“fvcm98duf”)并检查不太流行的顶级域名,如 .xyz,因为它们每年的费用可能约为 3 美元。

购买域名后,您可以使用 certbot (Let's Encrypt) 在 5 分钟或更短的时间内获得可信证书:

  1. 将 A 记录附加到您的域的 DNS 设置中,使其指向您的服务器 ip,
  2. 遵循 certbots官方说明。

提示:不要自行安装和运行 certbot,您可能会遇到意外错误。坚持使用说明。

变更日志

2022-06-19- 添加了exec提示命令(您现在可以针对会话执行自定义 JS 脚本)。 2022-06-23- 我添加了两个简单的脏脚本作为测试exec提示命令的模板。我还修复了 cmd 提示符的向后历史访问并进行了一些改进。

未来

我们的想法是使其更清晰、更可靠并扩展其功能。目前,我正在努力改进文件捕获。

代码语言:javascript
复制
原文地址:https://github.com/t3l3machus/toxssin
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 White OWL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 视频演示
  • 截图
  • 能力
  • 安装和使用
  • XSS 开发障碍
  • 如何获得有效证书
  • 变更日志
  • 未来
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档