SQL注入基础知识

news/2024/10/19 3:31:49/

文章目录

  • 一、注入的分类
    • 1.基于服务器收到的响应
    • 2.基于处理输入的SQL查询(数据类型)
    • 3.基于程度和顺序的注入(哪里受了影响)
    • 4、基于注入点位置
  • 二、系统函数
    • 1.字符串连接函数
    • 2.一般用于尝试的语句
    • 3.union操作符的介绍
  • 总结

一、注入的分类

1.基于服务器收到的响应

  • 基于错误的SQL注入
  • 联合数据类型
  • 堆查询注入
  • SQL盲注(时间,布尔,报错)

2.基于处理输入的SQL查询(数据类型)

  • 字符串
  • 数字或整数

3.基于程度和顺序的注入(哪里受了影响)

  • 一阶注入
  • 二阶注入
    一阶注入直接对web产生影响,二阶注入间接对web产生影响

4、基于注入点位置

  • 表单域的位置注入
  • cookie注入
  • 通过服务器变量(基于头部信息的注入)

二、系统函数

  • version()—mysql的版本号
  • user()—用户名
  • database()—数据库
  • @@datadir—数据库路径
  • @@version_compile_os—操作系统版本号

1.字符串连接函数

  • concat(str1,str2,....)没有分割符的连接字符串
  • concat_ws(separet,str1,str2...)有分割符的连接字符串
  • group_concat(str1,str2...)连接一个组的所有字符串并用逗号隔开

2.一般用于尝试的语句

  • --+可用#来代替#编码后的结果是%23
  • or 1=1–+
  • ’ or 1=1–+
  • " or 1=1–+
  • ) or 1=1–+
  • ') or 1=1–+
  • ") or 1=1–+
  • ")) or 1=1–+
    一般的代码格式为:
 $id=$_GET['id']$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";

一般考虑闭合前面的或者闭合后面的,一般采用两种思想闭合后面的引号或者注释掉,注释采用
--+或#(%23)

3.union操作符的介绍

union操作的符用于合并两个或多个select语句,两个语句的操作符需要拥有相同的列和数据类型。
SQL UNION语法

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name

注释:默认选取不重复的值,如果想要重复的值使用union all

SQL 中的逻辑运算

举出一个例子进行说明:

select *from spirt where users="hello" and password="" or 1=1--+

and的优先级高于or,users and password =false而or 1=1恒为真。所以结果就恒为真了。
在这里插入图片描述

  1. select *from user where id=1 and 1=1;
  2. select *from user where id=1 && 1=1;
  3. select *from user where id=1 & 1=1;
    面1和2是一样的,3是按位相与。(&的优先级大于=)

注入流程

在这里插入图片描述
以下简述mysql的一些基本操作,用来检查数据库中的基本内容信息。

show databases;//检查有哪些数据库
use security;//使用security数据库
show tables;//查看security数据库中有哪些表
desc mails;//查看这个表的结构

mysql中有一个information_schema,存储着所有的数据库的相关信息。
一般我们利用该表可以进行一次完整的注入。
猜数据库

select schema_name from information_schema.schemata

猜某库的数据表

selece table_name from information_schema.tables where  table_schema="";

猜某表对所有列

select column_name from information_schema.columns where table_name="";

获取某列的内容

select *** from ***;

总结

原谅我这一生不羁放荡来自由。


http://www.ppmy.cn/news/193142.html

相关文章

【Proteus仿真】【51单片机】出租车计价器

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器,使用LCD1604显示模块、按键模块、蜂鸣器模块、DS1302时钟、速度检测模块、 直流电机驱动,票据打印等。 主要功能: 系统运行后&a…

缺陷管理利器推荐:介绍几款好用的缺陷管理工具

缺陷管理是项目管理工作中的重要环节。Excel表格是国内团队常用的缺陷管理工具,具备上手容易,免费的优点,不过也存在协同不便,不易管理,效率低的不足之处。 一套缺陷管理工具可以帮助我们进行规范化自动化的缺陷管理&a…

基于机器学习的内容推荐算法及其心理学、社会学影响闲谈

基于机器学习的内容推荐算法目前在各类内容类APP中使用的非常普遍。在购物、时尚、新闻咨询、学习等领域,根据用户的喜好,进行较为精准的用户画像与内容推荐。此类算法不但可以较为准确的分析用户的特征,如年龄、性别等,还能通过长…

工业平板电脑在汽车领域的应用

生活中,汽车已成为不可或缺的交通代步工具之一。因此汽车的日常保养与维护都显得必不可少,这样在汔车的整体检测中,肯定少不了检测仪器设备。而近处来,人工检测已慢慢让高科技的检测设备给取代。今天与大家分享工业平板在汽车检测…

android平板 2017,2017年后平板电脑市场将复苏

Strategy Analytics最近发布的研究报告《2010~2020平板电脑出货量、市场存量和渗透率预测(按国家划分):2016年Q4更新》称,随着平板电脑在娱乐和生产力方面成为具有高性价比的计算设备,在经历两年的衰退后,平板电脑市场正在出现改善…

平板能练计算机一级吗,进入大学,难道不选择一款平板电脑来“学习”吗?

说到平板电脑,很多朋友都会想到苹果iPad,但是除了苹果之外还有其他非常不错的平板电脑选择,他们不仅性能毫不逊色苹果,而且性价比也更高,相信作为学生党来说,好用不贵的平板一定会给你的学习带来很好的帮助…

企业平板电脑行业调研报告 - 市场现状分析与发展前景预测

企业平板电脑市场的企业竞争态势 该报告涉及的主要国际市场参与者有Apple、Lenovo、Microsoft、Samsung Electronics、ASUS、Dell、HP等。这些参与者的市场份额、收入、公司概况和SWOT分析都包含在企业平板电脑市场调研报告中。 产品分类&#xff1a; >9英寸 <9英寸 应…

工业平板电脑实现工厂自动化设备无需手动连接

随着中国经济的快速发展和材料水平的不断提高&#xff0c;制造业的竞争日益激烈&#xff0c;市场竞静力逐渐转向质量、效率和价格服务&#xff0c;制造业企业面临更大的挑战&#xff0c;数据转型迫在眉睫。对工业平板电脑的需求也在增加&#xff0c;面向行业的工业平板电脑已成…