CN112988162B - Chrome浏览器的数据提取方法、装置、设备及存储介质 - Google Patents

Chrome浏览器的数据提取方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112988162B
CN112988162B CN202110343109.5A CN202110343109A CN112988162B CN 112988162 B CN112988162 B CN 112988162B CN 202110343109 A CN202110343109 A CN 202110343109A CN 112988162 B CN112988162 B CN 112988162B
Authority
CN
China
Prior art keywords
data
key
chrome
request
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110343109.5A
Other languages
English (en)
Other versions
CN112988162A (zh
Inventor
姚艺铭
李盛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ruan Niu Technology Group Co ltd
Original Assignee
Afirstsoft Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Afirstsoft Co Ltd filed Critical Afirstsoft Co Ltd
Priority to CN202110343109.5A priority Critical patent/CN112988162B/zh
Publication of CN112988162A publication Critical patent/CN112988162A/zh
Application granted granted Critical
Publication of CN112988162B publication Critical patent/CN112988162B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及数据提取领域,公开了一种Chrome浏览器的数据提取方法、装置、设备及存储介质。该方法包括:根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;将预置动态令牌与数据提取请求发送至预置Chrome服务器,接收Chrome服务器发送的第一响应数据,对第一响应数据使用第一连接类型名称对应pb结构解析处理,得到反馈数据;判断反馈数据是否为加密数据;若不是加密数据,则提取反馈数据中数据提取请求对应的目标数据;若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置第二protobuf序列化数据中的参数,生成密钥请求信息;解析密钥引导信息,得到密钥库数据,以及基于密钥库。

Description

Chrome浏览器的数据提取方法、装置、设备及存储介质
技术领域
本发明涉及数据提取领域,尤其涉及一种Chrome浏览器的数据提取方法、装置、设备及存储介质。
背景技术
Google Chrome作为一款在全球市场占有率高达67%的web浏览器,有着广泛的用户群体,用户可以在不同的设备上,将书签、密码、页面、表单数据同步到服务器上,以方便在其他设备或终端上实现数据交互。
当用户需要查看同步的数据时,需要在设备上下载Google Chrome浏览器客户端,登陆用户的谷歌账号。因为安全性问题,用户登陆账号时需要进行二次认证,如邮箱、手机、验证码等;再通过浏览器客户端查看数据,如需查看密码等敏感数据,仍需要进行其他验证,比如在windows平台上,需要用户输入windows上的登陆PIN码才行。导致用户在进行数据转移和同步时过程复杂、效率低。或者,通过内嵌的*** Chrome API进行访问,但普通用户没有谷歌开发者权限去调用API,且通过此方式获取的形式有限和获取的数据并不全面。因此,如何快速便捷的让使用者查看同步数据,或者将同步数据转移到其他浏览器中,是目前需要解决的问题。
发明内容
本发明的主要目的在于解决Chrome浏览器的数据转移读取困难的技术问题。
本发明第一方面提供了一种Chrome浏览器的数据提取方法,所述Chrome浏览器的数据提取方法包括:
根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;
将预置动态令牌与所述数据提取请求发送至预置Chrome服务器,接收所述Chrome服务器发送的第一响应数据,对所述第一响应数据使用所述第一连接类型名称对应pb结构解析处理,得到反馈数据;
解析所述反馈数据,判断所述反馈数据是否为加密数据;
若不是加密数据,则提取所述反馈数据中所述数据提取请求对应的目标数据;
若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置所述第二protobuf序列化数据中的参数,生成密钥请求信息;
将所述密钥请求信息发送至所述Chrome服务器中,接收所述Chrome服务器的第二响应数据,对所述第二响应数据使用所述第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
解析所述密钥引导信息,得到密钥库数据,以及基于所述密钥库数据中的密钥解析所述反馈数据,得到所述数据提取请求对应的目标数据。
可选的,在本发明第一方面的第一种实现方式中,所述根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求包括:
构建连接预置Chrome服务器的第一protobuf序列化数据;
设置所述第一protobuf序列化数据对应的第一连接类型名称的参数,生成数据提取请求。
可选的,在本发明第一方面的第二种实现方式中,所述将预置动态令牌与所述数据提取请求发送至预置Chrome服务器,接收所述Chrome服务器发送的第一响应数据,对所述第一响应数据使用所述第一连接类型名称对应pb结构解析处理,得到反馈数据包括:
根据预置Google Chrome同步协议构建HTTP POST请求,根据预置动态令牌与所述数据提取请求,调整所述HTTP POST请求的参数,生成修正HTTP POST请求;
将所述修正HTTP POST请求发送至预置Chrome服务器中,接收所述Chrome服务器发送的第一响应数据;
读取所述第一响应数据的第一字符串,使用ClientToServerResponse对所述第一字符串进行protobuf反序列化解析处理,得到同步实体数据;
对所述同步实体数据进行所述第一连接类型对应的pb结构解析处理,得到反馈数据。
可选的,在本发明第一方面的第三种实现方式中,所述解析所述反馈数据,判断所述反馈数据是否为加密数据包括:
解析所述反馈数据中的反馈字符串,判断所述反馈字符串中是否包含加密的标识。
可选的,在本发明第一方面的第四种实现方式中,所述构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置所述第二protobuf序列化数据中的参数,生成密钥请求信息包括:
构建连接所述Chrome浏览器的第二protobuf序列化数据,在所述第二protobuf数据中DataTypeProgressMarker字段设置所述第二连接类型名称对应的密钥引导信息,生成初步protobuf数据;
在所述初步protobuf数据中的NigoriSpecifics字段中设置需要请求得到encryption_key,生成密钥请求信息。
可选的,在本发明第一方面的第五种实现方式中,所述解析所述密钥引导信息,得到密钥库数据包括:
抓取所述密钥引导信息中的密钥信息块,对所述密钥信息块数据进行base64解密处理,得到第一密钥文本;
对所述第一密钥文本进行字符串追加处理,得到第二密钥文本;
对所述第二密钥文本进行初始化处理,得到第三次密钥文本;
对所述第一密钥文本、所述第二密钥文本、所述第三密钥文本进行组合分析处理,得到密钥库数据。
可选的,在本发明第一方面的第六种实现方式中,所述基于所述密钥库数据中的密钥解析所述反馈数据,得到所述数据提取请求对应的目标数据包括:
将所述密钥库数据中的第一个密钥包确定为特定密钥包;
对所述反馈数据进行Base64转换处理,得到初始解密数据;
将所述初始解密数据使用所述特定密钥包进行AES解密处理,得到明文文本;
对所述明文文本使用PsswordSpecificsData结构的protobuf反序列化解析处理,得到所述数据提取请求对应的目标数据。
本发明第二方面提供了一种Chrome浏览器的数据提取装置,所述Chrome浏览器的数据提取装置包括:
第一生成模块,用于根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;
第一发送模块,用于将预置动态令牌与所述数据提取请求发送至预置Chrome服务器,接收所述Chrome服务器发送的第一响应数据,对所述第一响应数据使用所述第一连接类型名称对应pb结构解析处理,得到反馈数据;
判断模块,用于解析所述反馈数据,判断所述反馈数据是否为加密数据;
提取模块,用于若不是加密数据,则提取所述反馈数据中所述数据提取请求对应的目标数据;
第二生成模块,用于若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置所述第二protobuf序列化数据中的参数,生成密钥请求信息;
第一解析模块,用于将所述密钥请求信息发送至所述Chrome服务器中,接收所述Chrome服务器的第二响应数据,对所述第二响应数据使用所述第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
第二解析模块,用于解析所述密钥引导信息,得到密钥库数据,以及基于所述密钥库数据中的密钥解析所述反馈数据,得到所述数据提取请求对应的目标数据。
本发明第三方面提供了一种Chrome浏览器的数据提取设备,所述Chrome浏览器的数据提取设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述Chrome浏览器的数据提取设备执行上述的Chrome浏览器的数据提取方法。
本发明的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的Chrome浏览器的数据提取方法。
在本发明实施例中,通过更改传输协议对Chrome服务器请求身份令牌对应的用户浏览器数据,并通过带有解密传输请求的访问Chrome服务器得到解密响应数据,基于protobuf反序列化解析处理,实现了对用户浏览器数据解析和同步转移,解决了Chrome浏览器数据难以迁移其他浏览器的技术问题。
附图说明
图1为本发明实施例中Chrome浏览器的数据提取方法的第一个实施例示意图;
图2为本发明实施例中Chrome浏览器的数据提取方法的第二个实施例示意图;
图3为本发明实施例中Chrome浏览器的数据提取方法的第三个实施例示意图;
图4为本发明实施例中Chrome浏览器的数据提取装置的一个实施例示意图;
图5为本发明实施例中Chrome浏览器的数据提取装置的另一个实施例示意图;
图6为本发明实施例中Chrome浏览器的数据提取设备的一个实施例示意图。
具体实施方式
本发明实施例提供了一种Chrome浏览器的数据提取方法、装置、设备及存储介质。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中Chrome浏览器的数据提取方法的第一个实施例包括:
101、根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;
在本实施例中,构建连接到服务器消息的protobuf数据,主要包括GetUpdatesMessage和GetUpdatesCallerInfo两个字段;在GetUpdatesMessage Protobuf数据中,包括DataTypeProgressMarker,该字段内含有需要设置的同步连接类型id,需要设置id值,才能请求取得对应的数据。设置数据类型id值,其中书签为32904,页面跳转为40781,保存密码为45873,表单填充为63951,设置id值后组成数据提取请求。
102、将预置动态令牌与数据提取请求发送至预置Chrome服务器,接收Chrome服务器发送的第一响应数据,对第一响应数据使用第一连接类型名称对应pb结构解析处理,得到反馈数据;
在本实施例中,模拟Google chrome同步协议构建HTTP POST请求,将准备好的动态令牌和上面构建的payload数据作为参数发送到chrome同步服务器上。获取接收连接到服务器的响应数据。将接收的响应数据读取到字符串中,使用ClientToServerResponse对其进行protobuf反序列化解析,解析得到GetUpdatesResponse、SyncEntity,获取上述请求中对应的同步实体数据。根据请求类型id数据,对同步实体数据进行对应的pb结构解析。如果是书签同步数据,解析得到书签文件夹id和名称字段,具体书签链接、标题、图标、所在文件夹、时间戳等字段;如果是页面跳转同步数据,解析得到时间戳、链接、隐藏属性、标题等字段;如果是表单同步数据,将解析得到表单所需填充的对应数据。
103、解析反馈数据,判断反馈数据是否为加密数据;
在本实施例中,根据解析的字段名是否含有加密的标识或者需要解析的数据是否是敏感的密码信息,进而判断执行流程。
104、若不是加密数据,则提取反馈数据中数据提取请求对应的目标数据;
在本实施例中,构建连接到服务器消息的protobuf数据,在DataTypeProgressMarker字段中设置密钥引导信息类型id。在NigoriSpecifics字段中设置需要请求得到encryption_key。构成消息payload发送至服务器。
105、若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置第二protobuf序列化数据中的参数,生成密钥请求信息;
在本实施例中,将接收的响应数据读取到字符串中,解析后能得到NigoriSpecifics同步实体数据。密钥引导信息同步实体数据中含有encryption_key解密密钥库的密钥数据和加密的encryption_keybag密钥库信息,根据字段将其解析并保存。
106、将密钥请求信息发送至Chrome服务器中,接收Chrome服务器的第二响应数据,对第二响应数据使用第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
在本实施例中,取得解析得到的密钥库信息中包含的解密密钥库的密钥信息块,并把块数据进行base64解密获得第一密钥文本。第将初始化username和hostname生成第二密钥文本,具体方式是,将username的长度以大端序为前,追加username具体字符串信息,后同样以这种方式将hostname追加至字符串,生成第二密钥文本。通过第二密钥文本和初始化salt值,使HMAC_SHA1算法,计算得到第三次密钥文本,作为用户keybag密钥包所需要salt值。S704:使用新生成的第三次密钥文本和上述获得的第一密钥文本,经过AES算法计算,分别得到user_key和encryption_key,经过HMAC_SHA1计算,得到mac_key。解析生成user_key、encryption_key和mac_key组成keybag,用于解密密钥库信息块的密钥。具体解密流程如下,将需要解密的密钥库信息块经过base64转换得到密文;其中密文分为三个部分,前16个字节用于解密的偏移值IV,后32位是用于验证的HASH值,中间是则是需要解密的密文文本;解密时使用带偏移值的EVP_AES算法,具***数由密钥包encryption_key的字节长度决定,解密后获取明文文本。将解密后的明文文本,经过NigoriKeyBag结构的protobuf反序列化处理,得到一个或多个由user_key、encryption_key和mac_key组成keybag密钥包结合的密钥库。
107、解析密钥引导信息,得到密钥库数据,以及基于密钥库数据中的密钥解析反馈数据,得到数据提取请求对应的目标数据。
在本实施例中,上述中获取到密钥库信息,取密钥库中的第一个密钥包作为下面解密的keybag。取得需要解密信息的数据库,将数据块通过base64转换得到密文,同样密文也分为三部分,取中间需要解密的部分,使用keybag密钥包对其进行AES解密,获取解密后的明文文本。
在本实施例中,通过更改传输协议对Chrome服务器请求身份令牌对应的用户浏览器数据,并通过带有解密传输请求的访问Chrome服务器得到解密响应数据,基于pb结构解析和protobuf反序列化解析处理,实现了对用户浏览器数据解析和同步转移,解决了Chrome浏览器数据难以迁移其他浏览器的技术问题。将明文文本经过PasswordSpecificsData结构的protobuf反序列化解析处理,得到需要的username_value、password_value、ssl_valid、date_created等数据,最终完成解密过程。
在本发明实施例中,通过更改传输协议对Chrome服务器请求身份令牌对应的用户浏览器数据,并通过带有解密传输请求的访问Chrome服务器得到解密响应数据,基于protobuf反序列化解析处理,实现了对用户浏览器数据解析和同步转移,解决了Chrome浏览器数据难以迁移其他浏览器的技术问题。
请参阅图2,本发明实施例中Chrome浏览器的数据提取方法的第二个实施例包括:
201、构建连接预置Chrome服务器的第一protobuf序列化数据;
在本实施例中,构建连接到服务器消息的protobuf数据,主要包括GetUpdatesMessage和GetUpdatesCallerInfo两个字段。
202、设置第一protobuf序列化数据对应的第一连接类型名称的参数,生成数据提取请求;
在本实施例中,在GetUpdatesMessage Protobuf数据中,包括DataTypeProgressMarker,该字段内含有需要设置的同步连接类型id,需要设置id值,才能请求取得对应的数据。设置数据类型id值,其中书签为32904,页面跳转为40781,保存密码为45873,表单填充为63951。设置id值后组成消息payload数据。
203、根据预置Google Chrome同步协议构建HTTP POST请求,根据预置动态令牌与数据提取请求,调整HTTP POST请求的参数,生成修正HTTP POST请求;
204、将修正HTTP POST请求发送至预置Chrome服务器中,接收Chrome服务器发送的第一响应数据;
在203-204实施例中,模拟Google chrome同步协议构建HTTP POST请求,将准备好的动态令牌和上面构建的payload数据作为参数发送到chrome同步服务器上,获取接收连接到服务器的响应数据。
205、读取第一响应数据的第一字符串,使用ClientToServerResponse对第一字符串进行protobuf反序列化解析处理,得到同步实体数据;
在本实施例中,将接收的响应数据读取到字符串中,使用ClientToServerResponse对其进行protobuf反序列化解析,解析得到GetUpdatesResponse、SyncEntity,获取上述请求中对应的同步实体数据。
206、对同步实体数据进行第一连接类型对应的pb结构解析处理,得到反馈数据;
在本实施例中,根据请求类第一连接类型,对同步实体数据进行对应的pb结构解析。如果是书签同步数据,解析得到书签文件夹id和名称字段,具体书签链接、标题、图标、所在文件夹、时间戳等字段;如果是页面跳转同步数据,解析得到时间戳、链接、隐藏属性、标题等字段;如果是表单同步数据,将解析得到表单所需填充的对应数据。
207、解析反馈数据中的反馈字符串,判断反馈字符串中是否包含加密的标识;
在本实施例中,根据解析的字段名是否含有加密的标识或者需要解析的数据是否是敏感的密码信息,进而判断执行流程。
208、若不是加密数据,则提取反馈数据中数据提取请求对应的目标数据;
本实施例类似于第一个实施例,请参考第一个实施例,在此不做赘述。
209、若是加密数据,则构建连接Chrome浏览器的第二protobuf序列化数据,在第二protobuf数据中DataTypeProgressMarker字段设置第二连接类型名称对应的密钥引导信息,生成初步protobuf数据;
在本实施例中,构建连接到服务器消息的第二protobuf序列化数据,在DataTypeProgressMarker字段中设置密钥引导信息的第二连接类型名称。在NigoriSpecifics字段中设置需要请求得到encryption_key,构成初步protobuf数据发送至服务器。
210、在初步protobuf数据中的NigoriSpecifics字段中设置需要请求得到encryption_key,生成密钥请求信息;
在本实施例中,将接收的响应数据读取到字符串中,解析后能得到NigoriSpecifics同步实体数据。密钥引导信息同步实体数据中含有encryption_key解密密钥库的密钥数据和加密的encryption_keybag密钥库信息,根据字段将其解析并保存,生成密钥请求信息。
211、将密钥请求信息发送至Chrome服务器中,接收Chrome服务器的第二响应数据,对第二响应数据使用第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
本实施例类似于第一个实施例,请参考第一个实施例,在此不做赘述。
212、解析密钥引导信息,得到密钥库数据,以及基于密钥库数据中的密钥解析反馈数据,得到数据提取请求对应的目标数据。
本实施例类似于第一个实施例,请参考第一个实施例,在此不做赘述。
在本发明实施例中,通过更改传输协议对Chrome服务器请求身份令牌对应的用户浏览器数据,并通过带有解密传输请求的访问Chrome服务器得到解密响应数据,基于protobuf反序列化解析处理,实现了对用户浏览器数据解析和同步转移,解决了Chrome浏览器数据难以迁移其他浏览器的技术问题。
请参阅图3,本发明实施例中Chrome浏览器的数据提取方法的第三个实施例包括:
301、根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;
302、将预置动态令牌与数据提取请求发送至预置Chrome服务器,接收Chrome服务器发送的第一响应数据,对第一响应数据使用第一连接类型名称对应pb结构解析处理,得到反馈数据;
303、解析反馈数据,判断反馈数据是否为加密数据;
304、若不是加密数据,则提取反馈数据中数据提取请求对应的目标数据;
305、若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置第二protobuf序列化数据中的参数,生成密钥请求信息;
306、将密钥请求信息发送至Chrome服务器中,接收Chrome服务器的第二响应数据,对第二响应数据使用第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
301-306实施例类似于第一个实施例,请参考第一个实施例,在此不做赘述。
307、抓取密钥引导信息中的密钥信息块,对密钥信息块数据进行base64解密处理,得到第一密钥文本;
在本实施例中,取得解析得到的密钥库信息中包含的解密密钥库的密钥信息块,并把块数据进行base64解密获得第一密钥文本。
308、对第一密钥文本进行字符串追加处理,得到第二密钥文本;
在本实施例中,将初始化的username和hostname生成salt_password,具体方式是,将username的长度以大端序为前,追加username具体字符串信息,后同样以这种方式将hostname追加至字符串,生成第二密钥文本。
309、对第二密钥文本进行初始化处理,得到第三次密钥文本;
在本实施例中,通过salt_password和初始化salt值,使用HMAC_SHA1算法,计算得到user_salt,作为用户keybag密钥包所需要第三次密钥文本。
310、对第一密钥文本、第二密钥文本、第三密钥文本进行组合分析处理,得到密钥库数据;
在本实施例中,解析生成第一密钥文本、第二密钥文本、第三密钥文本组成keybag,用于解密密钥库信息块的密钥。具体解密流程如下,将需要解密的密钥库信息块经过base64转换得到密文;其中密文分为三个部分,前16个字节用于解密的偏移值IV,后32位是用于验证的HASH值,中间是则是需要解密的密文文本;解密时使用带偏移值的EVP_AES算法,具***数由密钥包中encryption_key的字节长度决定,解密后获取明文文本。将解密后的明文文本,经过NigoriKeyBag结构的protobuf反序列化处理,得到一个或多个由user_key、encryption_key和mac_key组成keybag密钥包结合的密钥库数据,用于后续的解密操作。
311、将密钥库数据中的第一个密钥包确定为特定密钥包;
在本实施例中,上述中获取到密钥库信息,取密钥库中的第一个密钥包作为下面解密的keybag。
312、对反馈数据进行Base64转换处理,得到初始解密数据;
在本实施例中,取得需要解密信息的数据库,将数据块通过base64转换得到密文。
313、将初始解密数据使用特定密钥包进行AES解密处理,得到明文文本;
在本实施例中,同样密文也分为三部分,取中间需要解密的部分,使用keybag密钥包对其进行AES解密,获取解密后的明文文本。
314、对明文文本使用PsswordSpecificsData结构的protobuf反序列化解析处理,得到数据提取请求对应的目标数据。
在本实施例中,将明文文本经过PasswordSpecificsData结构的protobuf反序列化解析处理,得到需要的username_value、password_value、ssl_valid、date_created等数据提取请求对应的目标数据,最终完成解密过程。
在本发明实施例中,通过更改传输协议对Chrome服务器请求身份令牌对应的用户浏览器数据,并通过带有解密传输请求的访问Chrome服务器得到解密响应数据,基于protobuf反序列化解析处理,实现了对用户浏览器数据解析和同步转移,解决了Chrome浏览器数据难以迁移其他浏览器的技术问题。
上面对本发明实施例中Chrome浏览器的数据提取方法进行了描述,下面对本发明实施例中Chrome浏览器的数据提取装置进行描述,请参阅图4,本发明实施例中Chrome浏览器的数据提取装置一个实施例包括:
第一生成模块401,用于根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;
第一发送模块402,用于将预置动态令牌与所述数据提取请求发送至预置Chrome服务器,接收所述Chrome服务器发送的第一响应数据,对所述第一响应数据使用所述第一连接类型名称对应pb结构解析处理,得到反馈数据;
判断模块403,用于解析所述反馈数据,判断所述反馈数据是否为加密数据;
提取模块404,用于若不是加密数据,则提取所述反馈数据中所述数据提取请求对应的目标数据;
第二生成模块405,用于若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置所述第二protobuf序列化数据中的参数,生成密钥请求信息;
第一解析模块406,用于将所述密钥请求信息发送至所述Chrome服务器中,接收所述Chrome服务器的第二响应数据,对所述第二响应数据使用所述第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
第二解析模块407,用于解析所述密钥引导信息,得到密钥库数据,以及基于所述密钥库数据中的密钥解析所述反馈数据,得到所述数据提取请求对应的目标数据。
在本发明实施例中,通过更改传输协议对Chrome服务器请求身份令牌对应的用户浏览器数据,并通过带有解密传输请求的访问Chrome服务器得到解密响应数据,基于protobuf反序列化解析处理,实现了对用户浏览器数据解析和同步转移,解决了Chrome浏览器数据难以迁移其他浏览器的技术问题。
请参阅图5,本发明实施例中Chrome浏览器的数据提取装置的另一个实施例包括:
第一生成模块401,用于根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;
第一发送模块402,用于将预置动态令牌与所述数据提取请求发送至预置Chrome服务器,接收所述Chrome服务器发送的第一响应数据,对所述第一响应数据使用所述第一连接类型名称对应pb结构解析处理,得到反馈数据;
判断模块403,用于解析所述反馈数据,判断所述反馈数据是否为加密数据;
提取模块404,用于若不是加密数据,则提取所述反馈数据中所述数据提取请求对应的目标数据;
第二生成模块405,用于若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置所述第二protobuf序列化数据中的参数,生成密钥请求信息;
第一解析模块406,用于将所述密钥请求信息发送至所述Chrome服务器中,接收所述Chrome服务器的第二响应数据,对所述第二响应数据使用所述第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
第二解析模块407,用于解析所述密钥引导信息,得到密钥库数据,以及基于所述密钥库数据中的密钥解析所述反馈数据,得到所述数据提取请求对应的目标数据。
其中,所述第一生成模块401具体用于:
构建连接预置Chrome服务器的第一protobuf序列化数据;
设置所述第一protobuf序列化数据对应的第一连接类型名称的参数,生成数据提取请求。
其中,所述第一发送模块402包括:
修正单元4021,用于根据预置Google Chrome同步协议构建HTTP POST请求,根据预置动态令牌与所述数据提取请求,调整所述HTTP POST请求的参数,生成修正HTTP POST请求;
发送接收单元4022,用于将所述修正HTTP POST请求发送至预置Chrome服务器中,接收所述Chrome服务器发送的第一响应数据;
反序列解析单元4023,用于读取所述第一响应数据的第一字符串,使用ClientToServerResponse对所述第一字符串进行protobuf反序列化解析处理,得到同步实体数据;
结构解析单元4024,用于对所述同步实体数据进行所述第一连接类型对应的pb结构解析处理,得到反馈数据。
其中,所述判断模块403具体用于:
解析所述反馈数据中的反馈字符串,判断所述反馈字符串中是否包含加密的标识。
其中,所述第二生成模块405具体用于:
建连接所述Chrome浏览器的第二protobuf序列化数据,在所述第二protobuf数据中DataTypeProgressMarker字段设置所述第二连接类型名称对应的密钥引导信息,生成初步protobuf数据;
在所述初步protobuf数据中的NigoriSpecifics字段中设置需要请求得到encryption_key,生成密钥请求信息。
其中,所述第二解析模块407具体用于:
抓取所述密钥引导信息中的密钥信息块,对所述密钥信息块数据进行base64解密处理,得到第一密钥文本;
对所述第一密钥文本进行字符串追加处理,得到第二密钥文本;
对所述第二密钥文本进行初始化处理,得到第三次密钥文本;
对所述第一密钥文本、所述第二密钥文本、所述第三密钥文本进行组合分析处理,得到密钥库数据。
其中,所述第二解析模块407还可以具体用于:
将所述密钥库数据中的第一个密钥包确定为特定密钥包;
对所述反馈数据进行Base64转换处理,得到初始解密数据;
将所述初始解密数据使用所述特定密钥包进行AES解密处理,得到明文文本;
对所述明文文本使用PsswordSpecificsData结构的protobuf反序列化解析处理,得到所述数据提取请求对应的目标数据。
在本发明实施例中,通过更改传输协议对Chrome服务器请求身份令牌对应的用户浏览器数据,并通过带有解密传输请求的访问Chrome服务器得到解密响应数据,基于protobuf反序列化解析处理,实现了对用户浏览器数据解析和同步转移,解决了Chrome浏览器数据难以迁移其他浏览器的技术问题。
上面图4和图5从模块化功能实体的角度对本发明实施例中的Chrome浏览器的数据提取装置进行详细描述,下面从硬件处理的角度对本发明实施例中Chrome浏览器的数据提取设备进行详细描述。
图6是本发明实施例提供的一种Chrome浏览器的数据提取设备的结构示意图,该Chrome浏览器的数据提取设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)610(例如,一个或一个以上处理器)和存储器620,一个或一个以上存储应用程序633或数据632的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器620和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对Chrome浏览器的数据提取设备600中的一系列指令操作。更进一步地,处理器610可以设置为与存储介质630通信,在Chrome浏览器的数据提取设备600上执行存储介质630中的一系列指令操作。
基于Chrome浏览器的数据提取设备600还可以包括一个或一个以上电源640,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口660,和/或,一个或一个以上操作***631,例如Windows Serve,Mac OSX,Unix,Linux,FreeBSD等等。本领域技术人员可以理解,图6示出的chrome浏览器的数据提取设备结构并不构成对基于Chrome浏览器的数据提取设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供一种计算机可读存储介质,该计算机可读存储介质可以为非易失性计算机可读存储介质,该计算机可读存储介质也可以为易失性计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在计算机上运行时,使得计算机执行所述Chrome浏览器的数据提取方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***或装置、单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种Chrome浏览器的数据提取方法,其特征在于,包括步骤:
根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;
将预置动态令牌与所述数据提取请求发送至预置Chrome服务器,接收所述Chrome服务器发送的第一响应数据,对所述第一响应数据使用所述第一连接类型名称对应pb结构解析处理,得到反馈数据;
解析所述反馈数据,判断所述反馈数据是否为加密数据;
若不是加密数据,则提取所述反馈数据中所述数据提取请求对应的目标数据;
若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置所述第二protobuf序列化数据中的参数,生成密钥请求信息;
将所述密钥请求信息发送至所述Chrome服务器中,接收所述Chrome服务器的第二响应数据,对所述第二响应数据使用所述第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
解析所述密钥引导信息,得到密钥库数据,以及基于所述密钥库数据中的密钥解析所述反馈数据,得到所述数据提取请求对应的目标数据。
2.根据权利要求1所述的Chrome浏览器的数据提取方法,其特征在于,所述根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求包括:
构建连接预置Chrome服务器的第一protobuf序列化数据;
设置所述第一protobuf序列化数据对应的第一连接类型名称的参数,生成数据提取请求。
3.根据权利要求1所述的Chrome浏览器的数据提取方法,其特征在于,所述将预置动态令牌与所述数据提取请求发送至预置Chrome服务器,接收所述Chrome服务器发送的第一响应数据,对所述第一响应数据使用所述第一连接类型名称对应pb结构解析处理,得到反馈数据包括:
根据预置Google Chrome同步协议构建HTTP POST请求,根据预置动态令牌与所述数据提取请求,调整所述HTTP POST请求的参数,生成修正HTTP POST请求;
将所述修正HTTP POST请求发送至预置Chrome服务器中,接收所述Chrome服务器发送的第一响应数据;
读取所述第一响应数据的第一字符串,使用ClientToServerResponse对所述第一字符串进行protobuf反序列化解析处理,得到同步实体数据;
对所述同步实体数据进行所述第一连接类型对应的pb结构解析处理,得到反馈数据。
4.根据权利要求1所述的Chrome浏览器的数据提取方法,其特征在于,所述解析所述反馈数据,判断所述反馈数据是否为加密数据包括:
解析所述反馈数据中的反馈字符串,判断所述反馈字符串中是否包含加密的标识。
5.根据权利要求1所述的Chrome浏览器的数据提取方法,其特征在于,所述构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置所述第二protobuf序列化数据中的参数,生成密钥请求信息包括:
构建连接所述Chrome浏览器的第二protobuf序列化数据,在所述第二protobuf序列化数据中DataTypeProgressMarker字段设置所述第二连接类型名称对应的密钥引导信息,生成初步protobuf数据;
在所述初步protobuf数据中的NigoriSpecifics字段中设置需要请求得到encryption_key,生成密钥请求信息。
6.根据权利要求1所述的Chrome浏览器的数据提取方法,其特征在于,所述解析所述密钥引导信息,得到密钥库数据包括:
抓取所述密钥引导信息中的密钥信息块,对所述密钥信息块数据进行base64解密处理,得到第一密钥文本;
对所述第一密钥文本进行字符串追加处理,得到第二密钥文本;
对所述第二密钥文本进行初始化处理,得到第三密钥文本;
对所述第一密钥文本、所述第二密钥文本、所述第三密钥文本进行组合分析处理,得到密钥库数据。
7.根据权利要求1所述的Chrome浏览器的数据提取方法,其特征在于,所述基于所述密钥库数据中的密钥解析所述反馈数据,得到所述数据提取请求对应的目标数据包括:
将所述密钥库数据中的第一个密钥包确定为特定密钥包;
对所述反馈数据进行Base64转换处理,得到初始解密数据;
将所述初始解密数据使用所述特定密钥包进行AES解密处理,得到明文文本;
对所述明文文本使用PsswordSpecificsData结构的protobuf反序列化解析处理,得到所述数据提取请求对应的目标数据。
8.一种Chrome浏览器的数据提取装置,其特征在于,所述Chrome浏览器的数据提取装置包括:
第一生成模块,用于根据预置第一连接类型名称对应的第一protobuf序列化数据,生成数据提取请求;
第一发送模块,用于将预置动态令牌与所述数据提取请求发送至预置Chrome服务器,接收所述Chrome服务器发送的第一响应数据,对所述第一响应数据使用所述第一连接类型名称对应pb结构解析处理,得到反馈数据;
判断模块,用于解析所述反馈数据,判断所述反馈数据是否为加密数据;
提取模块,用于若不是加密数据,则提取所述反馈数据中所述数据提取请求对应的目标数据;
第二生成模块,用于若是加密数据,则构建以预置第二连接类型名称为密钥引导信息的第二protobuf序列化数据,并设置所述第二protobuf序列化数据中的参数,生成密钥请求信息;
第一解析模块,用于将所述密钥请求信息发送至所述Chrome服务器中,接收所述Chrome服务器的第二响应数据,对所述第二响应数据使用所述第二连接类型名称对应pb结构解析处理,得到密钥引导信息;
第二解析模块,用于解析所述密钥引导信息,得到密钥库数据,以及基于所述密钥库数据中的密钥解析所述反馈数据,得到所述数据提取请求对应的目标数据。
9.一种Chrome浏览器的数据提取设备,其特征在于,所述Chrome浏览器的数据提取设备包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;
所述至少一个处理器调用所述存储器中的所述指令,以使得所述Chrome浏览器的数据提取设备执行如权利要求1-7中任一项所述的Chrome浏览器的数据提取方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的Chrome浏览器的数据提取方法。
CN202110343109.5A 2021-03-30 2021-03-30 Chrome浏览器的数据提取方法、装置、设备及存储介质 Active CN112988162B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110343109.5A CN112988162B (zh) 2021-03-30 2021-03-30 Chrome浏览器的数据提取方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110343109.5A CN112988162B (zh) 2021-03-30 2021-03-30 Chrome浏览器的数据提取方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112988162A CN112988162A (zh) 2021-06-18
CN112988162B true CN112988162B (zh) 2022-09-27

