zoukankan      html  css  js  c++  java
  • 20145334赵文豪网络对抗Web安全基础实践

    1.SQL注入攻击原理,如何防御?

    SQL注入攻击就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意SQL命令的目的。

    对于SQL注入攻击的防范,我觉得主要还是应该从代码上入手:

    采用预编译语句集PreparedStatement,它内置了处理SQL注入的能力,只要使用它的setXXX方法传值即可。它的原理就是sql注入只对sql语句的准备(编译)过程有破坏作用,而PreparedStatement已经准备好了,执行阶段只是把输入串作为数据处理,而不再对sql语句进行解析准备,因此也就避免了sql注入问题;

    使用正则表达式过滤传入的参数,对一些包含sql注入的关键字进行过滤;

    采用字符串过滤的方法;

    jsp中调用该函数检查是否包含非法字符,防止SQL从URL注入。

    2.XSS攻击的原理,如何防御?

    XSS是代码注入的一种,它允许恶意用户将代码注入到网页上,并能够被浏览器成功的执行,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言。XSS攻击的主要目的是,想办法获取目标攻击网站的cookie,因为有了cookie相当于有了seesion,有了这些信息就可以在任意能接进互联网的pc登陆该网站,并以其他人的身份登陆,做一些破坏。

    XSS的防御可以从以下两方面来进行:

    一种方法是在表单提交或者url参数传递前,对需要的参数进行过滤;

    检查用户输入的内容中是否有非法内容,如尖括号、引号等,严格控制输出。

    3.CSRF攻击原理,如何防御?

    我们知道XSS是跨站脚本攻击,就是在用户的浏览器中执行攻击者的脚本,来获得其cookie等信息。而CSRF是借用用户的身份,向web server发送请求,因为该请求不是用户本意,所以称为“跨站请求伪造”。

    对于CSRF的防御也可以从以下几个方面入手:

    通过referer、token或者验证码来检测用户提交;

    尽量不要在页面的链接中暴露用户隐私信息,对于用户修改删除等操作最好都使用post操作;

    避免全站通用的cookie,严格设置cookie的域。

  • 相关阅读:
    简单的Makefile
    共享库
    链接静态库
    /proc/uptime参数的意义
    磁盘挂载失败
    linux环境变量设置
    使用systemd-analyze 工具来分析各个服务进程的启动性能
    面试-2020C/C++后台开发深信服科技股份有限公司一面凉经(一问三不知,我是真的菜。。。)
    笔记-C/C++工程师面试笔记收集整理
    SpringCloud-分布式与集群的使用四(断路器Hystrix)
  • 原文地址:https://www.cnblogs.com/bestizwh/p/6875832.html
Copyright © 2011-2022 走看看