浅析前端加密后数据包的修改方法

栏目: IT技术 · 发布时间: 4年前

内容简介:渗透测试过程中,使用BurpSuite对Web站点进行数据包拦截时,有时会遇到应用程序在前端对数据进行了加密后再传输,导致拦截或监听到的数据包为密文的形式。如下图所示。

*严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。

前言

渗透测试过程中,使用BurpSuite对Web站点进行数据包拦截时,有时会遇到应用程序在前端对数据进行了加密后再传输,导致拦截或监听到的数据包为密文的形式。

如下图所示。

浅析前端加密后数据包的修改方法

此时,我们如何对数据包进行修改,从而进行正常的渗透测试流程呢?

要做到对前端加密数据的修改,有两种思路:

(1)从网站的前端JS代码中查找加密函数,有些站点的加密方式较为简单,通过审计前端JS逻辑代码可以直接破解,从而对密文进行解密后做修改,最后再重新加密并发送;

(2)中断程序的执行,直接在前端JS代码对明文数据进行加密前,对明文数据进行更改。

显然,第二种思路更具有通用性,本文将介绍两种实现该思路的方法。

前端断点拦截

1、来看看本次测试的站点和功能,为某支付平台的交易记录查询功能:

浅析前端加密后数据包的修改方法

2、首先,从前端JS代码找到该站点的加密函数所在的位置,如下图所示:

浅析前端加密后数据包的修改方法

3、接着,在该语句设置断点,然后执行程序,如果加密函数寻找正确,那么程序将暂定在该行代码处:

浅析前端加密后数据包的修改方法

4、程序跳转到执行下一行代码,发现查询请求包的明文数据k,如下图所示:

浅析前端加密后数据包的修改方法

5、切换到控制台,输入k,控制台将打印k的值,如下图所示:

浅析前端加密后数据包的修改方法

6、接着关键操作!直接在控制台输入“k=XXXXX”的命令替换掉k的值(此处替换掉查询的卡号,尝试进行越权查询测试),如下图所示:

浅析前端加密后数据包的修改方法

7、最后,取消断点,放行程序,发现查询的卡号成功被篡改,同时越权查询失败,如下图所示:

浅析前端加密后数据包的修改方法

小结

至此,借助F12开发者 工具 的断点调试功能,我们成功实现了对采用前端加密的站点的数据包篡改。

JS脚本替换

下面介绍第二种方法,借助Fiddler抓包工具,实现对前端加密站点的JS脚本替换,从而达到任意篡改数据包的目的。

1、首先,将包含加密函数的在线JS脚本文件通过点击鼠标右键,下载保存到本地,如下图所示:

浅析前端加密后数据包的修改方法

2、在加密函数encryptstring: function (k, g) 中添加JS代码,替换查询请求包中的卡号,如下图所示:

浅析前端加密后数据包的修改方法

3、接下来打开Fiddler,捕获加密函数所在的JS文件的请求,并将其拖入到右侧AutoResponder模块里,如下图所示:

浅析前端加密后数据包的修改方法

4、进入AutoResponder模块,勾选以下选项并添加自动替换规则,将本地编辑的JS代码替换用于在线加密的JS代码,如下图所示:

浅析前端加密后数据包的修改方法

5、刷新该站点,点击该功能模块,其前端JS代码将被我们本地编辑过的JS代码替换,来看下效果:

浅析前端加密后数据包的修改方法

浅析前端加密后数据包的修改方法

小结

至此,我们借助Fiddler的AutoResponder模块模块实现了对采用了前端加密的站点的请求包的篡改。

总结

本文讲述的两种方法,断点调试虽然比JS脚本代码替换简便,但是JS脚本代码替换的方法可以实现的功能更为强大,测试人员可根据实际的需求,选择合适的测试方法。

*本文原创作者:True521,本文属于FreeBuf原创奖励计划,未经许可禁止转载


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

计算机组成(第 6 版)

计算机组成(第 6 版)

Andrew S. Tanenbaum、Todd Austin / 刘卫东、宋佳兴 / 机械工业出版社 / 2014-8-19 / CNY 99.00

本书采用结构化方法来介绍计算机系统,书的内容完全建立在“计算机是由层次结构组成的,每层完成规定的功能”这一概念之上。作者对本版进行了彻底的更新,以反映当今最重要的计算机技术以及计算机组成和体系结构方面的最新进展。书中详细讨论了数字逻辑层、微体系结构层、指令系统层、操作系统层和汇编语言层,并涵盖了并行体系结构的内容,而且每一章结尾都配有丰富的习题。本书适合作为计算机专业本科生计算机组成与结构课程的教......一起来看看 《计算机组成(第 6 版)》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

html转js在线工具
html转js在线工具

html转js在线工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换