文章目录
- 安全开发
- 身份认证
- Basic Auth
- JWT
- OAuth
- 访问
- DDos攻击
- 中间人攻击
- SSLStrip攻击
- HSTS
- 输入
- 处理
- 输出
- CSRF攻击
- SQL注入攻击
- XSS跨站脚本攻击
安全开发
身份认证
Basic Auth
- 在HTTP中,基本认证(Basic access authentication)是一种用来允许网页浏览器或其他客户端程序在请求时提供用户名和口令形式的身份凭证的一种登录验证方式。
- 缺点
- 客户端和服务器主机之间的连接是安全可信的。如果没有使用SSL/TLS这样的传输层安全的协议,那么以明文传输的密钥和口令很容易被拦截。
- 服务器端在用户不关闭浏览器的情况下,并没有一种有效的方法来让用户注销。
- 优点
- 基本上所有流行的网页浏览器都支持基本认证。
- 基本认证很少在可公开访问的互联网网站上使用,有时候会在小的私有系统中使用(如路由器网页管理接口)。
JWT
- Json web token (JWT), 一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。
- JWT由header、payload和signature三部分组成。
OAuth
- OAuth(开放授权)是一个开放标准,允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容。
访问
DDos攻击
- DDoS 的前身是 DoS(Denail of Service),即拒绝服务攻击,指利用大量的合理请求,来占用过多的目标资源,从而使目标服务无法响应正常请求。
中间人攻击
- 请求被劫持,所有请求都走中间人服务器。
SSLStrip攻击
- SSLStrip是一种针对HTTPS体系实现的攻击方式。
- 基于多数浏览器不会主动请求SSL协议来保护自己与服务器之间的通信,从而不会在浏览器中输入https访问域名。
- 由于http跳转https是通过服务端的302重定向实现的,SSLStrip在客户端接收到跳转信息之前,通过明文HTTP协议去除掉HTTPS跳转的过渡。
HSTS
- HSTS(HTTP Strcit-Transport-Securit)即 HTTP 严格传输安全, 是一种 Web 安全策略机制,可保护网站免受协议降级攻击和 cookie 劫持、中间人攻击。它允许 Web 服务器声明浏览器(或其他符合要求的用户代理)应用使用安全的 HTTPS 连接与交互,而不是通过不安全的 HTTP 协议。
输入
- 用户输入的数据需要安全校验
- 非程序定义的常量需要安全校验,比如从数据库,api接口获取的等
- 等等
处理
- CDN加速
- 等等
输出
- 敏感信息脱敏
- 合理的http响应码
- 报错信息不能直接暴露出去
- 等等
CSRF攻击
- CSRF攻击的全称是跨站请求伪造( cross site request forgery),是一种对网站的恶意利用。
- CSRF则是通过伪装来自受信任用户的请求来利用受信任的网站。
- CSRF攻击:攻击者盗用了你的身份,以你的名义向第三方网站发送恶意请求。
- CRSF能做的事情包括利用你的身份发邮件、发短信、进行交易转账等,甚至盗取你的账号。
SQL注入攻击
- 通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。
XSS跨站脚本攻击
- 跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。