WebBrowser-Element klicken Problem

  • VB.NET

Es gibt 15 Antworten in diesem Thema. Der letzte Beitrag () ist von superhans21.

    Ich weiß nicht, an was ich das schicken muss:
    <td class="ctl">
    <input name="ctl02$ctl05$usernameTB" type="text" value="asdfasdf" maxlength="15" id="ctl02_ctl05_usernameTB" tabindex="1" class="textbox" onBlur="setBtnBorder('BtnLoginBorder', 'inactive')" onFocus="setBtnBorder('BtnLoginBorder', 'active'); HandleUsername(this);" size="15" />&nbsp;<input class="textbox" id="dummypassword" style="display: none" onFocus="this.style.display='none'; document.getElementById('ctl02_ctl05_passwordTB').style.display='inline';document.getElementById('ctl02_ctl05_passwordTB').focus();" tabindex="2" type="text" size="15" value='Passwort' name="dummypassword" /><input name="ctl02$ctl05$passwordTB" type="password" maxlength="15" id="ctl02_ctl05_passwordTB" tabindex="3" class="textbox" onBlur="setBtnBorder('BtnLoginBorder', 'inactive'); if(this.value==''){ this.style.display='none';document.getElementById('dummypassword').style.display='inline';}" onFocus="setBtnBorder('BtnLoginBorder', 'active')" size="15" value="" />
    <script type="text/javascript">
    document.getElementById('ctl02_ctl05_usernameTB').onkeypress=authKey;
    var pwd = document.getElementById('ctl02_ctl05_passwordTB');
    pwd.onkeypress=authKey;
    pwd.style.display="none";
    var dumpwd = document.getElementById('dummypassword');
    dumpwd.style.display="inline";
    </script>
    </td>

    <td class="btns">
    <a buttonimageurl="/media/img/bawcom/buttons/login/btnLogin_DE.png" buttonimageurlmouseover="/media/img/bawcom/buttons/login/btnLoginHover_DE.png" onmouseover="Bwin.UI.Utils.FX.LinkButton.prototype.SwapImage($get('ctl02_ctl05_loginBtn'), '/media/img/bawcom/buttons/login/btnLoginHover_DE.png');" onmouseout="Bwin.UI.Utils.FX.LinkButton.prototype.SwapImage($get('ctl02_ctl05_loginBtn'), '/media/img/bawcom/buttons/login/btnLogin_DE.png');" class="btnStandard" id="ctl02_ctl05_loginBtn" tabindex="4" onClick="authUser();" onkeypress="return Bwin.UI.Utils.FX.LinkButton.prototype.KeyPressed(this,event);" style="background-image: url(/media/img/bawcom/buttons/login/btnLogin_DE.png);"><img border="0" alt="" src="/media/img/bawcom/buttons/login/btnLogin_DE.png" id="ctl02_ctl05_loginBtnIMG" /></a><script type="text/javascript" language="javascript">Bwin.UI.Utils.FX.LinkButton.prototype.AddButton($get('ctl02_ctl05_loginBtn'),'/media/img/bawcom/buttons/login/btnLogin_DE.png',false);</script>
    </td>
    Normal würden sie ungemein helfen,
    aber wenn ich den Quelltext von der Seite anschaue,
    dann finde ich nicht mal an welche Adresse das überhaupt geschickt wird.
    Cookies funktionieren auch nicht, weil das glaub ich mit SessionID oder iwas ähnlichem funktioniert wie auf vielen anderen Seiten auch
    In den beiden Funktionen holt er sich die Cookies automatisch in einen CookieContainer (mit Comment gekennzeichnet), und somit dürfte er auch die SessionID mitnehmen...

    VB.NET-Quellcode

    1. Imports System.Net
    2. Imports System.IO
    3. Public Class Form1
    4. Dim CookieC As New CookieContainer
    5. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    6. End Sub
    7. Private Function GetSourceCode(ByVal url As String) As String
    8. Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
    9. req.Method = "GET"
    10. req.ContentType = "application/x-www-form-urlencoded"
    11. req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7"
    12. req.CookieContainer = CookieC '<-- Hier holt er sich die Cookies
    13. Dim res As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
    14. Dim str As New StreamReader(res.GetResponseStream)
    15. Return str.ReadToEnd()
    16. End Function
    17. Private Function GetSourceCodePost(ByVal url As String, ByVal postdata As String) As String
    18. Dim data() As Byte = System.Text.Encoding.ASCII.GetBytes(postdata)
    19. Dim req As HttpWebRequest = CType(WebRequest.Create(url), HttpWebRequest)
    20. req.Method = "post"
    21. req.ContentType = "application/x-www-form-urlencoded"
    22. req.ContentLength = data.Length
    23. req.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.7) Gecko/20070914 Firefox/2.0.0.7"
    24. req.CookieContainer = CookieC '<-- Hier sendet er den zuvor geholten Cookiecontainer
    25. Dim dataStream As Stream = req.GetRequestStream()
    26. dataStream.Write(data, 0, data.Length)
    27. Dim res As HttpWebResponse = CType(req.GetResponse, HttpWebResponse)
    28. Dim str As New StreamReader(res.GetResponseStream)
    29. Return str.ReadToEnd()
    30. End Function
    31. End Class


    Die URL an welche du die Daten schickst wäre bwin.de/

    Die Funktionen würden also folgendermassen aufgerufen:

    VB.NET-Quellcode

    1. GetSourceCode("https://www.bwin.de/")
    2. GetSourceCodePost("https://www.bwin.de/", "_loginUID=USERNAME&_loginPWD=PASSWORD")


    Den Content habe ich mit LiveHttpHeaders rausgefunden.

    Mit den Funktionen und den Aufrufen hättest du dich nun wenn nicht noch irgendwelche anderen Sicherheitsmassnahmen vorhanden sind mit einem bestehenden Account erfolgreich eingeloggt. Nun müsstest du nur noch den Quelltext nach einem String durchsuchen der nur vorhanden ist wenn man sich erfolgreich eingeloggt hat. (Bsp. "Mein Konto" etc.)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Analegrande“ ()