הקוד , לבקשתכם - 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: algorithmics, code, english, script, technology, vulnerability, xss
לדעתי זאת טעות לבצע המרה לכל המחרוזת.
אם כבר, הייתי רוצה אפשרות בחירה להמרה מלאה או להמרה של תווים מיוחדים בלבד.
עוד משהו - הייתי רוצה גם פונקציה להמרה מ-BASE 64וחזרה.
יאללה - לעבודה :-)
Posted by Unknown | 7:21 AM
הנה זה:
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
משה
Posted by Anonymous | 5:42 PM