Logo

רד-בורד: ארכיון

ראשי > אבטחת מידע > מתקפת מניעת שרות

05/04/2007 17:07:35 devil kide
שני דברים שחשבתי עליהם, יכול להיות מאוד שאני טועה, אם כן תתקנו אותי.
תראו, נתחיל ב"התקפה" הראשונה.
אני לא יודע איך זה יעבוד על ASP , אבל אני מניח שמבחינה תאורתית זה יעבוד בPHP.
כמו שאתם יודעים, כל מחשב\תוכנה מוגבלים מבחינת המשאבים שלהם, אם ננצל את כולם נוכל לגרום לבעיות בעבודה(שהמטכנת לא רצה), עכשיו שוב זה יותר מבחינת תאוריה, כי יהיה מאוד קשה לייסם את זה.
בPHP לא צריך להצהיר על משתנה, ואם נכניס אליו מחרוזת בת 1000 תווים הוא יקבל אותה בדיוק כמו מחרוזת בת 2 תווים.
עכשיו אם נציף את המערך הגלובאלי $_GET , מעבר ליכולת המחשב(או התוכנה) האם זה יגרום לתוכנה להתקע?
נניח אם נעשה כזה דבר:
קוד:server.com/file.php?var=abcd&fuck=abcde&varname&idontknow

וכומובן ככה נמלא את כל המערך והזיכרון, האם זה יתקע את התוכנית(זה יותר תאוריתי כי המחשבים היום מאוד חזקים)?
___________________________________________________________________________________

עוד משהו , כמו שאתם יודעים, אם נריץ הרבה מאוד שאילתות אנחנו יכולים לגרום למסד לקרוא (אפילו לפרק זמן קצר) , עכשיו בגלל שאין לנו את הפרטים של המסד אז לא נוכל לבצע שאילתות.
אבל! אנחנו יכולים לנסות להפציץ את המסד בחיבורים (מן הסתם כושלים) ויש מצב שהוא יקרוס, לא?
ננח קוד כזה ב PHP :
קוד:<?
while (1){
mysql_connect("HTTP://SERVER.COM","some-username","some_pasword");
}
?>

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

תודה לעונים.
05/04/2007 17:30:09 sysctl
אתה חי בסרטים רעים מאוד :|

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


היום אתה לרוב לא תצליח לגרום לשרת לקרוס בלי עוד "עזרה" ממחשבים אחרים
המתקפה הכי נפוצה היא קבוצה של זומבים ששולחים דגלי syn נון סטופ ולא משלימים את החיבור
05/04/2007 17:34:22 devil kide
ציטוט:אתה חי בסרטים רעים מאוד :|

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


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

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


מכיר את המתקפה, פשוט שאלתי אם יקרה כזה מצב, אם הDB יקרוס, או שירגישו האטה.
05/04/2007 19:39:14 חזיר
ה- DB לא יקרוס מהקטע של הניסיונות חיבור עם סתם פרטים.
הוא יכול לטפל ביותר נסיונות ממה שאתה יכול לייצר.

לגבי החלק הראשון, יש לך מגבלת תווים בדפדפן.

ובאמת אם תעשה את שני הדברים האלה דרך מלא זומבים, זה יהיה יותר אפקטיבי.
05/04/2007 23:10:12 sysctl
ציטוט:ציטוט:אתה חי בסרטים רעים מאוד :|

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


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

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


מכיר את המתקפה, פשוט שאלתי אם יקרה כזה מצב, אם הDB יקרוס, או שירגישו האטה.

אתה תמיד מוזמן לנסות

*בעצם זה לא רעיון כ"כ טוב לשים את הקוד הזה בדף*


אתה פשוט תקבל 400
השרתים לא טיפשים כמו שאתם חושב שהם דוויל :)[ההודעה נערכה על-ידי sysctl ב-05/04/2007 23:11:14]
06/04/2007 04:36:19 devil kide
זה לא השרתים אח שלי, זה המתכנתים :).
לא הבנתי, אם אני יתחבר למסד אני יקבל 400 או אם אני יציף את get ?
06/04/2007 11:21:22 sysctl
אם תציף את הכתובת
07/04/2007 15:22:35 HLL
אתה גאון
איך לא חשבו על זה בעבר!! וואי!!
--------------------
לא! ....
בקשר ל$_get ב PHP ... התאוריה שלך יפה והכל רק חבל שיש הגבלה ב HTTP 1.1 ל 1024 תווים (אם זכרוני אינו מטעה אותי ...) בשורת ה GET .
דבר שני. לשרת ממוצע סביר יש GB זיכרון, אם תרצה לגרום DOS על שרת. תצטרך לגרום לו לייצר מידע בזיכרון שהוא הרבה הרבה יותר גדול מ 1GB (מכיר? זיכרון ווירטואלי) - משמע שזה בערך הכמות נתונים שתצטרך לשלוח כדי שדבר כזה יהיה לו סיכוי של 0.1% שיקרה....
[ההודעה נערכה על-ידי HLL ב-07/04/2007 15:36:40]
07/04/2007 15:23:30 SkOd
עדן דבר איתי אני יראה לך כמה דוגמאות...
07/04/2007 17:06:17 coolz
יש מסדי נתונים שאם תפציץ אותם בשאילתות הם יאטו ואף יקרסו, הכל תלוי בהגדרה שלך ללהפציץ... אבל לבד, אני בספק אם תוכל לעשות את זה, אבל אם ניקח אתר לדוגמא, שמשתמש בACCESS בתור מסד נתונים זה יהיה קל מאוד, אבל, העולם לא מושלם, ולא תמצא בשום מקום בערך אתר שמשתמש בACCESS בתור מסד נתונים... אז זה לא רלוונטי בכלל...
07/04/2007 20:28:18 devil kide
הלל, אני יודע שאני גאון :).
סתם רציני, לא תמיד חושבים על רעיונות , כמו כל באג שאפשר למצוא.
ויש הגבלה מסויימת ב POST ?
אז לא נגרום ל dos אלא ל DDoS , אם יש 1GB אז נניח ונביא 1024 אנשים שכל אחד ישלח 1MB (וקצת) ונוכל לתקוף את השרת.
והעובדה שיש לו 1GB לא אומרת שהכל לזיכרות של הget\post , כי הוא צריך להריץ מערכת הפעלה, את מה שמריץ את השרתים (mysql,access וכו’...) , להריץ את הiis,apeche ,firewalls וכו’...

