在前几节我们详细讲解了http协议的相关信息,基于“知行合一”的原则,只有通过具体动手实践才有可能检验知识点被我们真正掌握,本节我们就使用代码实现http的get请求。...使用它的好处在于足够简单,并且它有文件上传功能,于是后面我们还可以用来实现POST请求,接下来我们使用代码模拟客户端向它发送GET请求,首先实现的是http数据包组装和解析功能: 上面给定的类用于负责组装...http请求的方法行,同时将http请求的头部字段和对应信息放入到一个Map中以便对应起来,然后通过get_http_content方法将请求行以及头部字段信息组合成http请求数据包的内容。...接着我们使用该类发送请求数据包: 该类使用HttpEncoder类构造http请求数据包后,调用前面实现的tcp协议将数据包封装起来发送给服务器,一旦收到服务器的返回后解析返回数据内容,获取http返回码...从截图中看到,GET / HTTP/1.1就是程序构造的请求包,HTTP/1.1 200 OK就是服务器返回的应答,从回复看服务器接受了程序发出的请求并正常处理,同时将相关信息返回给程序,程序在接收完所有信息后将接收到的数据打印出来
1 Get请求数据 项目地址:https://github.com/Snowstorm0/learn-get-post 1.1 Controller 文件名MyController,内容为: @RestController...timeString; } } 1.3 Application 在application.properties配置: # 设置端口号 server.port=8888 1.4 Postman 配置Get...public Map postReceiveByMap(Map map){ int number = map.get...0 : Integer.parseInt((String) map.get("number")); String name = map.get("name") == null ?...项目地址:https://github.com/Snowstorm0/learn-post-send 需要注意,RestTemplate在postForObject时,用MultiValueMap,不可使用
向令牌端点换取访问令牌与刷新令牌;Client使用访问令牌调用受保护资源(如Microsoft Graph API)。...获得令牌后,攻击者通过Microsoft Graph API执行侦察:import requeststoken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.xxxxx"headers...'] for f in folders if f['displayName'] == 'Inbox')emails = requests.get(f"https://graph.microsoft.com...可使用Microsoft Graph PowerShell批量设置:# 禁止用户同意应用Set-MgPolicyAuthorizationPolicy -PermissionGrantPolicyId...以下Python脚本利用Microsoft Graph API实现自动化审计:import requestsfrom datetime import datetime, timedeltadef audit_shadow_apps
【前言】 了解一个组件的最好方式是先使用该组件,今天我们就来聊聊如何通过java api对iceberg进行操作。 为什么是选择api进行介绍,而不是更通用的flink、spark、hive等。...一方面是觉得flink、spark使用iceberg的介绍网上已经有很多,官网的介绍也比较清晰,而java api的介绍则相对少些;另一方面,不管是flink,spark最终都还是调用这些基本的api完成相关的操作的...,因此先从api入手,后续对flink,spark,trino等组件对iceberg的操作原理理解起来也会更容易些。.../ 定义表结构schema Schema schema = new Schema( Types.NestedField.required(1, "id", Types.IntegerType.get...()), Types.NestedField.required(2, "name", Types.StringType.get()), Types.NestedField.required
此类攻击不依赖凭据窃取,而是滥用OAuth 2.0授权框架中的“用户同意”流程,使恶意应用获得长期有效的刷新令牌(refresh token),进而通过Microsoft Graph API静默读取邮件...);用户点击“接受”,微软返回授权码;应用用授权码向令牌端点兑换访问令牌与刷新令牌;应用使用令牌调用Microsoft Graph API。...API执行恶意操作:# 读取最近100封邮件headers = {'Authorization': f'Bearer {access_token}'}resp = requests.get('https...可通过Microsoft Graph API动态评估权限风险:HIGH_RISK_SCOPES = {'Mail.ReadWrite', 'MailboxSettings.ReadWrite','User.ReadWrite.All...Graph 查询示例:GET https://graph.microsoft.com/v1.0/me/oauth2PermissionGrantsAuthorization: Bearer <admin_token
本文全面介绍了 Java Stream API 的概念、功能以及如何在 Java 中有效地使用它进行集合和数据流的处理。...使用Java Stream API的优势功能 Java Stream API 传统集合操作 数据处理模式 声明式,支持函数式编程 命令式,代码较为复杂...低,循环和条件判断多 使用场景 数据集合操作,大数据处理 小数据量操作 二、常用的Java Stream API功能下面是针对每个Java Stream...选择哪个库取决于具体的项目需求、团队的熟悉度以及对库特性的需求。四、Java Stream API使用总结Java Stream API 是一个功能强大的工具,适用于处理集合和数据流。...通过使用Java Stream API,开发者可以写出更简洁、更高效、更易于维护的代码,同时享受到函数式编程带来的好处。
2、Elasticsearch是RestFul风格的api,通过http的请求形式(注意,参数是url拼接还是请求的json形式哦),发送请求,对Elasticsearch进行操作。...id是可以选择的,不提供es会自动生成,index、type将信息进行分层,利于管理。 3、如何使用java连接Elasticsearch。...,使用的设计模式,链式设计模式、build设计模式。...4、如何使用java api创建索引Index、类型Type、以及指定字段,是否创建索引,是否存储,是否即分词,又建立索引(analyzed)、是否建索引不分词(not_analyzed)等等。...(); 171 } 172 } 5、使用java api操作Elasticsearch的增删改查以及复杂查询(聚合查询,可以进行分组统计数量,分组统计最大值,分组统计平均值,等等统计)。
(2.4)横向移动与持久化获取邮箱访问权后,攻击者常利用“自动转发规则”窃取未来邮件,或通过Graph API读取联系人、会议记录,为下一轮攻击提供情报。...部分样本还部署了基于OAuth应用的持久化后门:POST https://graph.microsoft.com/v1.0/me/mailFolders/inbox/messageRulesAuthorization...(5.1)系统架构前端:Outlook插件,提供举报按钮与可疑链接预览;中台:基于Microsoft Graph API的行为分析引擎;后台:条件访问策略管理与OAuth授权审计模块。...):rules = graph_client.get(f'/users/{user_id}/mailFolders/inbox/messageRules')for rule in rules['value...编辑:芦笛(公共互联网反网络钓鱼工作组)
转载请注明来自:诗商·柳惊鸿CSDN博客,原文链接:FastDFS的配置、部署与API使用解读(1)入门使用教程 1、背景 FastDFS是一款开源的、分布式文件系统(Distributed File...首先客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server 的指定端口来实现的,Tracker Server 根据目前已掌握的信息,来决定选择哪一台...3、架构简析 以上这段粗糙简单的描述,基本理清了 FastDFS 的上传过程。我们可以知道,FastDFS 是包括一组 Tracker Server 和 Storage Server 的。...进一步说,整个 Group 的存储能力由该组中该储能力最小的 Storage 决定。...以下这三篇是ITeye的一位博友关于 FastDFS 的部署、配置与测试的博文,写得简明扼要,我就不再冗余地写一篇了。
转载请注明来自:诗商·柳惊鸿CSDN博客,原文链接:FastDFS的配置、部署与API使用解读(1)入门使用教程 1、背景 FastDFS是一款开源的、分布式文件系统(Distributed...首先客户端 client 发起对 FastDFS 的文件传输动作,是通过连接到某一台 Tracker Server 的指定端口来实现的,Tracker Server 根据目前已掌握的信息,来决定选择哪一台...3、架构简析 以上这段粗糙简单的描述,基本理清了 FastDFS 的上传过程。我们可以知道,FastDFS 是包括一组 Tracker Server 和 Storage Server 的。...进一步说,整个 Group 的存储能力由该组中该储能力最小的 Storage 决定。...、部署与API使用解读(1)入门使用教程 -
关键词:OAuth 2.0;MFA绕过;Microsoft Entra ID;钓鱼攻击;身份安全;API权限;条件访问;第三方应用治理1 引言随着云办公的普及,Microsoft 365已成为全球企业数字基础设施的核心组成部分...(Access Token)与刷新令牌(Refresh Token);应用使用令牌调用Microsoft Graph API。...攻击者使用refresh_token定期换取新access_token,实现长期潜伏。所有API调用均来自微软合法IP,难以被网络层检测。...3.4 数据窃取与横向移动获得令牌后,攻击者可调用Microsoft Graph API执行以下操作:# 读取最新100封邮件Invoke-RestMethod -Uri "https://graph.microsoft.com...编辑:芦笛(公共互联网反网络钓鱼工作组)
本文给出一种优雅的拼装elasticsearch查询的方式,可能会使得使用elasticsearch的方式变得优雅起来,使得代码结构很清晰易读。...org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.nio.charset.Charset...; import java.util.Collection; import java.util.List; import java.util.Map; import static org.elasticsearch.index.query.QueryBuilders.termQuery...Document类完成的 有三个Document,BaseDocument,ESDocument,SearchDocument,后两个继承前一个。...termsList; } public List> getTermsList() { return termsList; } } 3、使用的时候
ChatGPT API 的 Java 简单使用 > 引言:想着openai送的额度不能浪费,就使用OKHTTP框架做了一个简单的控制台对话实现 请求部分 /** * 发送...来鉴权,其中 OPENAI_API_KEY 需要自己创建,发文时新注册赠送 5$ 4个月。...请求部分参考这部分 官方文档 可以看到方法的入参有一个集合,其中存储历史对话记录 官方提供的返回Json示例如下,我们重点关注 message 部分 { "id": "...通常使用 System 喂给 ChatGPT 一些背景设定,而后交替使用 user 和 assistant来进行对话。...temperature 的范围在 0 - 2 之间,用于设定生成回复的 "创造力",较高的值生成的内容会更加随机。
一、简述 截至到目前 (2019.04),HBase 有两个主要的版本,分别是 1.x 和 2.x ,两个版本的 Java API 有所不同,1.x 中某些方法在 2.x 中被标识为 @deprecated...完整的代码见本仓库: Java API 1.x Examples Java API 2.x Examples 同时你使用的客户端的版本必须与服务端版本保持一致,如果用 2.x 版本的客户端代码去连接 1...二、Java API 1.x 基本使用 2.1 新建Maven工程,导入项目依赖 要使用 Java API 操作 HBase,需要引入 hbase-client。...API 2.x 基本使用 3.1 新建Maven工程,导入项目依赖 这里选取的 HBase Client 的版本为最新的 2.1.4。...以下为 HBase 2.x 版本 Java API 的使用示例: public class HBaseUtils { private static Connection connection
搜索并下载敏感文档:利用Graph API遍历OneDrive与SharePoint中的文件夹,下载包含“NDA”、“Term Sheet”、“Due Diligence”等关键词的文档。...以下Python脚本利用Microsoft Graph API实现授权审计:import requestsdef audit_oauth_apps(user_token):headers = {"Authorization...//graph.microsoft.com/v1.0/applications/{app_id}",headers=headers).json()display_name = app_info.get(...'displayName', 'Unknown')if display_name not in approved_apps:# 自动撤销授权requests.delete(f"https://graph.microsoft.com...唯有如此,方能在日益复杂的威胁 landscape 中守住企业最核心的战略资产。编辑:芦笛(公共互联网反网络钓鱼工作组)
2 攻击链技术剖析2.1 情境化诱饵构造攻击者精心选择三类高频场景作为诱饵:存储配额警告:“您的OneDrive存储空间已使用95%”;密码策略提醒:“您的密码将在24小时内过期,请立即更新”;文档协作请求...获得有效会话后,攻击者通过Graph API注册恶意OAuth应用:POST https://graph.microsoft.com/v1.0/applicationsContent-Type: application...": [{"resourceAppId": "00000003-0000-0000-c000-000000000000", // Microsoft Graph"resourceAccess": [{...4 多层次防御架构设计4.1 条件访问策略(Conditional Access)通过Azure AD条件访问,限制高风险上下文中的登录行为:{"displayName": "Block High-Risk...编辑:芦笛(公共互联网反网络钓鱼工作组)
然而,WRDSB事件中攻击者使用全新注册域名而非伪造wrdsb.ca,故DMARC策略无法触发。反垃圾邮件网关:依赖关键词匹配与URL黑名单。但攻击初期使用的短链接及动态生成页面难以被及时收录。...通过Microsoft Graph API定期拉取用户授权的应用列表,比对白名单。若发现未经批准的第三方应用请求Mail.Read、Mail.Send等权限,自动撤销授权并告警。...}'}url = "https://graph.microsoft.com/v1.0/me/oauth2PermissionGrants"resp = requests.get(url, headers...= f"https://graph.microsoft.com/v1.0/applications(appId='{app_id}')"app_resp = requests.get(app_url,...headers=headers)app_info = app_resp.json()apps.append({'displayName': app_info.get('displayName'),'appId
前言 这次想介绍一下Java Stream的API使用,最近在做一个新的项目,然后终于可以从老项目的祖传代码坑里跳出来了。...所以这次就结合自己使用经验来介绍一下Java Stream的一些功能。...这样就出现了在Java中使用Lambda表达式,将一个函数作为方法的参数来进行传递。...Java8的Stream就是典型的例子,Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。...下面是一个使用了Stream API实现的流程图。 ?
* 在Hello,Java!!!中寻找o出现的第一个位置 */ String str1 = "Hello,Java!!!"...* 在Hello,Java!!!中寻找a出现的最后一个位置 */ String str1 = "Hello,Java!!!"...* str1 = Hello,Java!!! * 1、Hello,Java!!!第7个是a,所以输出a和之后的字符串 * 2、Hello,Java!!!...getBytes 说明:使用平台的默认字符集将字符串编码为 byte 序列,并将结果存储到一个新的 byte 数组中。...ApiJiHe { public static void main(String[] args) { /** * 关键字:getBytes * 使用平台的默认字符集将字符串编码为
本文介绍了一些关于Java API安全和性能方面的简单易用的技巧,其中包括保证API Key安全和开发Web Service方面中在框架方面选择的一些建议。 程序员都喜欢使用API!...例如为app应用构建API或作为微服务架构体系的一部分。当然,使用API的前提是能让你的工作变得更轻松。为了简化开发和提高工作效率所作出的努力,有时也意味着需要寻找新的类库或者过程(或者减少过程)。...先介绍下本文提及的背景知识:Okta是一个基于REST、JSON API构建的Java应用,使用Spring框架构建。...我们公司的应用,是保存用户的身份凭证和其他公司的敏感数据,所以对我们来说,安全是最重要的。因此,我对这些技巧的第一个要求是,它们能帮助令到你的Java应用更安全。...这些建议应该是任何类型的Java应用都是通用的。它们会帮助你更快地编写代码,但代码量更少了,同时又更安全:这真的是三赢的结果! 1.