攻击与防守

简要描述:

  • 新手上路 老司机让路

SQL注入攻击(SQL Injection)

  • 攻击者把SQL命令插入到Web表单的输入域或页面请求的字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击。还有一种是通过system()或exec()命令注入的,它具有相同的SQL注入机制,但只针对shell命令。

XSS:跨站脚本(Cross-site scripting,通常简称为XSS)

  • 是一种网站应用程序的安全漏洞攻击,是代码注入的一种。它允许恶意用户将代码注入到网页上,其他用户在观看网页时就会受到影响。这类攻击通常包含了HTML以及用户端脚本语言(通过客户端脚本语言(最常见如:JavaScript)在一个论坛发帖中发布一段恶意的JavaScript代码就是脚本注入,如果这个代码内容有请求外部服务器,那么就叫做XSS!)

CSRF:跨站请求伪造(英语:Cross-site request forgery)

  • 也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法(又称XSRF,冒充用户发起请求(在用户不知情的情况下),完成一些违背用户意愿的请求(如恶意发帖,删帖,改密码,发邮件等))

会议捕获和劫持

  • 这是与会话固定有着同样的想法,然而,它涉及窃取会话ID。如果会话ID存储在Cookie中,攻击者可以通过XSS和javascript窃取。如果会话ID包含在URL上,也可以通过嗅探或者从代理服务器那获得。  防止会话捕获和劫持  更新ID 如果使用会话,请确保用户使用SSL

防止SQL注入原则: 所有接收的POST/GET/HEADER输入都是不可信的,需要在后端进行强制验证

  • 读数据的接口使用GET请求传递参数
  • 写数据的接口使用POST请求传递参数
  • 数值型变量需要经过intval / floatval函数进行强制转换
  • 字符串型变量需要用 Tools::check_incect()函数进行过滤
  • 如果是数组需要对数组中每个元素进行类型转换和过滤
  • 老师的输入是允许带HTML标签的

代码

    public static function fliter_sql($value) {
        $sql = array("select", 'insert', 'from', "update", "delete", "\'", "\/\*",
            "\.\.\/", "\.\/", "union", "into", "load_file", "outfile");
        $sql_re = array("","","","","","","","","","","","");
        return strip_tags(str_replace($sql, $sql_re, strtolower($value)));
    }

备注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值