我有一个高度依赖于api响应的移动应用程序,我正在使用charles代理和小提琴手来查看我的应用程序发出的api调用,并且我注意到get api调用之一可以查看所有请求的完整网址参数(可以)和请求标头(包括安全密钥)。
因此,使用这些信息,任何人都可以在移动应用程序外部执行该api。我的应用有数百万用户,如果有人运行脚本来增加流量,也会增加服务器负载。所以有什么办法可以保护或隐藏那些密钥?
我只能想到一种实现方式
应用程序和api上的加密
还有更好的方法吗?
答案 0 :(得分:0)
您可以在应用程序中实现证书或公钥固定(对于叶子或根CA证书)。这使攻击者更难使用代理和拦截HTTPS通信。但是,使用XPosed和SSL取消固定模块仍然可以使用。
请记住,APK文件可以轻松反编译,因此您不必攻击网络流量。
因此,下一步是加强您的应用程序,使其抵抗XPosed或Frida的操纵。请注意,好的强化框架会花费很多钱。通常,提供的保护随着成本的提高而增加。