SQL注入

攻击者通过用户可控参数注入SQL语法,破坏原有的SQL语句,执行攻击。

原因:

  1. 编写dao层使用字符串拼接的方式构造sql。
  2. 没有对用户输入参数做校验。

    解决方法

    提前对用户输入做参数校验
    使用prepareStatement

CSRF攻击(跨站请求伪造)

利用用户已有的登陆状态,发起伪造的请求。

过程

  1. 用户已经登陆了网站A,将登陆状态的cookie保存在本地。
  2. 攻击者诱导用户点击恶意网站,

XSS注入

跨站脚本攻击
攻击者通过注入点将payload注入到执行点中。用户访问页面即可能触发执行点,执行注入的脚本。
当服务器对用户保持信赖,接收用户的请求信息,就可能收到来自攻击脚本的请求而直接回应相应的动作。

解决方法