徐州软件公司_徐州软件开发公司_徐州徐软科技有限公司_徐州ERP软件_徐州OA软件

当前位置 : 首页 > 徐州网络安全技术论坛 > 自建环境绕过App参数签名

自建环境绕过App参数签名

作者:徐州软件公司  文章来源:徐州软件公司   阅读次数:125 次
2018-05-25

此文章是徐州软件公司整理的技术资料,由徐州软件公司总务部发布,邮箱:zongwu@xuzhousoft.com

江苏徐软信息科技有限公司江苏徐软信息科技有限公司

概述

随着智能终端的不断发展,应用数量和app应用种类不断扩大的同时,各类应用安全问题也不断涌现,例如恶意代码注入、发送虚假坐标、刷屏、刷票、用户敏感信息泄露。app在设计开发阶段,需要根据业务场景考虑多种安全策略。比如在数据传输方面,很多app为保证数据的机密性和完整性,会对发送的请求数据做加密和签名处理。那么,作为一名白帽子,又如何绕过这些安全策略呢?今天我们自己搭建坏境测试下。

环境搭建

为了便于演示和测试,我们需要自己搭建一个测试环境,主要分为客户端和服务端的搭建。

app客户端

首先,我们需发一个app的demo,在点击按钮后会发送一个加密请求到服务端,如下图所示:

image.png

在MainActivity中,监听到Button按钮点击后,使用子线程执行http请求。返回信息回调给主进程的webview组件。http请求函数sendRequestWithHttpClient()如下图所示。这里先将原始xml字符串使用aes对称加密,作为post数据。再将加密结果hash运算后与时间戳等因子生成签名signature,signature和因子放在url中供后台服务器校验使用。

image.png

服务端

服务端获取因子和post数据后会重新hash校验,校验通过再使用对称解密获取数据,(这里我将解密后的xml数据重新加密发送给客服端):

image.png

请求

安装demo后,使用burpsuit抓取客户端发送的请求,徐州网络信息安全公司徐州徐软信息科技有限公司可以看到post的是AES加密的数据,url中是因子和signature,如下:

image.png

下图是request body和url中参数的逻辑图形。body是由明文数据aes加密得到,参数l由body hash运算生成,参数s由时间戳和token等因子生成。若改变body或相关参数,服务端将验签失效。

image.png

解密绕过

其实很早之前我写过一篇xposed hook加密函数的方法,请参考https://mp.weixin.qq.com/s/zCGkfrDfCNjBA9qht4MiiQ
所以我们这次使用frida的工具尝试下。

frida

