2016-04-01 17 views
0

Bir SQL Server'a sahte kimlik bilgileri göndererek bir bruteforce saldırısı benzetmeye çalışıyorum ve birçok kez yineleyin (~ 100). Ben hiçSQL Server yineleme başarısız girişler

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() 
} 

Herhangi bir yardım büyük takdir ... döngü "için" bir kullanmaya çalışıyordum ama o iş yapmak gibi olamaz.

+1

Eğer açıklık getirebilir "o iş yapmak gibi olamaz"? Ne çalışmıyor? –

+0

Sadece fark ettim ki; ve "$ PASS. sonra. Benim hatam. –

+0

@BobKaufman ne çalışma değil. Yineleme sadece bir başarısız bağlantı girişimi yapar ve sonra $ line değişkeninde bir sonraki ana bilgisayara geçer. –

cevap

1

Açık() özel durumundan birini yakalayıp görmezden gelmeniz gerektiğini düşünüyorum. Bu, bağlantı hatası döngüyü kesmeyeceği için çalışır. Böyle

deneyin şey:

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 
    } 
} 
+0

Ben powershell için oldukça yeni. İstisnaı yakalamak hakkında daha fazlasını açıklayabilir veya örnek verebilir misiniz? Teşekkürler. –

+0

$ satır değişkenini nasıl başlatırsınız? – alas

+0

ForEach (Get-Content $ satırında $ line $ prod_output |% {$ _. Bölünmüş ('') [0];}) –