公司的 app 需要增加支付功能,以前从来没接触过支付方面的功能,希望大家能指点迷津,特别是安全方面,需要测哪些东西?
测试数据的本地存储、网络传输,还有支付涉及到客户端、服务端多方的数据一致性
#1 楼 @chichimei 顶妹纸
关注,虽然没接触过,但是对这个问题比较感兴趣:怎么应对反编译得到的请求伪造法?
是不是我来回答。。= =
是整个支付系统吗?
只是一些思路了,整体的还很多的。
钱和交易状态是关键。
支付超时。。
重试(通知)。。
重复支付。。
支付账号非下单账号。。
未登录支付。。
支付失败。。
另外,你支付接入的渠道,银联,支付宝扫码,支付宝 sdk,微信 SDK 等等。。
要用 Fiddler 修改报文,或 DevTools 找 JS 打断点,改数据库。
另外,你们设计网关不?
楼主抛个问题,底下的人回答的很认真,那希望楼主能整理下,做个汇总贴。其他人别跟着水了。
我听过的这些
嗯。这事儿吧。我说实话,安全和测试不同。就算我说了,不见得很多人不会做,我自己也都不见得会做。不过我这边提一句的是,只要不是你们自己做的支付的话,调用别人的 sdk,你们也管不了那么多的问题,更不要特安全了。
分享两部分吧。
SQL 注入
正则注入
日志注入
XSS 注入
跨站请求伪造(CSRF)
数据篡改
垂直权限风险
校验绕过风险
水平权限风险
权限遗漏风险
使用 BurpSuite
可以先看看我写的几篇
iOS 微信最新版本 信息都是明文的!!!
移动安全第一贴之 ContentProvider
内部存储
Shared Preferences
File
创建模式
存储方式
外部存储
SD Card
SD 卡加载 APK/JAR/DEX
数据存储原则
不存明文密码
时效性
加密 (永恒的攻防对抗)
打破沙箱机制,内部存储、外部存储数据均可被外部应用程序访问。
SQL 注入
数据库文件的加密存储
移动相关的各种日志信息
敏感数据 HTTPS 传输
客户端 HTTP 接口设计要素防重放
防篡改
防劫持
Activity 劫持
Activity 活动栈劫持
隐式 Intent 劫持
Service 劫持
隐式 Intent 劫持 (随机启动)
Broadcast 窃听
查看 Menifest 注册一个 Receiver,接收其他应用程序的广播;
有序广播中注册高优先级,截取广播信息:恶意软件的短信拦截
反编译
注入代码
基本上这样吧。。。我写的很简单。大家看着玩玩就好。最近我也在做静态代码的内存泄漏分析,也是有所成,之后做个简单的帖子总结总结吧。lz 对于答案还满意么。。= =
是的, 赞 Monkey,安全和测试完全是两码事儿。
安全是个大课题,android 安全建议阅读《android 软件安全与逆向分析》ios 就是《iOS 应用逆向工程》。
但是如果你们的产品只是调用别人的 sdk 的话,涉及不到那么多安全的东西,只要保证你的支付业务逻辑正确,数据的一致性,密码和账号的数据保护应该就差不多了。
#8 楼 @lihuazhang 一定,等我这个版本完工了,一定要总结分析出来
头像很 nice 安全水很深
#16 楼 @seveniruby =。=。。其实不是妹子么。。。。
#17 楼 @monkey @seveniruby @kasi 机智如我,网上找了个美女图,差点忘了,我真的是妹纸
我只是进来看看,发现近期不是安全就是性能的问题回帖最多啊
先赞一个
#23 楼 @lihuazhang 哈哈哈
呵呵,妹子的头像不能放大。