随着业务的需要,大数据项目以及大型项目业务越来越多的研发上线,网络知识的普及和频发的安全事件也使客户及业务方对网络安全性要求越来越高,安全测试除了常规的白盒自动化代码扫描外,很多功能、逻辑判断上的安全隐患在目前是无法很清晰的做到自动化分析,这个时候需要一定黑盒及手工方法来做深入的安全测试。好多企业不想为安全买单……,但是码代码的你会考虑基本的安全吗?
1、数据的报表呈现
那么这个功能和模块我根据个人经验可能偏重于水平权限等越权操作类的安全测试,相对于此类页面多数的XSS根据个人经验更多是selfxss综合利用场景和效果危害偏小,我会降低此类页面XSS漏洞的投入成本
2、登录页面
①这个功能上那么XSS就显示的较为高危了,利用场景较多钓鱼伪造登陆页面等等;
②是否有防爆破(撞库)的风控机制,例如验证码及密码错误次数限制;
③密码是否明文传输,是否使用https。
3、选购、支付页面
①csrf,恶意添加删除购物车货品对用户造成经济损失。
②支付逻辑,要检查支付或扣费是否只在前端进行了计算而服务端并没有效验。
4、控制台
①水平权限。这个漏洞在云项目控制台类页面较为常见,遍历用户或者业务ID等方法可以进行越权查看及操作。
②csrf。如果用户遭受类似APT等针对性的攻击,攻击者可能会通过csrf导致用户进行添加删除等高危操作。
5、其他
在大型项目中很多集成了沙箱、容器、虚机;在线执行数据库语句 python shell等等高级功能,用户体验非常好,但是同样风险问题很多,目前普遍是在沙箱或者容器中使用低权非root账号,来防止沙箱或者容器虚机遭到破坏,其实在操作系统中是存在很多系统溢出造成的提权漏洞可以将低权限账号提权为管理员权限。例如:在测试中要注意发现是否可以使用wget ftp 等等类似下载的命令及方法,用户是否可以执行任意shell脚本,是否对网络访问没有进行限制等等避免用户私自下载提权exp至容器或虚机中进行提权操作。
还有一点在线预览以及一些与xml相关的业务要手工测试是否存在XXE安全漏洞及逻辑漏洞,如果出现这种漏洞程序员是该拉出去祭天还是测试应该?
去你们网站,随便找一个传ID进去的接口,然后Cope as cURL,放到Linux命令行,换一下ID,看一下能请求到数据不?
然后再写一个循环,试一下……
希望每个小伙伴告别理想化编程,做一个有安全意识的工程师!周末愉快!
你对安全重视吗?