当前位置: 首页 > article >正文

SQL注入简介

SQL注入初步了解

  • 什么是SQL注入
  • SQL注入原理
  • SQL注入方法
    • 确定三件事:
    • 方法
  • SQL注入危害

什么是SQL注入

SQL 注入(SQL Injection)是一种常见的 Web 安全漏洞,攻击者通过构造恶意的 SQL 查询语句,欺骗后端数据库执行非预期的操作,从而获取、篡改或删除数据库中的敏感数据,甚至控制整个服务器。

SQL注入原理

Web 应用程序通常使用 用户输入的数据(如表单、URL 参数、Cookies)来构造 SQL 查询语句。如果程序没有对用户输入进行严格的过滤或转义,攻击者就可以插入恶意的 SQL 代码,改变原本的 SQL 查询逻辑。

比如说一下情况:

假设一个网站的登录功能使用以下 SQL 查询:

SELECT * FROM users WHERE username = '$username' AND password = '$password';

若登录输入:
用户名:admin’ –
密码:任意
则sql查询将变为

SELECT * FROM users WHERE username = 'admin' --' AND password = '123';

– 是 SQL 注释符,后面的语句会被忽略,导致攻击者可以绕过密码验证,直接以 admin 身份登录。

SQL注入方法

确定三件事:

  1. 确定web应用程序所使用的技术
    注入攻击对程序语言或者硬件关系密切

  2. 查找注入点
    比如:
    明显输入:HTML表单
    隐藏输入:http头部,cookics,甚至对用户不可见的后端Ajax请求来跟微博应用进行交互
    请添加图片描述

  3. 查找可以用于注入的用户输入

方法

  • 手工注入
  • 利用工具注入
    流行注入工具sqlmap

SQL注入危害

  • 数据库层面
    非法读取,篡改,添加,删除数据库中的数据;
    盗取用户的各类敏感信息,获取利益;
    通过修改数据库修改网页上的内容;
    私自添加或者删除账号。
  • 操作系统层面
    网页篡改;
    网络挂马;
    服务器远程控制。

http://www.kler.cn/a/610398.html

相关文章:

  • shelljs:理解ShellJS / 安装引入 / 常见方法 / 优势 / 应用场景
  • 习题4-9 打印菱形图案
  • 护网中的应急响应(奇安信蓝中面试)
  • CNN基础考点
  • 【数据库】SQL语言:SELECT语句的练习(例题)
  • Hadoop/Spark 生态
  • websocket结合promise的通信协议
  • LinkedIn数据抓取零风险指南:亮数据住宅代理实现企业级合规采集
  • 医学交互作用分析步骤和目的(R语言)
  • 我的世界1.20.1forge模组进阶开发教程——结构(3)
  • Pytorch学习笔记(七)Learn the Basics - Optimizing Model Parameters
  • Redis 存储 String高亮显示JSON,存储 JSON 的标准工具方法
  • 华为OD机试A卷 - 积木最远距离(C++ Java JavaScript Python )
  • 【前端扫盲】node.js npm nvm都是什么以及他们之间的关系
  • 海底高铁--差分
  • react组件中useRef声明的变量和let声明的变量区别
  • 清华大学第十二版!!《机器语言大模型赋能软件自主可控与安全可信》
  • linux的基础命令
  • redis 缓存穿透
  • Spring Boot网站性能优化全解析