SQL注入相关-持续更新

本文介绍了SQL注入中的整型/字符型报错注入方法,特别是针对MySQL数据库的利用。通过示例展示了如何利用`floor`函数引发主键冗余异常,从而获取数据库信息。提供的链接包含了详细的步骤和实际操作示例。
摘要由CSDN通过智能技术生成

 

 
一、sql注入常用函数(理解参见 sql注入总结-51CTO博客
union: 用于拼接两个或多个 SELECT 语句的结果集,并消去表中任何重复行; UNION 连接的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同.默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。
group by:
order by:根据指定的列 对结果集进行排序,默认按照升序排列。 用order by语句查询数据库中存在多少数据表。
concat(str1,str2,……): 连接一个或者多个字符串
group_concat (str1,str2,……) 连接一个组的所有字符串,并以逗号分隔每一条数据
concat_ws(sep,str1,str2,……):使用第一个参数作为分隔符进行连接
二、mysql 的系统函数
user ( ) :当前使用者的用户名
database ( ) :当前数据库名
version ( ) :数据库版本
datadir:读取数据库的绝对路径
@@vasedir:mysql安装路径
@@version_compile_os:操作系统
理解Schema,schemata,schema_name,table_schema
mysql 5.0版本以后提供了information.schema表,表中记录了数据库中所有的库、表、列等信息
SCHEMATA 表:储存mysql所有数据库的基本信息,包括数据库名,编码类型路径等,show databases的结果取之此表。(其中包含一列 schema_name ,即数据库名,不同于schema,schema_name只是单纯的数据库名)
TABLES 表:储存mysql中的表信息,(当然也有数据库名这一列,这样才能找到哪个数据库有哪些表嘛)包括这个表是基本表还是系统表,数据库的引擎是什么,表有多少行,创建时间,最后更新时间等。show tables from schemaname的结果取之此表(其中包含 table_schema ,表中的对应的库名信息
table_nama 同样不同于tables,只是单纯的表名
COLUMNS 表:提供了表中的列信息,(当然也有数据库名和表名称这两列)详细表述了某张表的所有列以及每个列的信息,包括该列是那个表中的第几列,列的数据类型,列的编码类型,列的权限,注释等。是show columns from schemaname.tablename的结果取之此表(其中包含 table_schema,表中对应的库名信息,table_nama表字段对应的表名, columns_name 字段对应的字段名
sql注入常用利用模式:
sql报错注入总结(附自动化脚本)_i春秋社区
   1. rand ()用于产生一个0~1的随机数。
wfR6t9nsOOKawAAAABJRU5ErkJggg0Kuploading.4e448015.gif转存失败重新上传取消
      2. floor ()向下取整
x9Sx3OxM7AmtgAAAABJRU5ErkJggg0Kuploading.4e448015.gif转存失败重新上传取消
3. rand()函数生成0~1的函数,使用floor函数向下取整,值是固定的“0”,我们将rand*2,得到的值就是不固定的,“0”或者“1”。
AfZT2irPfqB4AAAAAElFTkSuQmCCDQo=uploading.4e448015.gif转存失败重新上传取消
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值