据软件应用市场的最新数据统计,app数量一直层出不穷,app的安全隐患也接踵而至。需要怎样才能防范于未然,是所有app程序开发者应该考虑的问题。
下面我对自己平时开发的经验和案例分析总结了几种漏洞类型和检测方法,给广大的猿友一些亲身的建议。
1、XSS漏洞
在前端一些可以输入的内容的地方,输入:
然后查看触发,检查对这些语句是否进行了转义处理,如果出现一些弹框之类,那就存在漏洞。
◑栗子:【某某APP】,评论功能存在XSS漏洞
2、SQL注入漏洞
在一些存在查询功能的地方,输入一些字符,查看是否会直接显示SQL错误信息。
◑栗子:【某某系统】
SQL注入检测也可以借助工具,工具名称:sqlmap;比如命令:sqlmap.py -u 目标URL -dbs
3、越权问题
通过抓包获取一些请求包,特别注意包体中含有可遍历的xx_id字段的一些请求;通过修改xx_id重新发送请求,检查是否进行了用户权限控制
◑栗子:【某某APP】,获取用户信息(/fstock.front/fstock/sns/getUserInfo.json),修改user_id ,可获取相应用户的信息
4、敏感信息明文传输漏洞
经常在一些登录、重置密码、交易接口中,通过抓包,检查包体内的敏感信息,是否进行了加密处理。
◑栗子:【某APP】,重置密码请求,手机号和密码明文传输
5、未授权访问漏洞
◑栗子:【某某系统】获取下载的URL,直接访问该URL,可以直接下载文件
APP安全测试检测点>
1、任意账号注册类漏洞
进入注册页面,输入任意未注册的账号等信息,
然后将Burpsuite抓包工具,设置为on模式,进行请求拦截,前端点击发送验码之后,将拦截的包体信息做修改。
2、反编译APK安装包,借助工具jd-gui
3、Apk shared_prefs存储用户凭证文件检查是否明文显示
需要借助adb shell命令查看,操作步骤见文档《monkey test操作手册》
◑栗子:【某某APP】
root@nox:/data/data/XXX包名/shared_prefs # cat pinke_pref.xml
这里介绍的几种漏洞的类型以及检测的方法,更多的还需要在实践中不断地去积累。漏洞检测的目的在于发现漏洞,修补漏洞,进而从根本上提高信息系统的安全性,以致从根本上减少安全事件的发生。
推荐程序员必备微信号
▼