לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 30-05-2009, 08:59
  Boidem Boidem אינו מחובר  
 
חבר מתאריך: 08.09.08
הודעות: 23
שאלה בנוגע לשינוי \ איפוס ססמא

שלומות לכל יושבי האתר, לאחר חיפושים רבים בארכיון ובהודעות הפורום ללא פיתרון החלטתי לשאול בעצת המומחים, אם השאלה אינה מתאימה לכאן, אנא, אשמח אם תעבירו אותה למקום הנכון וסליחה מראש.
אז מעשה שהיה כך היה : לפני 3-4 שנים ביקשתי ממתכנתת לבנות לי חנות וירטואלית מבוססת על OSCOMMERCE , את החנות "שיפצרנו" במידת הצורך והכל התחיל להראות טוב,
לאחר שהכל היה מוכן ביקשתי ממנה להוסיף עוד דף אבטחה (עמוד PHP עם לוגו ושתי שורות אחת שם משתמש ואחת ססמא) לדף הניהול של האתר,ז"א שמי שרוצה להכנס לmywebsite.co.il/admin יעבור עוד דף זיהוי לפני שהוא מגיע לדף הראשי עם השם משתמש והססמא הבנוי של האתר.
כמובן שלפני כמה ימים הוצאתי את האתר מהמגירה, העליתי אותו שוב ושמתי לב שכל האותיות הפכו לסימני שאלה (כנראה בעיית קידוד אבל זו שאלה אחרת לזמן אחר) ושיש המון דברים שהייתי רוצה לשנות שם, ואיך לא, שכחתי את הססמא... עכשיו אני כמעט בטוח שהססמא לא כתובה ישירות בקוד אלא בSQL (דעתי בלבד)
שאלתי היא, איך אני מתחיל בכלל לפתור את העניין הזה, יש לי גישה לפאנל ניהול , לקבצים, ל PHPMYADMIN , ניסיתי להכנס לADMINISTRATOR שם ולראות את הססמא דרך מחשבון MD5 , לא צלח בידי העניין, אשמח לדעת אם קיימת דרך לאפס ססמא כזו, או דרך להתחקות אחר הנתיבים של האתר, מרגע שהוא עולה למסך ססמא בניהול עד לפאנל ניהול עצמו (ואז אולי בכלל אפשר לעקוף את המסך הזה)
אז, קודם כל תודה רבה למי שקרא עד כאן ותודה עוד יותר גדולה למי שיזרוק לי כיוונים לגבי איך אני תוקף את העניין הזה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 30-05-2009, 21:07
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 1 שנכתבה על ידי Boidem שמתחילה ב "שאלה בנוגע לשינוי \ איפוס ססמא"

בוודאי שאתה יכול לעקוף, אתה בעל האתר ולך כל הגישות למקומות הרגישים ששייכים לאתר.

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

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

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

בנוגע לבעיית הקידוד, תצטרך לשלוח כותרים מתאימים גם בצד שרת (פונקציית header עם כותר מתאים) וגם בצד לקוח (תג meta), בהתאם לקידוד שהמערכת מותאמת אליו.

נערך לאחרונה ע"י dorM בתאריך 30-05-2009 בשעה 21:09.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 31-05-2009, 09:08
  Boidem Boidem אינו מחובר  
 
חבר מתאריך: 08.09.08
הודעות: 23
קודם כל תודה רבה
בתגובה להודעה מספר 2 שנכתבה על ידי dorM שמתחילה ב "בוודאי שאתה יכול לעקוף, אתה..."

על התגובה והעזרה...
בנוגע ליצירת קשר עם המתכנתת בעייתי משהו אני מאמין שבימים אלה היא איי שם בהרי האלפים, קלימנג'רו או האוורסט ואין לה תקשורת לא איתי ולא עם שאר העולם לפחות לא בחודשיים הקרובים, מה שמוציא אותי מהנתיב המהיר והקל ושולח אותי לפתרון (כנראה) קצת יותר מסובך שאיתו אני מקווה שתעזרו לי להתמודד...
אני יכול לשלוח את השורות קוד או מה שצריך ולקבל הכוונה, עד כמה שאני יודע בנוגע למסד נתונים אני הוספתי אותו לאחסון שלי והשליטה שם מתבצעת בעזרת PHPMYADMIN , שם אני יכול לראות את כל הקבוצות ולא שלא ניסיתי לאפס את הססמא (נתתי לו שם קוד MD5 של הססמא 1234) ומשום מה לא עובד העניין, אשמח להכוונה בעניין...
תודה רבה מראש
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #5  
ישן 31-05-2009, 16:41
  Boidem Boidem אינו מחובר  
 
חבר מתאריך: 08.09.08
הודעות: 23
מקווה שהבנתי נכון, כנ"ל לגבי הצנזור :)
בתגובה להודעה מספר 4 שנכתבה על ידי dorM שמתחילה ב "אוקי אז מה שתצטרך לעשות זה..."

