远程命令注入:

在lib中插入特定代码,调用lib时会执行代码,主要用于cs系统,例如绕过激活功能

路径遍历:

利用web服务文件交换功能,直接获取文件

例如:​​http://www.xxx.com/getfile=image.jgp​​​​

防御:过滤特殊字符(../)、目录权限控制

sql注入:

例如输入name="abc" or 1=1绕过认证,

防御:mybatis使用#,过滤用户输入敏感字(or、引号等)

CRLF攻击:

利用CRLF字符(%0d%0a)拆分http请求响应

fastjson反序列化漏洞:

利用反射原理,在字符串中插入自定义构造函数,反序列化时自定义函数会被执行

XXS跨站脚本攻击:

通过修改js文件,插入恶意代码,例如将cookie发送给三方服务。

防御:不信任用户提交、替换请求特殊符号(<>"等)、session标记对话、cookie防盗(避免cookies存放敏感信息)

前端未授权、弱鉴权访问后端接口

使用burpsuite.工具修改接口请求,检查后台是否以cookie中前端以弱鉴权的方式访问后台

接口的UM-USER等容易篡改的id作为鉴权依据。

(标准的鉴权参数有: JSESSIONID, ARKSESSION, JWT、token)

水平越权访问其他用户信息

垂直越权访问管理员接口

微服务间调用鉴权

黑白名单(IP、服务名)、网关鉴权

接口返回用户敏感信息、日志记录返回敏感信息

不可逆:sha1>md5

对称:AES>DES

非对称:RSA,公钥加密、私钥解密,私钥签名、公钥验签

文件上传下载

对下载路径进行判断,防止../等越权攻击

外网接口安全

信息安全:https、接口字段加密签名

DDOS:封IP、增加服务器tps

服务器劫持

安全问题:

中间人伪造公钥

解决方案:

客户端拿到公钥后通过hash获取摘要,和CA进行对比,如果一致才会信任公钥

服务端需要提供whois、域名管理邮箱等才能通过CA拿到私钥

把DNS、CA、服务端信息都拿到才能伪造攻击,或者伪造CA根证书

会话安全测试:

1.用户退出登录时后台应清除会话,可以使用burpsuite重发会话安全测试登录前抓取的报文进行验证。

2.用户登录后30分钟内无操作,后台应清除本次会话,禁止无操作长时间保持会话状态。

使用burpsuite抓包后删除接口请求携带的认证信息(如前端未经授权直接访问后台接口cookie或者token等),重新发送请求检查后台是否进行了


时间会记录下一切。