« Home | סוף שנה 2007 » | מיקומו של שרת הCA בטופולוגיה הארגונית » | תובנות לגבי העברת מצגות אפקטיביות » | קורס הצגה אפקטיבית » | Stateful Inspection Is Dead » | Cryptoanalysis באמצעות GRID » | סקריפט קידי משחק = 20K לרשויות , 18 שנה בפנים. » | מערכות אבטחת מידע בלי לוגים » | Secunia PSI Beta - ניתן להורדה » | XML Security - קצת מחשבות בנושא »

הקוד , לבקשתכם - XSS Translator

לפני מספר חודשים כתבתי עבור חודש XSS של גיא מזרחי כלי פשוט יחסית , שמטרתו הייתה בעצם להמיר מחרוזות פשוטות לדצימלי , ובכך לאפשר לבנות מחרוזות להתקפת XSS בצורה קלה יותר...

מספר אנשים פנו וביקשו את הקוד הפשוט יחסית , ובכן שיניתי מספר דברים בעקבות מיילים ותגובות בכל מיני מקומות שונים , כדי לפשט. הנה זה פשוטו כמשמעו ... כפי שוודאי ניתן להביא מדובר סה"כ בהמרות מהקסה למבנה דצימלי ובחזרה , כעת כבר לכל המחרוזת , שינוי שבוצע בעקבות בקשות במיילים.

ישנם ממירים רבים להורדה באינטרנט , חלקם אפילו נכתבו על ידי RSnake בכבודו ובעצמו, אך מי שמכיר אותי יודע שאם זה לא יצא מהידיים שלי , זה אומר שאני לא ממשיך הלאה לנושא הבא ...

הנה הקוד הסופי ... .NET כמו שאתם אוהבים .

 

For my english reading audience - this is my code for converting text into decimal codes for applying XSS attacks , in .NET for your convinence. enjoy ...

 

Public Class XSS_Translator

    Public Function hex2dec(ByVal hextext As String) As String
        hex2dec = Chr(Convert.ToInt32(Mid(hextext, 2, 2), 16))
    End Function

    Public Function myConvert(ByVal INPUT As String, ByVal Act As Integer) As String
        Dim myresult As String
        Dim i As Integer

        For i = 1 To Len(INPUT)
            If Act = 1 Then
                myresult = myresult & "%" & Hex(Asc(Mid(INPUT, i, 1)))
            Else
                If (Mid(INPUT, i, 1) = "%") And (i <= (Len(INPUT) - 2)) Then
                    myresult = myresult & hex2dec(Mid(INPUT, i, 3))
                    i = i + 2
                Else
                    myresult = myresult & Mid(INPUT, i, 1)
                End If
            End If
        Next
        myConvert = myresult
    End Function

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If RadioButton1.Checked = True Then
            outputBox.Text = myConvert(inputBox.Text, 1)
        Else
            outputBox.Text = myConvert(inputBox.Text, 2)
        End If
    End Sub

End Class

Labels: , , , , , ,

Syndication : Digg It  Add to Technorati Favorites  Stumble It  Worth Reading 

לדעתי זאת טעות לבצע המרה לכל המחרוזת.
אם כבר, הייתי רוצה אפשרות בחירה להמרה מלאה או להמרה של תווים מיוחדים בלבד.
עוד משהו - הייתי רוצה גם פונקציה להמרה מ-BASE 64וחזרה.
יאללה - לעבודה :-)

הנה זה:

Dim oB64 As New System.Security.Cryptography.FromBase64Transform
Dim oHebrew As System.Text.Encoding = System.Text.Encoding.GetEncoding("windows-1255")

Public Function DecodeBase64(ByVal Content As String) As Byte()
Dim input() As Byte
input = oHebrew.GetBytes(Content)
Return oB64.TransformFinalBlock(input, 0, input.Length)
End Function


משה

Post a Comment

About

    My Name is Barry Shteiman, im a devoted tech junkie, and this is my blog.
    E: barry.shteiman -at- gmail.com
    Twitter : bshteiman

Tags & Categories

Mailing List & RSS

Stay Updated  
Add to Technorati Favorites