前言: MSSQL注入攻击是最为复杂的数据库攻击技术,由于该数据库功能十分强大,存储过程以及函数语句十分丰富,这些灵活的语句造就了新颖独特的攻击思路。 MSSQL的显错注入操作: 以联合查询为例: 猜字段 联合查询:union all 猜出输出点使用null填充 注释只有 --+、-- a 没有# 查询系统库:select name,null,...... from dbo.sysdatabases 可以不用查库名 查询系统表:select name,null,...... from dbo.sysobjects where xtype='U' //U表示用户创建表 查询表中的字段:select name,null,...... from dbo.syscolumns where id= 表名对应的id MSSQL反弹注入: MSSQL反弹注入的使用场景 命名是SQL的注入点却无法进行注入操作,注入工具猜解的速度异常缓慢,错误提示信息关闭,无法返回注入结果等,这些都是在注入攻击中常常遇到的问题。 为了解决以上这些疑难杂症,比较好的解决方法就是使用反弹注入技术,而反弹注入技术则需要依靠opendatasource函数支持。 环境的搭建: 我们前面说到,MSSQL注入 — 反弹注入实际就是把查询出来的数据发送到我们的MSSQL服务器上,那么我们需要自己的MSSQL数据库和一个公网IP。