这里我们使用frida去hook app中的加密函数,让其直接post明文数据。
1.首先,需要下载对应版本的fridaserver,建议放在/data/local/tmp目录下,给与权限后执行。(在此之前建议关闭selinux防火墙,使用命令setenforce 0
2.端口转发
adb forward tcp:27042 tcp:27042
adb forward tcp:27043 tcp:27043
使用frida-ps -R出现进程列表则表示没有问题。
3.frida提供了丰富的js api接口,供我们对需要调试的进程进行hook。我们查看需要hook的函数(可以修改该函数接受的参数、函数输出值、覆盖重新定义该函数):

image.png

函数的参数为String类型的明文和String类型的key,我们hook类AESTool中的函数Encrypt(),让其直接输出明文,绕过其加密过程,如下图所示:

image.png

将该js注入到进程中:

image.png

点击app发送请求的按钮,可以看到加密的函数已经被绕过,request body明文显示。但是由于request body被改动,服务端验签将会失败。在安全测试的时候,不能改动请求参数那便如咸鱼一样,xss、sql、越权等漏洞仿佛与你隔着一层难以逾越的鸿沟。所以,我们需要重新构造请求给服务端,最简单的办法就是编写burpsuit的插件。

image.png

burp插件

我们可以利用burpsuit提供的接口实现插件的开发。新建项目,将burpsuit提供的api导入后,新建BurpExtender.java类,重写processHttpMessage()方法。我们将app客户端使用的加密和签名使用的类也导入,根据客户端的加密和签名逻辑,重新构造请求,并将构造的请求打印在后台:

image.png

image.png

使用fat jar exporter将项目导出jar文件,burpsiut中添加插件并勾选插件,重新抓包,查看插件打印的输出,可以看到所又经过burp的请求将被插件重新以app客户端的逻辑构造

image.png

关闭插件,单独发送该请求验证burp插件构造的请求是否可以通过,成功:

image.png

这样测试人员便可以随意修改抓取的数据。同理,服务端返回的数据是加密的,同样可以在插件中解密,不做赘述。

总结

Frida提供的api有很多,这里只是简单的介绍,还值得我们去深入了解。app安全策略还有很多,比如https证书检验、root环境检测等等,同样的道理,很多业务场景需要我们去发挥想象去做一些有趣的事情。

江苏徐软信息科技有限公司(简称徐州软件公司)是徐州软件公司中成立时间最长、技术能力最强、经济实力最雄厚的徐州软件开发公司之一,专业的徐州软件开发团队,从事徐州软件开发10年,一直保持着徐州软件开发行业排头兵的地位。徐州软件公司徐州软件开发行业内的众多徐州软件开发公司保持着良好的合作关系,是徐州软件开发行业的领航者之一。徐州软件公司立足徐州软件开发市场,主攻徐州软件开发徐州APP开发徐州软件公司徐州ERP软件开发徐州OA软件开发徐州CRM软件开发等领域拥有大量经典案例。更多信息请访问徐州软件公司官方网站:

徐软com:http://www.xuzhousoft.com  徐软cn:http://www.xuzhousoft.com.cn
徐软app:http://app.xuzhousoft.com  淮北徐软:http://huaibei.xuzhousoft.com.cn
济宁徐软:http://jining.xuzhousoft.com.cn  亳州徐软:http://bozhou.xuzhousoft.com.cn
菏泽徐软:http://heze.xuzhousoft.com.cn  宿州徐软:http://suzhou.xuzhousoft.com.cn
枣庄徐软:http://zaozhuang.xuzhousoft.com.cn  宿迁徐软:http://suqian.xuzhousoft.com.cn
商丘徐软:http://shangqiu.xuzhousoft.com.cn  连云港徐软:http://lianyungang.xuzhousoft.com.cn
莱芜徐软:http://laiwu.xuzhousoft.com.cn  泰安徐软:http://taian.xuzhousoft.com.cn
日照徐软:http://rizhao.xuzhousoft.com.cn  开封徐软:http://kaifeng.xuzhousoft.com.cn
周口徐软:http://zhoukou.xuzhousoft.com.cn  盐城徐软:http://yancheng.xuzhousoft.com.cn
淮安徐软:http://huaian.xuzhousoft.com.cn  阜阳徐软:http://fuyang.xuzhousoft.com.cn
蚌埠徐软:http://bengbu.xuzhousoft.com.cn  临沂徐软:http://linyi.xuzhousoft.com.cn
邳州徐软:http://pizhou.xuzhousoft.com.cn  新沂徐软:http://xinyi.xuzhousoft.com.cn
沛县徐软:http://peixian.xuzhousoft.com.cn  睢宁徐软:http://suining.xuzhousoft.com.cn
丰县徐软:http://fengxian.xuzhousoft.com.cn  萧县徐软:http://xiaoxian.xuzhousoft.com.cn
砀山徐软:http://dangshan.xuzhousoft.com.cn  微山徐软:http://weishan.xuzhousoft.com.cn
永城徐软:http://yongcheng.xuzhousoft.com.cn  网络营销:http://www.f168yingxiao.com
徐州系统集成公司:http://www.0516app.com

关键字标签:徐州软件公司 徐州软件开发公司 徐州APP软件开发公司 徐州ERP软件开发公司 徐州CRM软件开发公司 徐州OA软件开发公司

下载DOC版 下载PDF版

* 以上内容由 徐州软件公司 整理


关于我们

    江苏徐软信息科技有限公司(简称徐州软件)位于国家大学科技园内,成立于2005年,注册资金1000万元,是徐州地区最具实力的集软件开发、电子商务技术服务、门户网站建设、系统集成、网络工程为一体的高科技IT技术公司之一。

技术支持

  • 售后服务电话:0516-83003411
  • 售后服务QQ:412110939
  • 售后服务邮箱:
    service@xuzhousoft.com
  • 售后投诉电话:18795428064
徐州软件公司
    扫描微信二维码即可获得
    免费信息化咨询服务

Copyright© 2005 江苏徐软信息科技有限公司 All Rights Reserved.
苏公网安备 32030302000144号  苏ICP备11059116号-5

地址:江苏省徐州市云龙区和平路57号江苏师范大学科技园4F  徐州软件公司
电话:0516-83737996 邮箱:sales@xuzhousoft.com

江苏徐软信息科技有限公司地图
江苏徐软信息科技有限公司地图
点这里关闭本窗口
×