我正试图通过向SQL Server发送假凭据来模拟brueforece攻击,并多次迭代(约100次)。我一直在尝试使用"for"循环,但似乎无法使其工作。。。
For ($i=1; $i -le 101; $i++) {
$cn = New-Object System.Data.QLClient.SQLConnection
$cn.ConnectionString = "Server=$line;User ID=$USER;Password=$PASS;"
$cn.Open()
}
任何帮助都将不胜感激。
我认为你需要从Open()中捕获异常并忽略它。这将起作用,因为连接失败不会破坏循环。
试试这样的东西:
For ($i=1; $i -le 101; $i++){
$cn = New-Object System.Data.SQLClient.SQLConnection
$cn.ConnectionString = "Server=$line;User ID=$USER;Password=$PASS"
try {
Write-Output "Try $i on $line"
$cn.Open()
$cn.Close()
}
catch
{
Write-Output $_.Exception.Message
}
}