首页
学习
活动
专区
圈层
工具
发布

Bookstore靶机实战:从Web枚举到REST API模糊测试的完整攻破

枚举阶段我使用Nmap开始信息收集,扫描命令包含:-sC:等效于—script=default-sV:探测开放端口的服务/版本信息-p-:扫描所有端口发现22端口运行SSH服务,80和5000端口运行Web...服务:80端口:Apache 2.4.295000端口:Werkzeug 0.14.1 + Python 3.6在Werkzeug服务器发现关键路径:/robots.txt/api研究发现Werkzeug...0.14.1存在可能的RCE漏洞(参考Rapid7漏洞库)。...通过以下方式获取:对/api端点进行参数模糊测试发现v1存在未修补漏洞使用ffuf工具发现可利用参数:ffuf -u http://IP:5000/api/v2/FUZZ -w wordlist.txt...--hc 404权限提升通过获取的PIN码进入调试控制台使用Reverse Shell Cheat Sheet获取反弹shell发现SUID二进制文件try-harder逆向分析发现关键XOR运算:0x5dcd21f4

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

    现代 API 架构设计指南:从 REST 到高效集成的技术实践

    在当前的分布式系统架构中,API(应用程序编程接口)已成为软硬件解耦、实现数据流通的核心基石。无论是微服务间的通信,还是向第三方生态开放能力,API的设计质量直接决定了系统的可维护性与扩展性。...一、RESTful架构的核心约束REST(RepresentationalStateTransfer)作为目前互联网应用最广泛的架构风格,其核心在于将一切资源化。...三、API生态下的集成效率优化在实际开发过程中,开发者面临的挑战往往不是“如何写API”,而是“如何快速找到并集成高质量的API”。为了降低开发成本,技术团队通常会建立内部或参考外部的API目录系统。...工具类型代表方案主要作用文档生成Swagger/Redoc自动从代码注释生成可交互的接口文档联调测试Postman/Insomnia模拟请求、编写自动化测试脚本网关管理Kong/Apisix处理路由、限流...通过语义描述而非硬编码,未来的系统架构将能根据意图自动匹配并编排最合适的API路径。在这种演进过程中,保持API设计的规范性(尤其是遵循语义化版本控制SemVer)将显得尤为重要。

    32810

    Selenium结合Unirest和JTwig进行API测试

    如果你的目的是对REST api进行详尽的测试,我建议看看JMeter。你可以查看下面关于使用JMeter进行REST API测试的文章。.../,倘若你有兴趣部署可以尝试下自己部署】 使用Rest API列出所有可用的联系人,添加/编辑/删除联系人;它还使用Angular构建了比较友好的UI界面;你可以克隆并部署到你的本地运行。...一旦上述应用程序部署成功并启动,就可以使用API GET请求获取联系人列表,显示在UI界面上。 1-获取联系人 当您访问应用程序的主页时,它会列出所有可用的联系人。 ?...这就是我们使用JTwig模板引擎的地方。首先,我在模板下面创建。...接下来可以发送POST请求创建新的联系人了(发送POST请求之后,在这里还可以通过UI界面进行检查联系人是否成功显示在UI界面,此处不做详细Demo) String postApi = "https:

    1.9K20

    Selenium WebDriver—如何测试REST API

    如果你的目的是对REST api进行详尽的测试,我建议看看JMeter。你可以查看下面关于使用JMeter进行REST API测试的文章。...JMeter – 如何测试REST API / 微服务[2] JMeter – REST API Testing – 一个完整的数据驱动方法[3] 微服务 – 契约测试[4] 假设你使用testNG/Junit.../,倘若你有兴趣部署可以尝试下自己部署】 使用Rest API列出所有可用的联系人,添加/编辑/删除联系人;它还使用Angular构建了比较友好的UI界面;你可以克隆并部署到你的本地运行。...这就是我们使用JTwig模板引擎的地方。首先,我在模板下面创建。...接下来可以发送POST请求创建新的联系人了(发送POST请求之后,在这里还可以通过UI界面进行检查联系人是否成功显示在UI界面,此处不做详细Demo) String postApi = "https:

    2.4K10

    G Suit 介绍

    G套件开发者概述视频 想知道您可以构建什么,以及如何从您的应用程序或扩展我们的应用程序与G Suite集成?...利用来自其REST API或谷歌应用程序脚本的表单,这也是支持表单附加组件的技术。 使用Gmail构建各种集成 使用灵活的REST API将Gmail集成到应用程序中。...与G套件交互的api 我们的REST api允许您的应用程序与用户的邮件、日历、联系人和其他数据集成。 用于域管理员的api和工具 G套件市场 可以添加到G Suite域的企业应用程序。...开发人员可以将应用程序发布到市场,供域管理员发现和安装。 管理SDK 一套工具和api,帮助管理员迁移到G suite,创建自定义使用报告,并管理用户、组和设备。...目录的API 我们最流行的管理API!管理移动和Chrome OS设备、组、组别名、成员、组织单位、用户和用户别名。 域共享联系人API 管理与域内所有用户共享的外部联系人。

    4.7K20

    Vue.js + Node.js + Express + MySQL示例:构建全栈CRUD应用程序

    后端服务器将Node.js + Express用于REST API,前端是带有Vue Router和axios的Vue客户端。...全栈CRUD应用程序架构 我们将构建一个如下体系结构的应用程序: ? Node.js Express导出REST API,并使用Sequelize ORM与MySQL数据库进行交互。...db.config.js导出MySQL连接和Sequelize的配置参数。 在server.js的Express Web服务器中,我们配置CORS,初始化并运行Express REST API。...实现 您可以在文章中逐步找到实现此Node.js Express应用程序的步骤: Node.js Rest APIs example with Express, Sequelize & MySQL Vue.js...我们还介绍使用Express&Sequelize ORM的REST API的客户端-服务器体系结构,以及用于构建前端应用程序以发出HTTP请求和使用响应的Vue.js项目结构。

    28.9K21

    Vue + Node.js 搭建「文件上传」管理后台

    baseURL 是你上传文件的后端服务器 REST API 地址,请根据实际情况修改。...+ Multer 来搭建一套上传文件的后端 Rest API,提供给 Vue 前端使用,从而实现 Vue 选择文件 + Axios 调用后端 API HTTP 通讯,最后把文件上传到服务器指定目录。...接下来,大家一起跟随本教程创建一套 Node.js 上传文件 Rest API,它的功能包括: 将 Vue 前端选中的文件上传到服务器的静态文件夹中 限制上传文件大小,最大 2MB GET 服务器中存储文件的...URL ,可用于下载 GET 文件信息列表(文件名 + URL) 这是存储所有上传文件的静态文件夹: [node-uploads] 如果我们 GET 文件列表,Node.js Rest API 会返回...: [postman-get] GET /files ,API 返回 文件名 + URL 我们构建的 Node.js Rest API 包含这三个功能: POST /upload 上传一个文件 GET

    13.7K30

    十个书写Node.js REST API的最佳实践(上)

    原文:10 Best Practices for Writing Node.js REST APIs 我们会通过本文介绍下书写Node.js REST API的最佳实践,包括各个主题,像是命名路由、认证...对于Node.js来说最流行的一个用例就是用其来书写RESTful API。尽管如此,当我们使用监控工具来帮助用户排查问题时,我们总是能感受到在REST API上开发者们有很多的问题。...使用HTTP方法和API路由 设想一下你正在构建Node.js RESTful API用以用来创建、更新、获取或者删除用户。...涉及到用的资源相关的,路由机制也可以这样: POST /user 或者 PUT /user:/id 来创建新用户 GET /user 来获取列表的用户 GET /user/:id 来获得某一个用户 PATCH...接下篇《十个书写Node.js REST API的最佳实践(下)》

    2.7K00

    简化 Django 开发的八个 Python 包 | Linux 中国

    联系人表单:#django-contact-form  联系人表单可以说是网站的标配。但是不要自己去写全部的样板代码,用 django-contact-form[18] 在几分钟内就可以搞定。...处理 Django REST 框架的用户认证:django-rest-auth  如果 Django 开发中涉及到对外提供 API,你很可能用到了 Django REST Framework[22](DRF...Django REST 框架的 API 可视化:django-rest-swagger  Django REST Swagger[23] 提供了一个功能丰富的用户界面,用来和 Django REST 框架的...你只需要安装 Django REST Swagger,把它添加到 Django 项目的已安装应用中,然后在 urls.py 中添加 Swagger 的视图和 URL 模式就可以了,剩下的事情交给 API...django-rest-swagger 从 API 视图中的 docstrings 生成每个端点的文档,通过这种方法,为你的项目创建了一份 API 文档,这对你,对前端开发人员和用户都很有用。

    3.7K20

    主流Node.js 框架推荐

    它或多或少是在Node.js上编写Web应用程序的事实上的API。 它是一组路由库,提供了一层薄薄的基本Web应用程序功能,添加到讨巧的现有Node.js功能中。...Nest.JS Nest.js是一种灵活的、通用的、渐进式的Node.js REST API框架,用于构建高效、可靠、可扩展的服务器端应用程序。...Loopback.io LoopBack是一种高度可扩展的Node.js框架,让你在几乎不用编程的情况下就能创建动态的端到端REST API。...它旨在使开发人员能够在几分钟内轻松构建模型并创建REST API。 它支持轻松的身份验证和授权设置。它还随带模型关系支持、各种后端数据存储、即席查询和附加组件(第三方登录和存储服务)。 9....Feathers.JS Feathers.js是一种实时极简的微服务REST API框架,用于编写现代应用程序。

    7.7K20

    不可错过的Node.js框架

    3、灵活:开发人员可以为客户端,服务器端,后端和前端应用程序使用相同的语言(可以同时执行),它提供端到端的解决方案。 4、跨平台支持:Node.js可以在任何操作系统上虚拟运行。...Actionhero 这是一个用于Node.js的快速,轻量级和多重传输的API服务器,非常适合用于创建一个易于使用的工具包来制作可重用和可扩展的API。...Github stars:1,499 Github contributors: 67 Loopback 这是一个由IBM创建的高度可扩展的API框架,允许使用非常少的编码创建动态的端到端REST API...Github stars: 7,817 Github contributors: 80 Restify 这是一个为REST API而创建的轻量级框架,它是一个通过API提供数据的服务器端框架。...Github stars: 28,683 Github contributors: 192 Koa 这是一个无回调的轻量级中间件框架,允许编写Web应用程序和REST API,还可以添加新功能并自定义路径中的内容

    4K110

    十个书写Node.js REST API的最佳实践(下)

    接 《十个书写Node.js REST API的最佳实践(上)》 5. 对你的Node.js REST API进行黑盒测试 测试你的REST API最好的方法之一就是把它们当成黑盒对待。...译者注:mock 和 stub 都是测试的方法 有个可以帮你进行Node.js REST API进行黑盒测试的模块叫做supertest。...创建合适的API文档 你书写API,这样其他人就可以使用它们,并从中收益。给你的Node.js Rest API提供API文档是很重要的。...下面的开源项目可以帮你给你的API创建文档: API Blueprint Swagger 此外,如果你想使用托管产品,可以试试Apiary。 10....——在这里了解跟多 令人惊讶的REST API,激发你的灵感 如果你正准备开始开发Node.js REST API或者给一个旧的项目开发新版本,我们在这里精心挑选了四个值得check out的真实案例

    2.7K00

    2022 年10个优质的 Node.js CMS 平台分享

    基于 Node.js 的 CMS 「Node.js CMS」 是用 「Node.js」 构建的 「CMS」;然而,这并不意味着开发人员只能使用 「Node.js」。...「Strapi」 提供了 「REST」 和 「GraphQL API」,开发人员可以使用这些 「API」 来访问存储在其存储库中的内容。...Sanity 「Sanity」 的用途远不止传统的 「Web」 体验。从投资组合和公司网站到电子商务应用程序,「Sanity」 的应用无处不在。...「Prismic」 提供了 「REST」 和 「GraphQL API」,开发人员可以使用这些 「API」 来访问存储在其存储库中的内容。...Keystone 「Keystone」 是一个开源可编程后端,可让我们在几分钟内创建高度定制的 「CMS」 和 「API」。

    5.3K20

    【译】如何在 Node.js 中创建安全的 GraphQL API

    原文地址:How to Create a Secure Node.js GraphQL API 作者:Marcos 本文的目的是提供一份快速指南 -- 《如何快速在如何在 Node.js 中创建安全的...GraphQL 比 REST 更好吗? 为什么使用 Node.js?...如前面所讲述的那样,查询 (query) 是客户端从 API 读取和操作数据的方式。你可以传递一个对象的类型,并且定义所希望返回的字段类型。...这篇文章还展示了如何使用 Node.js 和 Express 来开发 REST API 框架,你可以在这两种方法中找出一些差异。...首先,确保你的 Node.js 版本是最新的。撰写本文时,Node.js 当前的版本为 10.15.3。 初始化项目 我们先创建一个名为 node-graphql 的文件夹。

    3.7K20

    在Node.js中发出HTTP请求的7种方法

    让我们看一下一些支持HTTP请求的最受欢迎的Node.js库。 出于测试目的,我们将为所有示例使用JSONPlaceholder假的todo REST API。...要从npm安装Needle,请在终端中运行以下命令: $ npm install needle --save 以下代码段将执行调用伪造的REST API并打印详细信息的相同任务: const needle...在终端的项目根目录中运行以下命令: $ npm install axios --save 由于它支持Promises,因此我们需要像上面对HTTP客户端所做的那样,编写更少的代码来调用伪造的REST API...使用以下命令从npm安装SuperAgent: $ npm install superagent --save 以下是使用SuperAgent调用伪造的REST API的代码段: const superagent...请求库,它将浏览器的Fetch API功能引入Node.js。

    29.5K20

    【探花交友】day06—即时通信

    对于现实即时通讯往往有两种方案: 方案一: 自主实现,从设计到架构,再到实现。...下述的 REST API 中,/{org_name}/{app_name}的请求,均是针对一个唯一的appkey进行的。...2.3.4、获取管理员权限 环信提供的 REST API 需要权限才能访问,权限通过发送 HTTP 请求时携带 token 来体现,下面描述获取 token 的方式。...说明:API 描述的时候使用到的 {APP 的 client_id} 之类的这种参数需要替换成具体的值。...探花用户注册时需要将用户信息注册到环信系统中 对于老数据:编写单元测试方法批量的注册到环信 对于新用户:改造代码(用户注册的时候,自动注册到环信) APP从服务端获取当前用户的环信用户密码

    3.6K30

    用Node.js创建安全的 GraphQL API

    本文的目标是提供关于如何创建安全的 Node.js GraphQL API 的快速指南。 你可能会想到一些问题: 使用 GraphQL API 的目的是什么? 什么是GraphQL API?...GraphQL的好处是什么? GraphQL是否优于REST? 为什么我们使用Node.js?...如上所述,查询是客户端从API读取和操作数据的一种方式。你可以传递对象的类型,并选择要接收的字段类型。...在今天的文章中,我们将专注于怎样用Node.js创建GraphQL API。 为什么要使用Node.js? GraphQL有好几个不同的支持库可供使用。...总结和最后的想法 让我们回顾一下本文的内容: 在Node.js下可以通过Express和GraphQL库来构建GraphQL API; 基本的GraphQL使用; 查询和修改的基本用法; 为项目创建模块的基本方法

    2.1K30
    领券