במסך ניהול , זו הכתובת הראשונה שמופיעה לי בתור URL ( בדף כניסה הראשוני שאנחנו רוצים לעקוף)

login.php

קוד PHP:
<?php
include("includes/configure.php");
 
?>
<html dir="rtl">
<head>
<title>Administration Login</title>
<style type="text/css">
BODY,TD {
margin: 0px;
font-size: 12px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.MENU_TITLE {
background-color: #BBC3D3;
color: white;
font-weight: bold;
font-size: 12px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.NAV {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
}
</style>
<link href="includes/stylesheet.css" rel="stylesheet" type="text/css">
</head>
<body>
<table border=0 cellpadding=0 cellspacing=0 width=100% height=100%>
<tr>
    <td width=100% height=100% align="center" valign="middle">
     <form action="<?php echo HTTP_CATALOG_SERVER DIR_WS_ADMIN "LoginAction.php";?>" method="post" name="LoginAction">
<input type="hidden" name="psRefer" value="<? echo $refer; ?>">
<table border=0 cellpadding=4 cellspacing=0 width=450>
    <tr>
     <td colspan="2" align="center" class="NAV"><img src="../images/logo.jpg" alt="Company Name" vspace="0" border="0"><br>
    <br><br>
</td>
    </tr>
     <tr>
        <td align="right" width=40% class="menu_title">&auml;&uacute;&ccedil;&aacute;&oslash;&aring;&uacute; &icirc;&eth;&auml;&igrave;&eacute;&iacute; </td>
<td width=60% class="menu_title">&nbsp;</td>
     </tr>
     <tr>
        <td align="right" width=40%>&ugrave;&iacute;:</td>
        <td align="left" width=60%><input type="text" name="psName" style="width: 200px" value=""></td>
     </tr>
     <tr>
        <td align="right" width=40%>&ntilde;&eacute;&ntilde;&icirc;&agrave;:</td>
        <td align="left" width=60%><input type="password" name="psPassword" style="width: 200px" value=""></td>
     </tr>
     <tr>
        <td align="right" width=40%><input type="submit" name="admin_login_submit" value="&auml;&uacute;&ccedil;&aacute;&oslash;"></td>
        <td align="left" width=60%><input type="reset" name="admin_login_reset" value="&eth;÷&auml;"></td>
     </tr>
     </table>
     </form>
    </td>
</tr>
</table>
</body>
</html>


שכנראה (לפי עניות דעתי) מפנה לקובץ הבא : LOGINACTION.PHP

קוד PHP:
<?php
// Include application configuration parameters
require('includes/configure.php');
// include the database functions
require(DIR_WS_FUNCTIONS 'database.php');
// make a connection to the database... now
tep_db_connect() or die('Unable to connect to database server!');
// Check if the information has been filled in
if(($psName == "") || ($psPassword == "")) {
// No login information
header('Location: ' HTTP_CATALOG_SERVER DIR_WS_ADMIN 'login.php?refer='.urlencode($psRefer));
} else {
// Authenticate user
$psName addslashes($psName);
$psPassword addslashes($psPassword);
$sQuery "SELECT ID, MD5(UNIX_TIMESTAMP() + ID + RAND(UNIX_TIMESTAMP())), sGUID FROM administrator WHERE (sName = '$psName') AND (sPassword = password('$psPassword'))";
$hResult mysql_query($sQuery);
if(
mysql_affected_rows()) {
$aResult mysql_fetch_row($hResult);
// Update the user record
$sQuery "UPDATE administrator SET sGUID = '" addslashes($aResult[1]) . "' WHERE ID = '" addslashes($aResult[0]) . "'";
mysql_query($sQuery);
// Set the cookie and redirect
setcookie("session_id"$aResult[1]);
if(!
$psRefer$psRefer HTTP_CATALOG_SERVER DIR_WS_ADMIN 'index.php';
header('Location: ' HTTP_CATALOG_SERVER DIR_WS_ADMIN 'index.php');
} else {
// Not authenticated
header('Location: ' HTTP_CATALOG_SERVER DIR_WS_ADMIN 'login.php?refer='.urlencode($psRefer));
}
}
?>


עכשיו ... אני לא כזה מבין בPHP אבל פחות או יותר נראה לי לפי ההתניות שם שמה שקורה זה כזה דבר ותקן אותי אם אני טועה , הLOGIN.PHP הראשוני שעולה מפנה לקובץ השני LOGINACTION.PHP שנותן לי את המסך עם השתי שורות והלוגו, במידה ואני מכניס לו פרמטרים נכונים הוא מעביר אותי בצורה כלשהיא לINDEX.PHP המיוחל ? ובמידה ולא מחזיר אותי שוב לאותו המסך, שמתי לב שמצוינות שם הערות שאני אמור לקבל במידה והססמא לא נכונה (מה שבפועל לא קורה) ולא משנה איזו ססמא אני שם זה פשוט מחזיר אותי לאותו מסך שוב ושוב...
כרגע אשמח אם אצליח לדלג על המסך הזה ולהגיע ישר לממשק ניהול ובהמשך אני אחזיר אותו, או שאם יש דרך להבין על גבי הפורום איך עושים את זה אשמח, יש לי ידע בסיסי בעניין ובמקרה הכי גרוע (של הרס) , אני פשוט אעלה שוב את האתר לא כזה ביג דיל,
מקווה שלא מטרטר יותר מדי ותודה מראש על העזרה...

נערך לאחרונה ע"י Boidem בתאריך 31-05-2009 בשעה 16:49.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 31-05-2009, 18:46
  Boidem Boidem אינו מחובר  
 
חבר מתאריך: 08.09.08
הודעות: 23
ניסיתי
בתגובה להודעה מספר 9 שנכתבה על ידי dorM שמתחילה ב "זה נדמה שמופעל אצלך..."

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

register global פעיל, אני יודע את זה כי אני הוספתי לו שורה בhtacces נדמה לי, הוא לא נתן לי להעלות את האתר עד שלא הוספתי לו שם שורה שאמרה משהו כזה :
register global = 1
או = on

לגבי הINDEX.PHP הדבר הראשון שניסיתי לעשות היה לעקוף את זה בצורה הזו, רק הבעיה היא שגם מתי שאני מנסה להעלות ישירות ל index.php הוא מעיף אותי לlogin.php וחוזר חלילה,
לפי דעתי הדף הזה פשוט לא מתייחס לשום ססמא וחוזר על עצמו כל פעם (עד כמה שזה לא נשמע הגיוני) בכל אופן אני מעתיק את התוכן שלו לכאן :

index.php
(תוכן הקובץ צונזר ע"י dorM)

אין פה אפילו איזכור לLOGINACTION.PHP שאת זה לא הצלחתי להבין ...

נערך לאחרונה ע"י dorM בתאריך 31-05-2009 בשעה 20:10.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #11  
ישן 31-05-2009, 20:07
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 10 שנכתבה על ידי Boidem שמתחילה ב "ניסיתי"

תנסה להעלות את הקובץ secure\password_protect.php לאחר שצינזרת את תוכנו.
אני חושב ששם נמצא מה שצריך להמצא.
אבל אל תכתוב כאן את הקוד שבתוך הקובץ, אלא ממש תעלה אותו לשרת של פרש כדי שיהיה יותר קל לקרוא ולעקוב אחרי ההודעות באשכול.

להעלאת קובץ - תלחץ על הלינק "לחץ כאן להעלאת קובץ" שמתחת לקופסת הכתיבה \ קופסת הסמיילים בעמוד התגובה לאשכול.

ולידע כללי - זה לא מומלץ ש- register_globals יהיה מופעל, מבעיות אבטחה...
אני מקווה שהמתכנתת דאגה לאתחל את כל המשתנים לפני השימוש בהם.

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

עריכה:

בקובץ LOGINACTION.PHP:

תחליף את השורות:
קוד PHP:
 $psName addslashes($psName);
$psPassword addslashes($psPassword); 


עם השורות:
קוד PHP:
 $psName mysql_real_escape_string($psName);
$psPassword mysql_real_escape_string($psPassword); 

נערך לאחרונה ע"י dorM בתאריך 31-05-2009 בשעה 20:14.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #13  
ישן 01-06-2009, 06:28
  Boidem Boidem אינו מחובר  
 
חבר מתאריך: 08.09.08
הודעות: 23
בתגובה להודעה מספר 12 שנכתבה על ידי Boidem שמתחילה ב "החלפתי בין השורות שכתבת..."

הערה קטנה :
גם לאחר החלפת התוכן של password_protect.php בתוך תיקיית SECURE ומחיקת ההפניה אליו מINDEX.PHP , לא הביאה לשום תוצאה נראית לעין, נראה שהמסך הזה פשוט לא מתייחס לכלום, ולא משנה מה תכניס שם הוא ימשיך להיות במין לופ כזה שלא נגמר...
בנקודה הזו נגמרו לי הרעיונות היצירתיים ופה כבר צריך להבין בקוד כדי להמשיך ואני טיפה רחוק מזה, אז אשמח לרעיונות קריאטיביים...
ד.א גם לפני שמחקתי את התכולה שלו ניסיתי את השם משתמש וססמא שכתובים שם והם לא עבדו,
מה שכן, אולי יש קשר לDATABASE ? איך אני יכול לדעת שלא מחקתי שם משהו בטעות או שאכן הוא שואב את הנתונים מבסיס כלשהוא ? ואם כן מאיזה ? כי יכול להיות שבנסיונות התעסקות שלי עם הססמא מחקתי לו שם איזה ערך, או שאין קשר לדברים ?
תודה רבה ענקית מראש...
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 17:10

הדף נוצר ב 0.06 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר