暴力破解
- 检测:大量的失败登录尝试日志
- 防御:限制一定时间内的登录尝试次数;后端验证码
命令执行
- 检测:本地命令执行;代码审计
- 防御:限制用户输入;正则匹配过滤;预编译
XSS
- 检测:可输入处进行代码审计
- 防御:对cookie等加入HttpOnly限制;后端异常语句过滤 ;htmlspecialchars将输入中的标签实体化然后以
进行字符串输出
SSRF
- 检测:代码审计;异常用户访问请求;异常请求日志;流量分析
- 防御:禁用file、gopher等不常用函数;仅允许使用http(s)协议;仅允许访问80、443端口;禁止访问未使用到的内网IP
CSRF
- 检测:代码审计;外站post请求
- 防御:敏感行为添加验证;改密码行为需输入原密码;登陆状态自动销毁
SQL注入
- 检测:代码审计;异常用户访问请求;日志中存在大量的构造sql语句
- 防御:预编译;特征码请求过滤;删掉报错回显函数;参数化编译;WAF防御
文件上传
- 检测:代码审计;日志分析;wenshell上传警告;远程命令执行
- 防御:黑名单;白名单;后台随机命名;禁止上传文件的执行权限;检测文件头完整性;检测文件内容
文件包含
- 检测:异常访问请求;日志分析
- 防御:包含范围限制;异常请求过滤;限制访问文件
目录穿越
- 检测:日志分析(日志中含有大量的../请求)
- 防御:关键词过滤;验证用户输入;隔离网站文件和其他文件;限制访问权限
反序列化
- 检测:代码审计;计划任务;异常命令执行
- 防御:升级中间件为最新版本并打补丁;验证用户请求;通过Hook resolveClass来校验反序列化的类
XXE
- 检测:代码审计;异常XML实体请求;异常流量
- 防御:禁止用户提交XML请求;禁止用户提交实体;禁止XML文件含有DTD文件
Redis未授权
- 检测:直接尝试连接;查看keys是否被修改;查看计划任务列表;查看ssh用户列表
- 防御:设置密码;及时清除攻击文件并对其进行分析溯源;禁止公网访问redis端口