1)SQL注入
定义:攻击方提交一段数据库查询代码,获取他想知道的信息。
原因:
对于输入检查不充分,将用户提交的非法数据当作命令来执行;
部分WEB应用采用Jsp+JavaBean或SSH框架,代码中会有直接写SQL(或HQL)语句,而有些SQL是用拼串实现的。
预防措施
2)跨站脚本漏洞(XSS)
定义:攻击方往web页面插入html代码,在用户浏览页面时会执行恶意目的,属于被动攻击。
分类:
持久型XSS(Persistent),与非持久型XSS相反,它是指通过提交恶意数据到服务器,通过Web应用程序输出恶意数据输出到页面,持久型XSS多出现在Web邮箱、BBS、社区等从数据库读出数据的正常页面(比如BBS的某篇帖子中可能就含有恶意代码)
非持久型XSS(Non-persistent),即反射型,它是指那些浏览器每次都要在参数中提交恶意数据才能触发的跨站脚本漏洞。
预防措施
输出编码有助于开发者细粒度控制输出,但也导致了工作量的增加。
输出编码可以解决输入编码无法处理的已入库数据。
3)跨站请求伪造(XSRF)
定义:获取客户会话或cookies,模仿合理用户,非法查看或变更用户记录和执行操作。
原因:应用程序的验证方法不充分
预防措施
检查http头部:只接受本域请求不接受外域
使用一次性令牌:每次请求都带上一个服务器生成的随机数,由服务器进行检验
使用检验图片:图片验证很难被恶意程序识别
4)文件上传漏洞
预防措施
首先编码者需要对上传页面代码严格把关,特别是在保存文件的时候,考察可能出现的异常字符,如../,..\,空字符等。
其次,对文件扩展名检查要采取“允许jpg,gif…”这样的检查,而不要采取“不允许asp…”这样的检查;
最好对上传文件的目录设置不可执行,这可以通过web服务器配置加固实现。
原文链接:https://blog.csdn.net/sigmeta/article/details/80412866
原文:https://www.cnblogs.com/lora404/p/12469736.html