SQLServer中SQL语句与可执行二进制语句

时间:2023-03-09 18:36:39
SQLServer中SQL语句与可执行二进制语句

SQLServer可以执行正常SQL语句也可以执行被转换的二进制语句,一般会用此方法进行数据库注入操作,骗过基本的字符过滤

--将二进制格式转为普通SQL语句
DECLARE @StrOld VARCHAR(1000) = 0x53454C454354202A2046524F4D20546573744C6F67344E6574
PRINT @StrOld
--EXEC (@StrOld) --执行sql语句
--将普通SQL语句转为二进制格式
DECLARE @StrNew VARBINARY(1000) = CAST('SELECT * FROM TestLog4Net' AS VARBINARY(1000))
PRINT @StrNew