« 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 

2 comments

לדעתי זאת טעות לבצע המרה לכל המחרוזת.
אם כבר, הייתי רוצה אפשרות בחירה להמרה מלאה או להמרה של תווים מיוחדים בלבד.
עוד משהו - הייתי רוצה גם פונקציה להמרה מ-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