前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >OCR 转 XSS

OCR 转 XSS

作者头像
Khan安全团队
发布2022-02-17 09:59:19
6.3K0
发布2022-02-17 09:59:19
举报
文章被收录于专栏:Khan安全团队

光学字符识别 (OCR) 是从图像或任何文档(如 PDF)中以电子方式提取文本并以多种方式重复使用的过程,例如全文搜索、发票处理、文档验证等。这种用例将是有害的当这些提取的文本/结果在应用程序中的某处使用或在未经验证的情况下被反映时,这一点很明显。

所以我们只需要准备一个包含我们的 XSS 向量的图像,如果解析器解析并将输出反映给用户,它将导致 XSS。

我以简单的jpg为例

你可以从这里创建这样的图像。

我将tesseract用于 OCR 以及一个简单的烧瓶服务器,该服务器接受图像作为输入,它解析并将提取的内容反射回管理员或其他用户。你可以在这里找到代码。

  1. 开始点击 python ocr.py
  2. 现在访问本地服务器 127.0.0.1:5000
  3. 上传以上文件
  4. 现在访问 /admin/ocr/files
  5. 你会看到警报

同样,创建带有标签或盲 XSS 有效负载的图像,以确认对本地服务器的 pingback。

笔记:

不同的解析器对某些字符(例如 tesseract)的行为不同,会将正斜杠“/”视为 L,因此当您输入 http:// 时,它将变为 http:/l,因为它在浏览器中不起作用,所以我是使用反斜杠。像这样,我们也必须为其他人弄清楚。

在这里,我使用 ngrok.io 只是为了确认您可以使用 burp collaborator 或任何其他工具的 ping。因此,使用此内容创建您的图像并上传并查看是否有任何点击。

回复:

修复: 如果您使用 OCR 服务,不仅要使用文件名,还要在将图像或 pdf 中提取的文本存储到数据库之前对其进行清理。

上传图片后,检查响应是否也反映了图片的内容?如果是,则可能在某个地方正在使用它,并且如果没有检查输出文本是如何反映的,那么它可能会导致 XSS,尤其是使用 OCR 服务的应用程序。

因此,下次当您看到任何要求 KYC 或上传扫描文件、护照尺寸照片、文件验证的应用程序时,您可以乱用它。

本文系转载,前往查看

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

本文系转载前往查看

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文字识别
文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档