注入攻击基础知识

简介: 【web安全学习】注入攻击基础知识

注入攻击分类

  • SQL注入
  • 命令注入
  • XML注入
  • LDAP注入

SQL注入

概念
SQL的攻击方式是在客户端的输入数据中插入SQL命令,然后发送到 服务端,服务端对数据进行解析并执行非预期的操作。

可以SQL注入的条件

  1. SQL语句中包含不可信任的数据,如用户输入等。
  2. 动态构建SQL语句。(比如说在名字中添加一些单引号,分号,来人为的改变select语句的形式,以达到自己想要输出的结果)

例如:
==ShipCity = TianJin==
select * from OrdersTable where ShipCity = ‘TianJin’
==ShipCity = TianJin’; drop table OrdersTable- -==
select * from OrdersTable where ShipCity = ‘TianJin’; drop table OrderTable --’
(这里提示说,这个;后就表示是另一个SQL语句了,上面第二个强行在名字后加单引号,使得名字这个串就封闭了,所以后面跟的drop语句依旧可以执行,这样就达到了sql注入攻击的目的)

注:连续两个减号字符“--”后的文字 为注解;“/”和“/”包围起来的文字为注释,采用“;”字符区分不同命令 注意字符都是单引号括起来的。

SQL注入的特点

  • 普遍性
  • 隐蔽性
  • 简单性
  • 危害性

SQL注入攻击过程*重点

  1. 探测SQL注入点

    • 通常来说sql注入攻击存在于一个动态网页中,需要你输入一些参数的操作中
  • 如果参数是数字,测试id=2-1与id=1返回的结果- 是否相同,如果做了 2-1=1的运算,说明可能存在数字型注入。
  • 在参数后面加单引号或双引号,判断返回结果是否有报错
  • 添加注释符,判断前后是否有报错,如id=1' --+ 或 id=1" --+ 或 id=1' # 或id=1" --+ 这里的+号是用来当做空格来用,防止注释减一这样的情况
  • 在括号里面的参数:SELECT first_name, last_name FROM users WHERE user_id = ('$id');可以在参数后面加单双引号和括号,如 id=1') --+ 或 id=1") --+ 或id=1') # 或id=1") --+
  • 参数后面跟or 或者and,判断返回结果是否有变化,如1' or 'a'='a
    或者and 'a'='a或者1' or '1'='2
  • 如果返回的正确页面与错误页面都一样,可以使用时间延迟判断是否存 在注入,如 1' and sleep(5)
  1. 判断数据库类型 (你比如说如果是mysql数据库的话,会有一个默认的数据库名和表名来访问,也可以获得很多信息)

MySql中的information_schema 结构用来存储数据库系统信息
information_schema 结构中这几个表存储的信息,在注入中可以用到的几个表。
SCHEMATA 存储数据库名的,
关键字段:SCHEMA_NAME,表示数据库名称
TABLES 存储表名的
关键字段:TABLE_SCHEMA表示表所属的数据库名称;
TABLE_NAME表示表的名称
COLUMNS 存储字段名的
关键字段:TABLE_SCHEMA表示表所属的数据库名称;
TABLE_NAME表示所属的表的名称
COLUMN_NAME表示字段名

  1. 提升权限,进一步攻击

SQL注入分类

  1. 数字类型的注入;
  2. 字串类型的注入;
  3. GET注入;
  4. POST注入;

    1. COOKIE注入;
  5. HTTP注入。
目录
相关文章
|
Linux Docker 容器
Docker容器运行Linux
Docker容器运行Linux
504 0
|
人工智能 编解码 芯片
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
不会向ai提问,不知道怎么提问的 可以看看
21369 1
告别低效沟通|让技术提问不再头疼-这套高效AI提问模板来帮你
|
开发框架 .NET 网络性能优化
MCS-51单片机的基本结构
MCS-51单片机的基本结构
2483 1
|
Shell 开发工具 git
Git获取本地仓库及基础操作指令
Git获取本地仓库及基础操作指令
343 0
|
2月前
|
弹性计算 人工智能 机器人
阿里云ECS/轻量服务器+本地全平台部署OpenClaw|集成QQ机器人+千问Qwen3.6-Plus+Coding Plan大模型配置保姆级教程
2026年,开源AI自动化框架OpenClaw(曾用名Clawdbot)已成为个人与团队效率提升的核心工具,凭借“行动式AI”能力,可将自然语言指令转化为文件管理、系统控制、数据处理、社交交互等实际任务执行。本文完整覆盖2026年阿里云轻量服务器部署及本地MacOS/Linux/Windows11部署OpenClaw(Clawdbot)步骤流程及阿里云千问Qwen3.6-Plus配置或市场上免费大模型Coding Plan API配置及常见问题解答,同步新增阿里云ECS云服务器专业部署、QQ机器人全流程集成方案,所有操作附可直接复制的代码命令、可视化指引与高频问题排查方案。
540 14
|
6月前
|
人工智能 自然语言处理 监控
数据可视化软件推荐(2025年12月)
瓴羊Quick BI是阿里云旗下企业级数据可视化平台,深度融合智能分析与多场景适配能力,支持实时监控、多维对比、智能钻取等核心功能,覆盖零售、制造、金融等行业。依托AI实现自然语言生成图表、自动化报表,降低使用门槛,结合SaaS与混合云部署,助力5万+企业高效落地数据驱动决策,连续五年入选Gartner魔力象限,是2025年可视化选型优选方案。(239字)
|
语音技术 网络架构 开发者
HumanOmni:首个专注人类中心场景的多模态大模型,视觉与听觉融合的突破!
HumanOmni是业内首个理解以人为中心的场景,可以同时处理视觉信息、音频信息的多模态大模型。
755 9
HumanOmni:首个专注人类中心场景的多模态大模型,视觉与听觉融合的突破!
|
机器学习/深度学习 自然语言处理 算法
社交网络分析(汇总)
社交网络分析(汇总)
783 0
|
Web App开发 人工智能 安全
Gemini vs ChatGPT:谷歌最新的AI和ChatGPT相比,谁更强?
Gemini vs ChatGPT:谷歌最新的AI和ChatGPT相比,谁更强?
如何创建以太坊ERC20代币
看这篇文章需要对以太坊,智能合约,代币等概念有基本的了解。 什么是ERC20 可以把ERC20简单理解成以太坊上的一个代币协议,所有基于以太坊开发的代币合约都遵守这个协议。
2437 0