WEB应用程序安全检查列表
检查页面隐藏或丢失的内容
检查webserver元数据文件,如:robots.txt, sitemap.xml,.DS_Store, .htaccess
检查搜索功能可能的注入或攻击方式
检查不同agent代理访问网站显示内容的是否一致
检查页面headers信息与页面注释是否泄露项目核心信息
检查应用程序当前使用的框架版本与对应的更新与bugLists
检查应用程序的执行性能
明确当前应用程序使用的技术栈(用于确实被攻击的类型和方式)
明确当前应用程序的主入口
过滤所有表单的输入检查,包括请求的类型与请求的参数
明确移动端与PC端业务的关联性(用于确定业务的欺骗的类型与方式)
检查与服务器标识(如服务器版本,服务器类型)
检查与当前应用程序关联的其他业务应用,如Iframe有嵌入的三方应用(通过设置content-security-policy )
检查应用程序在不同主机名和不同商品的情况下访问的情况(用于保证不向外泄露应用程序的核心信息)
检查第三库的版本以及对应的bugLists
检查服务器根域名与子域名的主页访问情况,如是否有404,502
检查4xx,5xx的情况下应用程序的指向
对重要的应用程序api接口做白名单处理,如域名,请求方式,跨站配置
检查客户端修改非正常文件扩展的请求情况,用于验证如,shell攻击
如果应用程序是使用Https部署的,则还需要检查整个应用程序的请求是否都是Https的请求(用于确定请求资源的有效性,因为有的情况下会出现丢失资源情况,那是因为https的安全策略造成的[blok model])
如果移动端应用且使用了,如ionic,react-native等时,还需要检查content-security-policy(用于保证资源能够被顺利访问,如有的情况下data://这种动态处理的数据不能够正常处理)
如果使用第三方服务如七牛云,cdn等,则还需要检查客户端token(API KEYS,credentials)的有效性与安全性
服务端需要检查ssl版本,对应的算法与keys的长度
检查数字证书的有效性,如有效期,证书标识等
检查统计各应用的跨域访问的情况
检测后端服务API的请求情况(压力测试)
cookie的安全检查,如设置httpOnly,secure,作用的域名与路径,有效期
检查用户退出后的session处理情况(验证用户正常退出后是否还能正常访问认证资源)
检查与防范csrf和clickjacking(特别注意有使用Iframe的情况)攻击
检查两个不同类型的正常用户登录后显示各自用户数据的情况(验证是否有共用数据的情况,如基金信息在组件刚加载的时候被缓存在本地中,但由于没有添加用户类型或用户唯一标识而导致的共用数据的情况,这种情况必须多加以关注)
检查在用户没有登录的情况下,通过输入url地址的情况访问用户认证数据的(如http://www.domain.com/user/ce...
强制用户在2-3个月内做用户口令的修改,同时更新用户的salt值
检查应用程序的资源类型,如:html Injection, SQL Injection, ORM Injection, XML Injection, SSL Injection, XPath Injection , IMAP/STMP Injection, Code Injection, Command Injection, NoSQL Injection 这些情况
检查非正常访问的文件名,需要对其encoding,如:%3Bcat%20/etc/passwd(%3B会变成一个分号,所以将会运行多条系统命令)
检查离线访问的情况
检查大数据的验证情况,如很大的数字(在正则验证情况下特别糟糕,([a-zA-Z]+)*, (a+)+ 或 (a|a?)+在如aaaaaaaaaaaaaaaaaaaaaaaa!)
对于提供资源展示性的应用,防止爬虫的行为可以设置rate-limit, 同时为了区别人机操作添加验证适中的图形验证码操作
安全性相关的HTTP头:
Strict-Transport-Security
X-Frame-Options
X-XSS-Protection
X-Content-Type-Options
Content-Security-Policy
来源:https://segmentfault.com/a/1190000014001748
作者:mntx
本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!