כתובת פרוקסי תקפה אינה הופכת הודעת SOCKS שנכתבה ביד לתקפה. שליחת מבנה C או C++ עשויה לשלוח ריפוד או מספרים שלמים בסדר המארח שהפרוטוקול מעולם לא ביקש.

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

  1. גרסה, פקודה, בית שמור וסוג כתובת
  2. אורך התחום ובתי התחום
  3. פורט היעד בן שני הבתים בסדר בתי הרשת

אורכי הכתובות תלויים בגרסת SOCKS ובסוג הכתובת. שדות מספריים ברוחב קבוע זקוקים לייצוג המוגדר שלהם; למחרוזות תחום יש קידוד אורך משלהן. מסיים מחרוזת C אינו הוראה כללית להוסיף אפס להודעת הרשת.

קיצור דרך ביישוםבעיה לבדיקה
הקצאת ערך 32 סיביות דרך מצביע 8 סיביותהוא אינו פולט את כל ארבעת הבתים
המרת חוצץ למצביע למספר שלם גדול יותריישור וסדר בתים עדיין דורשים טיפול
הנחה שקריאה או כתיבה אחת היא הודעה אחתTCP יכול להעביר רק חלק מרצף הפרוטוקול

השוו כל שדה ליעד המיועד וטפלו ב-I/O חלקי. קבלת שני בתים אינה מוכיחה שהתשובה כולה הגיעה. בחינת הגבולות האלה יכולה להבחין בין בקשה פגומה לבין שרת שדוחה חיבור שתואר כראוי.

מאמרים קשורים