Family

ID=76338577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110343109.5A Active CN112988162B (zh) 2021-03-30 2021-03-30 Chrome浏览器的数据提取方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112988162B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115623087B (zh) * 2022-11-21 2023-02-28 飞天诚信科技股份有限公司 一种解析pb格式流通数据的方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984278A (zh) * 2012-12-17 2013-03-20 北京奇虎科技有限公司 实现浏览器数据同步的***和方法
CN103024052A (zh) * 2012-12-17 2013-04-03 北京奇虎科技有限公司 实现浏览器数据同步的***和方法
WO2017117595A1 (en) * 2015-12-31 2017-07-06 Fractal Industries, Inc. Distributed system for large volume deep web data extraction
CN111767086A (zh) * 2019-03-28 2020-10-13 联发科技(新加坡)私人有限公司 一种浏览器数据的迁移方法及设备

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070061312A1 (en) * 2005-08-31 2007-03-15 Matthews Software, Inc. Computer search engine and method for retrieving information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102984278A (zh) * 2012-12-17 2013-03-20 北京奇虎科技有限公司 实现浏览器数据同步的***和方法
CN103024052A (zh) * 2012-12-17 2013-04-03 北京奇虎科技有限公司 实现浏览器数据同步的***和方法
WO2017117595A1 (en) * 2015-12-31 2017-07-06 Fractal Industries, Inc. Distributed system for large volume deep web data extraction
CN111767086A (zh) * 2019-03-28 2020-10-13 联发科技(新加坡)私人有限公司 一种浏览器数据的迁移方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SaaS云服务数据自动化提取与安全监测技术研究与实现;李郭昌;《中国优秀硕士学位论文全文数据库信息科技辑》;20181115(第11期);I139-58 *

Also Published As

Publication number Publication date
CN112988162A (zh) 2021-06-18

Similar Documents

Publication Publication Date Title
US11252140B2 (en) Systems and methods for securely calling APIs on an API gateway from applications needing first party authentication
JP4864289B2 (ja) ネットワークユーザ認証システムおよび方法
CN104869127B (zh) 一种网站登录方法、扫码客户端及服务器
CN109710533A (zh) 一种接口测试方法、装置及服务器
CN110808840B (zh) 业务处理方法及装置、电子设备、存储介质
CN106681921B (zh) 数据参数化的实现方法和装置
CN108040065A (zh) 网页跳转后的免登录方法、装置、计算机设备和存储介质
CN104468843A (zh) 一种文件上传方法及装置
CN106685973A (zh) 记住登录信息的方法及装置、登录控制方法及装置
CN103401836A (zh) 一种用于判断网页是否被isp劫持的方法与设备
CN110430065B (zh) 一种应用服务调用方法、装置及***
CN112769801B (zh) 从云服务器提取备份的方法、装置、设备及存储介质
CN108322416A (zh) 一种安全认证实现方法、装置及***
CN105897746A (zh) 一种跨网站登录方法、终端及网站服务器
CN112749182B (zh) 代理访问Oracle数据库的方法、审计终端、装置及计算机可读存储介质
CN112988162B (zh) Chrome浏览器的数据提取方法、装置、设备及存储介质
CN113783867B (zh) 一种请求认证方法及终端
CN115543479A (zh) 一种适用于动态参数的接口调用解析方法及装置
Vasileios Grammatopoulos et al. A web tool for analyzing FIDO2/WebAuthn Requests and Responses
CN111770072A (zh) 一种单点登录接入功能页面的方法和装置
CN108650243A (zh) 连接建立方法、***、设备及计算机可读存储介质
CN112671796B (zh) Google Driver云服务的认证获取方法、装置、设备及存储介质
CN111695098A (zh) 多分布式集群访问方法及装置
CN110020246B (zh) 一种终端的标识信息生成方法及相关设备
CN116015739A (zh) 前后端数据交互方法、装置、服务器及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Patentee after: Shenzhen Ruan Niu Technology Group Co.,Ltd.

Address before: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000

Patentee before: AFIRSTSOFT CO.,LTD.

CP01 Change in the name or title of a patent holder