MSSQL注入从另一个数据库中提取列数据
Posted
技术标签:
【中文标题】MSSQL注入从另一个数据库中提取列数据【英文标题】:MSSQL Injection extracting column data from another database 【发布时间】:2014-03-31 04:21:06 【问题描述】:我设置了一个易受 mssql 注入攻击的测试台应用程序,我想知道如何从另一个数据库中提取列数据?要从当前数据库中提取列数据,我们这样做:
convert(int,(select columnnamegoeshere from tablenamegoeshere))--
然后枚举我们所做的其他列数据:
convert(int,(select columnnamegoeshere from tablenamegoeshere where columnnamegoeshere not in ('firstentryfromcolumn')))--
但是如果它不在默认数据库中,并且我们想从另一个数据库中提取列数据,我们该怎么做呢?谢谢。
【问题讨论】:
【参考方案1】:我会做一个连接...但是,为简单起见,这是您使用不同数据库列的代码:
convert(int,(select columnnamegoeshere from tablenamegoeshere where columnnamegoeshere not in (select top 1 firstentryfromcolumn from otherdb.dbo.otherdbtable)))
如果可能的话,最好将 2 个表连接在一起并排除记录...子查询通常较慢,而且不是最好的方法。
【讨论】:
以上是关于MSSQL注入从另一个数据库中提取列数据的主要内容,如果未能解决你的问题,请参考以下文章