【问题标题】:MSSQL Injection extracting column data from another databaseMSSQL注入从另一个数据库中提取列数据
【发布时间】:2014-03-31 04:21:06
【问题描述】:

我设置了一个易受 mssql 注入攻击的测试台应用程序,我想知道如何从另一个数据库中提取列数据?要从当前数据库中提取列数据,我们这样做:

convert(int,(select columnnamegoeshere from tablenamegoeshere))--

然后枚举我们所做的其他列数据:

convert(int,(select columnnamegoeshere from tablenamegoeshere where columnnamegoeshere not in ('firstentryfromcolumn')))--

但是如果它不在默认数据库中,并且我们想从另一个数据库中提取列数据,我们该怎么做呢?谢谢。

【问题讨论】:

    标签: sql-server sql-injection


    【解决方案1】:

    我会做一个连接...但是,为简单起见,这是您使用不同数据库列的代码:

    convert(int,(select columnnamegoeshere from tablenamegoeshere where columnnamegoeshere not in (select top 1 firstentryfromcolumn from otherdb.dbo.otherdbtable)))
    

    如果可能的话,最好将 2 个表连接在一起并排除记录...子查询通常较慢,而且不是最好的方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多