OWASP TOP 10

·10项最严重的开源web应用安全项目(OWASP)

2013与2017年的比较,,在这张表格中可以看出来sql注入的严重性还是最高的

1.A1注入

1.1注入简介:

将不受信任的数据作为命令或者查询的一部分发送到解析器中,会产生诸如sql诸如,nosql注入,os注入和ldap的注入缺陷.攻击者的恶意数据可以诱导解析器在没有适当授权的时候执行非预期命令或者访问数据.

1.2注入分类及载体

几乎所有的数据源都可以作为注入的载体,包括环境变量,所有类型的用户,参数,外部和内部的web 服务,当攻击者可以向解释器发送恶意数据时,注入漏洞就产生.在遗留的代码中,注入漏洞十分普遍.如SQL,LDAP,XPATH,NOSQL,Os命令中,xml解析器中,smtp包头中,表达式语句和ORM查询语句中.

原理:

方法:

主要是利用SQL的查询语法来构造出永真的表达式,从避免输入密码
  • SQL注入的类型
    • 简单注入
    1. 永真式: 即”or 1=1 来保证无论如何都可以获取数据.
    2. 错误语句:让web应用构造错误的SQL语句来抛出异常,进而判断数据库类型
    3. 结束注释:使用注释符注释剩余的语句
    4. 联合查询:使用union all 后面可以写出真正的要查询的语句
  • 盲注
    • 注释符号:–(MSSQL.mysql),#(mysql),/*comment*/(mysql)
    • 单行用分号分隔开,运行多个SQL语句:MSSQL
    • 判断(IF,ELSE语句)
1.3简单注入例子
  • 1′ and 1=1;#,1′ and 1=1;判断是否可以被注入
  • 1′ or 1=1;#来尝试或者所有的账号信息
  • 1′ union all select 1,2;#来判断可以获取的参数的个数
  • 1′ union all select 1,(@@version);#来获取数据库的版本
  • 1′ union all select 1, (database());#获取数据库名称
  • 1′ union all select 1,group_concat(column_name) from information_schema.columns where table_name=’users’;#’
1.4防护sql注入:
  • 数据库最小化权限的账户启动数据库
  • 禁止数据库执行系统命令
  • 使用IDS,waf检测是否有异常操作
  • 连接数据库的用户权限最小化
  • 统一管理错误信息
  • 禁止向用户提供错误信息
  • 在服务器端过滤所有客户端数据
  • 审核数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值