首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Web Hacking 101 中文版 九、应用逻辑漏洞(一)

2012 年 3 月,Egor 通知了 Rails 社区,通常,Rails 会接受所有提交给它的参数,并使用这些值来更新数据库记录(取决于开发者的实现。...使用 Github 的例子,Egor 知道了系统基于 Rails 以及 Rails 如何处理用户输入。...或者,它涉及重复使用来自验证 API 调用的返回值,来进行后续的API 调用,本不应该允许你这么做。 示例 1....这个例子中,API验证一些权限,而 Web UI 明显会这么做。因此,商店的管理员,它们不被允许接受邮件提醒,可以通过操作 API 终端来绕过这个安全设置,它们的 Apple 设备中收到提醒。...下面,如果你编辑了 HTML,并且插入了另一个 PIN,站点就会自动新账户上执行操作,而不验证密码或者任何其他凭据。换句话说,站点会将你看做你所提供的账户的拥有者。

4.5K20

Web Hacking 101 中文版 十、跨站脚本攻击(一)

所以,考虑到这种情况,使用示例开判断 XSS 是否存在,但是报告时,考虑漏洞如何影响站点,并解释它。通过这样,我并不是告诉厂商什么事 XSS,而是解释你可以使用它做什么事,来影响他们的站点。...但是,更多的是,这个代码也复制其自身到 Samy 新朋友的页面,所以受感染页面的浏览者使用下面这段话更新了它们的资料页面:“but most of all, samy is my hero”(最重要的是...这里是一个截图: Shopify 礼品卡表单截图 这里的 XSS 漏洞 JavaScript 输入到了表单图像名称字段时出现。使用 HTML 代理完成之后,会出现一个不错的简单任务。...开发者可能犯下这个错误,一旦这些值提交给了服务器,它们不验证提交的值是否存在恶意代码,因为它们认为浏览器的 JavaScript 代码已经输入接收之前验证过了。 3....这里,Shopify 并没有商店和收款页面包含 XSS,因为用户允许它们的商店中使用 JavaScript。考虑字段是否用于外部社交媒体站点之前,很容易把这个漏洞补上。

93920
您找到你想要的搜索结果了吗?
是的
没有找到

【FreeBuf字幕组】赏金37500美元的用户身份邮件确认绕过漏洞解析

内容介绍 本期漏洞解析视频的内容是香港白帽Ron Chan (ngalog)上报的三个关于Shopify平台的用户身份邮件确认绕过漏洞,三个漏洞都可对Shopify用户形成账户劫持,并可影响Shopify...,由此,在当前账户环境中即把绑定邮箱替换为受害者邮箱,间接实现对受害者Shopify账户的劫持 第二个漏洞 第一个漏洞的修复措施错误,Shopify修复第一个漏洞后,只限制了攻击者邮箱不可收到绑定邮箱修改为受害者邮箱后的用户身份确认邮件...第三个漏洞 是第一个漏洞的假设性验证,由于Ron Chan发现第一个漏洞后急于上报漏洞,未完全验证漏洞影响性,导致Shopify判定漏洞只对未采用SSO机制的用户造成影响。...在此,基于第一个漏洞的结论,Ron Chan该漏洞中通过修改URL链接,直接导致了SSO主账户的密码重置,终于形成SSO用户账户劫持。.../reports/796808 https://hackerone.com/reports/796956 *本课程翻译自Youtube精选系列教程,FreeBuf视频组荣誉出品,喜欢的点一波关注(每周更新

49320

【翻译】电子邮件确认绕过并利用SSO导致向任何店主全面提升特权

我找到了一种确认任意电子邮件的方法,并在* .myshopify.com中确认了任意电子邮件后,用户可以通过为所有商店设置主密码来将与其他共享相同电子邮件地址的Shopify商店进行集成。...https://www.shopify.com/pricing中注册新的Shopify实例后 并开始免费试用,用户可以确认用于注册的电子邮件地址之前将其电子邮件地址更改为新的电子邮件地址。...漏洞详情: 如果检查https://h31ngalog.myshopify.com/并查看所有者的电子邮件地址,即ngalog@hackerone.com,显然无法通过其他方式进行验证 ? ?...您在Shopify中还有其他两个帐户,想要将它们集成在一起 3、 单击是,然后按照说明进行操作,那么您可以通过更改该电子邮件地址下所有商店的主密码来接管所有其他商店。...漏洞影响: 能够* .myshopify.com上确认任意电子邮件,并利用SSO为使用相同密码的所有其他商店设置主密码。 ?

1.4K20

知行之桥EDI系统Shopify端口的使用

Shopify 是一站式SaaS模式的电商服务平台,为电商卖家提供搭建网店的技术和模版,管理全渠道的营销、售卖、支付、物流等服务。目前已有超过一百万家企业使用Shopify平台创建了在线店铺。...虽然Shopify提供了API接口能够让企业进行调用,但API调用意味着企业需要投入更多的开发、人力、和时间。...Shopify 端口允许通过ShopifyAPI 推送或拉取数据来将 Shopify 集成到企业的数据工作流中。...2.点击创建的端口,进入设置页面,点击此处的创建,创建Shopify连接3.自定义连接名称,Auth Schema选择basic类型,填写商店URL、应用ID以及密码,点击创建连接。...Shopify端口功能与 Shopify 建立连接后,知行之桥 Shopify 端口支持以下几种操作:1.Upsert:可以插入或更新 Shopify 相关数据。

1.1K20

解决 GraphQL 的限流难题

Shopify 今年 6 月份发了一篇《Rate Limiting GraphQL APIs by Calculating Query Complexity》[3]的文章,讲了他们使用 GraphQL...虽然更新、删除操作会对服务产生更多负载,但它们基于请求响应的限流模型里是按一样的资源消耗量进行计算的。 GraphQL 主要解决了动态字段和数据组合的问题。... GraphQL 的响应中获取 Query Cost 信息 当然,你不需要自己计算 query 成本。Shopify 设计的 API 响应可以直接把 object 消耗的成本包含在响应内容中。...其它信息: Shopify API rate limits[5] Shopify Admin API GraphiQL explorer[6] How Shopify Manages API Versioning...[4] Shopify Admin API GraphiQL explorer: https://shopify.dev/tools/graphiql-admin-api [5] Shopify API

1.3K20

Remix 究竟比 Next.js 强在哪儿?

说到底,使用 Shopify API 时,缓存几乎是不必要的,无论缓存命中或未命中,加载速度的表现上没什么太大的区别。...架构上不不同往往又会带来更多的问题: 浏览器里是否有身份验证API 是否支持 CORS? API SDK 浏览器中是否可用? 构建和浏览器中代码如何共享?...对于只需要在服务端抽象 Shopify API 的 Remix 来说,这些问题的答案如下: 浏览器里是否有身份验证?——不 API 是否支持 CORS?...——支持与否都可以 API SDK 是否需浏览器中可用?——不需要 构建和浏览器中代码如何共享?——无需共享 将 API token 暴露给浏览器是否安全?...开发们只需要用 Shopify 更新要改动的商品,缓存 TTL 内就会有相应的改动。当然,你也可以用一个下午的时间设置一个 webhook,让用户主页的查询无效。

3.3K60

OWASP物联网测试Attack Surface Areas

敏感信息 - 敏感url暴露- 固件版本显示/最新更新日期- 漏洞服务(web、ssh、tftp等) - 验证的软件版本及可能的攻击(健康监控、心跳、ssh、的php版本等等)- 安全相关...- Dos- 设备固件OTA更新阻塞- 固件传输使用了不安全的渠道(例如为使用TLS)- Replay攻击- 缺乏有效载荷验证- 缺乏消息完整性验证- 凭据管理漏洞 - 用户名枚举 - 弱密码...传输加密- 双重认证机制 第三方后端API - 发送未加密的个人信息- 加密发送个人信息- 设备信息泄露- 位置泄露 更新机制 - 更新传输数据未加密- 更新无签名- 更新校验- 更新验证- 更新区可写...- 恶意更新- 缺乏更新机制- 没有手工更新机制 移动应用 - 云或设备隐式的信任- 用户名枚举- 账户锁定- 已知默认凭据- 弱密码- 不安全的数据存储- 传输加密- 不安全的密码恢复机制- 双重认证...供应商端API - 云或移动应用的固有信任- 弱认证- 弱访问控制- 注入攻击- 隐藏的服务 通信 - 健康监测- 心跳包- 命令- 升级更新- 推送更新 网络流量 - 局域网- 局域网到Internet

1.6K30

从Ruby到Node:重写Shopify CLI,提升开发体验

我们知道,开发人员开发 Shopify App 时会大量用到终端,而他们使用 CLI 时并不总是能够获一致而愉快的体验。...下面的示例展示了一个惯用的 API,特性开发人员可以使用API 获取一个有效的会话,与 GraphQL API 进行交互。...我们逻辑设计时尽可能地函数化,并且只要可能,就将副作用集中命令开始的部分。例如,命令所做的第一件事是在内存中加载和验证项目。...这类似于 Web API 接收请求时所做的事情;将其传递到可能产生级联效应且处于无效状态的系统之前,它将对其进行验证。...构建经过社区测试的基础 早先一次与 Shopify 之外的 CLI 开发人员的对话中,oclif 作为一个出色的、使用 Node 构建 CLI 的工具和 API 框架出现在我们的视野中。

35520

Web Hacking 101 中文版 八、跨站请求伪造

此外,不是每个站点在创建或者定义 Token 时都使用csrf术语。例如, Badoo 它使用rt参数,我们下面会讨论。 链接 查看 OWASP 测试指南。 示例 1....站点能够调用该终端,并且读取信息的地方存在漏洞,因为 Shopify 该调用中并没有包含任何 CSRF Token 验证。所以,下面的 HTML 代码可以用于代表任何未知受害者提交表单。.../body> 这里,通过仅仅浏览站点,JavaScript 就会提交表单,它实际上包含 Shopify API 的 GET 请求,使用受害者的浏览器,并提供 Shopify 的 Cookie...重要结论 扩展你的攻击领域,并从站点转向它的 API 终端。API 提供了极大的漏洞可能性,所以最好牢记他,尤其是当你知道 API 可能开发完毕,或者站点实际开发之后可用的时候。 2....例如, Shopify 使用了 RoR 编写,它对所有表单默认提供了 CSRF 保护(当然也可以关掉)。但是,显然意见,这对于使用框架创建的 API 不一定成立。

84620

前端中的中间件?帮助管理Vercel上Webhook的工具

Hookdeck Vercel 中间件 旨在仅使用三行代码 Vercel 的系统上运行。...两个用例是处理来自 Stripe、Shopify 或 Twilio 等 API 提供商的 Webhook,或构建 异步 API。他说,对于自称为事件网关的 Hookdeck 来说,这是一个自然的扩展。...使用中间件,开发者可以管理: 队列; 限制,用于第三方发送的 Webhook 超过系统处理能力的情况; 重试同步 HTTP 请求; 延迟,例如,客户可以一定时间内编辑订单的情况下使用; 过滤器,允许根据有效负载中的数据进行筛选...例如,它将允许使用 Shopify 的开发者仅筛选所有产品更新 webhook,以仅筛选库存中没有产品的 webhook,Bouchard 说。...他补充说,代码本身的编写方式使得它的大部分内容可以 Vercel 的上下文之外使用,尽管有一些开发人员体验考虑因素是特定于 Vercel 的。

5210

对单体系统优缺点评判到位:拆分Shopify单体工程的经验分享

Shopify是现存最大的Ruby on Rails代码库之一。它已被超过一千名开发人员使用了十多年。它封装了来自计费商家,管理第三方开发者应用程序,更新产品,处理运输等许多不同功能。...我们选择将Shopify发展为模块化单体,这意味着我们将所有代码保存在一个代码库中,但确保不同组件之间定义和遵守边界。...多个独立服务上选择单体架构最显着的好处之一是,您可以直接调用不同的组件,而不需要通过Web服务API进行通信,这意味着您不必担心API版本管理和向后兼容性,以及潜在的滞后调用。...这是高耦合和缺乏边界的结果,这也导致难以编写的测试,并且CI上运行非常慢。 Shopify中进行开发需要大量的上下文来进行看似简单的更改。...本文所述的努力之前,将系统更换为新系统几乎是不可能完成的任务。但是,由于我们已经投入了大量精力来隔离依赖关系,我们能够将我们的税务引擎换成一个全新的税收计算系统。

1.5K30

Golang 语言中 kafka 客户端库 sarama

02 生产者 我们可以使用 Sarama 库的 AsyncProducer 或 SyncProducer 生产消息。大多数情况下首选使用 AsyncProducer 生产消息。...某些配置中,有时仍会丢失由 SyncProducer 确认的消息,但是使用比较简单。 为了读者朋友们容易理解,本文我们介绍 SyncProducer 作为生产者的使用方式。...03 消费者 我们可以使用 Sarama 库的消费者 Consumer 或消费者组 ConsumerGroup API 消费消息。...04 总结 本文主要介绍如何使用 Apache Kafka 的 Golang 语言客户端库 Sarama 生产和消费 Kafka 消息。关于生产者和消费者,分别列举了一个简单示例。...Golang 语言的值验证库 Validator 怎么使用? Go team 开源项目 Go Cloud 使用的依赖注入工具 Wire 怎么使用

6.6K30

Shopify悄然登上北美电商第二把交椅,独立站是制胜“法宝”?

▷2009-2013,建立API和应用商店,实现从工具到平台的转变。公司发布了API平台和应用商店,应用商店中,开发者可以销售他们的应用,商家可以浏览、购买并直接安装应用。...另外,ShopifyShipping可以让卖家直接发货,而且目前超过50%的卖家都在使用它。 显然Shopify每个阶段的商业成功最终在数据上得以验证。根据全球商品交易总额对各大主要电商进行排名。...(1)前端部分:Shopify的软件使商家能够轻松地十几个不同的销售渠道中展示、管理和销售他们的产品,超过三分之二的商家使用两个或者更多的渠道。...在过去,这些中小型商店之所以没有选择自己建店,主要有三个原因:建店成本过高,没有流量引入,以及不知道如何提供服务。 对于这些问题,Shopify提供了解决方案。...Shopify的这一模式正切中商家普遍苦恼之处。近年来,Shopify已经被全球电商卖家们所熟知,并吸引了越来越多的人开始使用它。

2.9K20

为什么我使用 GraphQL 而放弃 REST API

你可能会说你的 API 是 RESTful 的,但是对于如何安排端点或是否应该(例如)使用 HTTP 方法PATCH进行对象更新,一般没有严格的规则。...如果你的 API 是版本化的, API 的 URL 为/API/v1,新版本的 URL 为/API/v2,那么你可能做得很好。...当你的团队冲刺期间决定重命名或重新安排对象字段时,你能负担得起上线/api/v1.99端点的成本吗?即使完成了,团队会不会忘记更新规范并通知客户端开发人员更新内容?...现在,客户端和服务器团队可以以一种更好的方式 API 设计上开展合作,缩短迭代时间,共享自动生成的文档,它们让每次 API 更新对每个人都可见。...如果你使用的是 WordPress,也有 GraphQL API 可以使用。Reaction Commerce 是 Shopify 的开源替代方案,同样是基于 GraphQL。

2.3K30

解读 WebAssembly 的 2020:Web 以外的进展与计划

那么上述这些提案,它们今天的发展情况如何呢? 注记:字节码联盟不托管规范。...赢得多方利益相关者的合作 去年,社区已经将维护的运行时嵌入方式转换为使用新的标准 Wasm C API,并且也正在确保 Rust 的嵌入 API 能够与 C API 保持同步更新。...它同样有助于保持正确性:Peepmatic 所使用的 DSL 可以使一些“正确性问题”变得不再容易出现,而且相比原有实现更容易进行推理。社区还计划增加对窥孔优化的验证过程。...为了帮助应用开发人员构建更稳定的应用程序,Shopify 希望允许应用程序代码 Shopify 内部直接运行。 但是,如何才能以快速、安全的方式运行这些第三方代码?答案是使用 Wasm。...为了能够将那些潜在的、 Wasm 生态系统中从事关键工作的人们“招募”到核心团队,联盟需要为“如何进行选举?”以及“如何进行重要技术决策?”之类的过程定义标准化流程。

51950

Docker为何未在生产环境中取得广泛成功?

大多数问题我已经大会演讲中或与Docker团队交流中讨论过。本文倒不是要明确指出什么不再是问题:比如说,新注册中心(registry)克服了注册中心的许多不足。...虽然Docker文件易于使用,但是位于过高的抽象层,无法支持复杂的使用场合: 带外缓存,面向特别错综复杂的、针对特定应用程序的依赖项; 构建时访问密文(密码、密钥和相关内容),又不将它们提交给映像 全面控制最终映像中的层...Shopify,我们最后使用docker commit API,从头开始构建了自己的系统。这个过程很麻烦,我希望这一幕不会出现在任何人身上,我很想摆脱这种局面,但是我们又不得不扫除障碍。...垃圾收集 每个部署的重大Docker系统到头来要编写垃圾收集器,以便清除主机上的映像。使用了各种启发式方法,比如清除超过X天的映像,主机上最多执行Y个映像。...Shopify,我们一年半前开发了ejson(ejson是一种简单的库,用嵌入JSON文件中的公钥加密该文件中的所有值,详见https://www.shopify.com/technology/26892292

1.3K100

压倒eBay 挑战亚马逊 Shopify到底厉害在哪儿?

三个关键词可以帮助读者理解Shopify的价值: 1、商务操作系统 Shopify提供一个开放的平台和丰富的API接口,商家可以根据自己的需求用API开发各种功能,也可以把这些功能封装成APP的形式给更多的商家使用...The app uses the token to make requests to the Shopify API....为此,Shopify今年也更新了不少功能以满足更多类型的客户的需求,比如: 1、全新的Shopify POS:重建后的Shopify POS可将线下线上销售结合起来,帮助实体企业做全渠道运营。...2、Shopify email:这一功能可以将电子邮件营销融入Shopify,且商家可以免费使用至2020年10月。...5、谷歌购物:商家可以使用Shopify的谷歌购物应用程序Shopify中同步产品,这样,产品就可以免费显示相关的谷歌购物搜索结果中。

1.7K20

一年内研发效率提升 20 倍,Shopify如何做到的?

以下是我们 2023 年发布的一些重要更新,它们致力于消除复杂性并提升性能。 效率为王 商业领域,效率为王。高效可以带来愉悦、无缝的用户体验。...GraphQL Storefront API 查询的响应速度提高了 3 倍。我们将这些查询从 Shopify 核心代码逻辑中提取到了 Storefront Renderer。...这是一件好事,因为过去一年里,Storefront API 的流量显著增加。这是我们 2023 年进行的许多针对 GraphQL 的改进之一。...这是一个极佳的例子,表明我们是如何专注在那些让整个技术栈表现更好的服务业务上。...以下是 Copilot 改变我们工作的一些方式: Shopify 工程团队中约 70% 的成员日常使用 Copilot 根据编程语言的不同,建议的平均接受率 21%-34% 之间。

14210

发送短信验证码和邮箱验证码—Java实现

短信验证码   短信验证码都是调用一些接口来进行短信的发送,短信验证登录、注册等操作中使用的最广泛,本文这一节演示如何使用Java制作一个简单的短信验证码登录。  ...申请完短信API进入以下界面后点击“模板”: ?   需要先申请一个短信模板,根据自己的需求定义这个模板内容(定义前先阅读此页面下方的模板规则说明): ?...等短信模板申请下来后就可以使用这个API了,以下演示如何使用Java来调用这个API,制作一个简单的短信验证码登录: 首先是页面的index.jsp代码: ? 用于调用短信接口的类: ?...邮箱验证码   一般能使用邮箱注册的账户,进行登录、注册或忘记密码等操作时,都能使用邮箱进行验证,所以邮箱验证码也使用得比较广泛,不过相对于短信验证码来说,邮箱验证使用的少一些,因为现在是个人都有手机号码...使用邮箱来发送验证码,不需要像短信验证码那样调用短信服务API来发送验证码,但是需要有一个能够发送邮件的邮箱服务器或者使用第三方的邮箱,例如163、126、qq邮箱等。

8K40
领券