ABA


"מידע|פירצה בתבניות בעברית של וורדפרס"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #10437 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10437
Eagle  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.9.05
2171 הודעות, 1 פידבק, 2 נקודות
   19:09   25.01.12   
אל הפורום  
  מידע|פירצה בתבניות בעברית של וורדפרס  
 
  

משתמשים בתבניות WordPress בעברית? הבלוג שלכם בסכנה

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

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

חשוב להבין – מדובר בקוד מסוכן שמקבל גישה אל השרת שלכם ויכול (ואף עושה בפועל) לעשות בו כרצונו. היות והערכות יכולות להכיל פונקציות מלאות הוא אפילו יכול בעיקרון לקבל גישה מלאה אל הבלוג שלכם.

קודם כל: בדיקה והסרה

חשוב להבין – מדובר בקוד מסוכן שמקבל גישה אל השרת שלכם ויכול (ואף עושה בפועל) לעשות בו כרצונו. היות והערכות יכולות להכיל פונקציות מלאות הוא אפילו יכול בעיקרון לקבל גישה מלאה אל הבלוג שלכם.

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

mastergate.co.il
themes.org.il
wpstore.co.il – פה נמכרות תבניות בתשלום ולכן לא בדקתי את הקוד בפועל, אם קניתם דרך האתר ערכת עיצוב, אנא הגיבו לפוסט זה על מנת שאוכל לבדוק.

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

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

ההתחלה הייתה בקוד ה footer שם נמצא קוד ה PHP הבא:

eval(base64_decode("d3BfY2FjaGUoKTs="));

כאשר פתחנו את הקידוד נמצאה בתוכו הפונקציה wp_cache(); לא ראינו שום סיבה להעלים את פונקציית ה cache אך ברגע שזו הוסרה הופיעה לפתע הודעה המכריזה כי האתר מפר זכויות יוצרים.

המקום הבא לחפש בו היה קובץ ה-functions.php, זהו קובץ שנטען ביחד עם הערכה ומיועד לפונקציות יעודיות של המפתח. ואכן, בתוך הקובץ נמצאה שורה דומה:

eval(stripslashes(base64_decode(קוד זדוני ארוך פה));

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

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

יש שתי דרכים לפתור את הבעיה הזו, האחת ארוכה ויסודית ושולחת את המפתח לפתוח את הדחיסה ולקרוא את תכולת הקובץ. השניה, קלה יותר ומהירה יותר – להציץ בדוח השגיאות של שרת ה-apache. על אובונטו עושים את זה על ידי שימוש ב:

tail -f /var/log/apacge/error.log

הפונקציה tail “מציצה" למעשה אל סוף הקובץ הנקוב והפרמטר f אומר לפונקציה לעקוב אחרי שינויים בקובץ ולהדפיס אותם אל המסך. התוצאה אגב היא – בכל פעם שיש הודעת שגיאה היא תודפס בטרמינל. לאחר הקלדת הפקודה וריענון העמוד קיבלתי את הודעת השגיאה הבאה:

Fatal error: Call to undefined function wp_get_header() in /home/nitzan/www/wordpress/wp-content/themes/des/index.php on line 1

אכן, הקובץ index.php הכיל קריאה לפונקציה wp_get_header רק שזו אינה פונקציה של וורדפרס. הפונקציה של וורדפרס היא get_header – החלפתי את הפונקציה ב get_header והמשכתי הלאה. הודעת השגיאה הבאה שהתקבלה היא:

Fatal error: Call to undefined function wp_get_header() in /home/nitzan/www/wordpress/wp-content/themes/des/index.php on line 1

הפונקציה הזו אינה מוכרת לי אבל אכן בקובץ ה header.php נמצאה בדיקה בנוסח הבא:

< php if (wp_loaded() === true) { ? >

הודעת השגיאה הבאה הייתה:

direction: ltr;">Parse error: syntax error, unexpected '}' in /home/nitzan/www/wordpress/wp-content/themes/des/header.php on line 72

ואלו היו הסוגריים המסולסלים שסוגרים את הבדיקה של הפונקציה הקודמת. לאחר ההסרה, חזר הבלוג לעבוד אבל ה-footer לא הופיע יותר. בדיקה בקובץ index.php הראתה קריאה אל:

direction: ltr;">wp_get_footer();

שבדיוק כמו במקרה הראשון – זו אינה הפונקציה המקורית אלא הסוואה שלה, שכן הפונקציה המקורית היא:

direction: ltr;">get_footer();

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

function wp_get_header(){get_header();}
function wp_get_footer(){get_footer();}
function wp_loaded(){return true;}

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

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

לסיכום

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

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

קריאה לפעולה

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

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

תגים: blog, Blogger, Bloggers, how to protect your wordpress blog, Theme, WordPress, Wordpress פריצות, wp, בלוג, בלוגר, בלוגרים, תוספים


מקור:
http://www.newsgeek.co.il/your-wordpress-is-in-danger/


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  תודה על המידע! dvir8 26.01.12 10:16 1
  אבי אני עדיין מחכה לכסף שלי .. Lonjie  28.01.12 15:04 2
  תודה על המידע! Guy89 29.01.12 11:06 3
  תודה רבה! amiorlin 21.02.12 15:05 4

       
dvir8
חבר מתאריך 13.5.02
5929 הודעות, דרג אמינות חבר זה
   10:16   26.01.12   
אל הפורום  
  1. תודה על המידע!  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Lonjie  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 9.3.10
5743 הודעות, 2 פידבק, 3 נקודות
   15:04   28.01.12   
אל הפורום  
  2. אבי אני עדיין מחכה לכסף שלי ..  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Guy89
חבר מתאריך 22.2.07
20043 הודעות, דרג אמינות חבר זה
   11:06   29.01.12   
אל הפורום  
  3. תודה על המידע!  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
amiorlin
חבר מתאריך 1.7.02
422 הודעות, דרג אמינות חבר זה
   15:05   21.02.12   
אל הפורום  
  4. תודה רבה!  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net