סקוד, שלחתי לך הודעה, לא ענית, נדבר כבר.

קולז, שוב אז במקום dos אפשר לעשות את זה כ ddos .
ויש אתרים ושרתים שישתמשו באקסס כמסד, רק צריך למצוא :).

08/04/2007 13:18:19 HLL
DDOS תמיד אפשר לעשות...
טוב, החבר’ה שלי בבסיס טוענים שכמעט תמיד
אני אומר תמיד.
08/04/2007 16:28:48 devil kide
רגע, אז אם אני אעשה כזה דבר, אפשר להניח שזה יבצע DDOS על השרתים?
09/04/2007 00:36:34 B-HFH
devil , העניין עם החיבורים למסד נכון חלקית... זה אומר שבכל זאת זה כן עובד בחלק מן המקרים.
ולא מדובר רק בהתחברות למסד , זה יכול להיות פעולות בסיסיות שתשים אותם ב while .
דבר כזה יגרום לשרת להיות עסוק בצורה מוגזמת בדבר אחד , ובכך להאט דבר שני ולפעמים לקרוס.
אני פעם אחת קראתי ב brinkster חוקים שחל איסור ביצירת לולאות אינסופיות , זה אומר שאפשר וזה משפיע.
אני מניח שרוב השרתים יודעים להתגונן מתופעה זאת , אבל תמיד אפשר לנסות לבדוק איך לעקוף את זה.
09/04/2007 20:36:48 devil kide
b-hfh ,ברור שהכוונה לכל בקשה של משהו מהמסד, נתתי דוגמא.
וכמובן שחייב להשתמש בלולאה אין סופית, הרי בקשה אחת לא תזיז למסד, גם בקוד שכתבתי השתמשתי בwhile

קוד:
<?
while (1){
mysql_connect("HTTP://SERVER.COM","some-username","some_pasword");
}
?>


אם הם יודעים להתגונן או לא-את זה כבר צריך לבדוק ;-).
11/04/2007 10:32:33 B-HFH
בכל מקרה devil (אגב , השם עדן?) ,
בניגוד למה שאחרים כתבו פה , אני לגמרי מסכים איתך שבעזרת פקודות שגורמות למחשב להאט אפשר לתקוע אותו (כמובן פקודות ב while).
אין לי מושג איך אפשר להתגונן נגד זה , אני מניח שזה בלתי אפשרי לעבור על הקוד למציאת while מכיוון שאז יהיה אפשר לעשות משהו בסגנון כזה:
for i= 1 to 5
i=i-1
next i
וכו’
12/04/2007 16:37:50 devil kide
אכן שמי הוא עדן.

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

ואולי גם אפשר להתגונן, נניח אם זה פקודות להתחבר לשרת, כמו שאמרתי, אז לבדוק שלאחר 10 נסיונות חיבור שגוייות מאותו האיפי (נניח), אז השרת "ננעל" למשך 2 דקות.

ממ.. צריך לבדוק את זה, אבל עדיף לנסות קודם כל על מחשב חלש כדי לחסוך בזמן.
14/04/2007 23:46:13 cp77fk4r
"ואולי גם אפשר להתגונן, נניח אם זה פקודות להתחבר לשרת, כמו שאמרתי, אז לבדוק שלאחר 10 נסיונות חיבור שגוייות מאותו האיפי (נניח), אז השרת "ננעל" למשך 2 דקות."

אתה "מגלה" פה לאט לאט דברים שקיימים כבר הרבה מאוד זמן, תחקור טיפה את התקפות הBrute Force מבחינת ה"הגנה מפניהן" ותמצא שכל מה שאמרת קיים כבר מזמן :)
15/04/2007 00:02:25 devil kide
סיפי, לקחתי את הרעיון מהגנה נגד bf .
15/04/2007 00:39:53 cp77fk4r
אה, אוקיי :)
לילה טוב!
עמודים: 1