הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [טיפ] איך לדעת שה ACT שהכניסו הוא תקין (https://hosts.co.il/forums/showthread.php?t=36637)

psycho 23-12-06 13:10

ציטוט:

נכתב במקור על ידי SDF (פרסם 393136)
זה רק יצרף את הקוד, אבל זה כבר מקרב את הפורץ הפוטנציאלי צעד נוסף אלייך.
רוב השרתים רצים עם mod_php, ז"א כל סקריפטי הPHP רצים תחת היוזר שהapache רץ תחתיו
www או apache או כל שטות אחרת, כדי שהסקריפטים של כל היוזרים יעבדו, הסקריפטים הם בד"כ ב777 (ז"א קריא ע"י others). שזאת פירצה בפני עצמה.

PHP קוד:

<?php
// מציג את היוזר שהסקריפט רץ תחתיו
$processUser posix_getpwuid(posix_geteuid());
print 
"I'm running uder: <b>" $processUser['name'] . "</b><br>\n";
// מציג את היוזר שהקובץ שייך לו
print "File owned by: <b>" get_current_user() . "</b><br>\n";
?>

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

safe mode
opendir
וכו'
מדבר אלייך
או שגם את זה אתה עוקף בשניה? :) למה להכליל את "החברות" פה, זה שהם קנו DA ובטוחים שהם מאובטחים זה משו אחד אבל להכליל את כל השאר זה מעליב


------
בכל אופן מר נדב המתכנת הדגול, לא עשית משהו יותר יעיל מ ה SWITCH
שאני בכלל נגדו, אבל אם מתעקשים על ACT בצורה כזו עם אינקלודים וכו'
אז שיבושם להם

tnadav 23-12-06 13:43

ציטוט:

נכתב במקור על ידי psycho (פרסם 393326)
------
בכל אופן מר נדב המתכנת הדגול, לא עשית משהו יותר יעיל מ ה SWITCH
שאני בכלל נגדו, אבל אם מתעקשים על ACT בצורה כזו עם אינקלודים וכו'
אז שיבושם להם

אני אומר שוב ושוב! זה לא יותר יעיל!
זה פשוט יותר קל לתחזוקה, וזאת הבעיה הגדולה של Switch...

ואני לא ממש מבין על מה אתה מדבר, שאתה עושה Switch, אתה לא עושה Include? מה אתה כן עושה?

בנוסף, אתה אמרת שאתה בכלל נגד Switch, מה אתה כן מציע?

Eli-Hai 23-12-06 15:57

אני הצלחתי לבנות משהו פשוט עם foreach וכמה תנאים פשוטים, שהמשתמש שולף את הקובץ בצורה מאובטחת לחלוטין - זה חוסם כתובות, או דפדוף בתיקיות באמצעות ..\ או /.. וכל שיטה אחרת :P

EDIT
שכחתי לציין, זה שולף אוטומטית עם $_GET, בלי צורך לעדכן את קובץ השליפה.
צריך ליטוש אחרון וזהו.

psycho 23-12-06 15:57

ציטוט:

נכתב במקור על ידי tnadav (פרסם 393343)
אני אומר שוב ושוב! זה לא יותר יעיל!
זה פשוט יותר קל לתחזוקה, וזאת הבעיה הגדולה של Switch...

ואני לא ממש מבין על מה אתה מדבר, שאתה עושה Switch, אתה לא עושה Include? מה אתה כן עושה?

בנוסף, אתה אמרת שאתה בכלל נגד Switch, מה אתה כן מציע?

מי צריך לעבוד עם ?act וכו'?

SWITCH נוח כתחלופה למספר רב של IFים

למה לי לעבוד
index.php?page=register
ולא כ
register.php ?

SDF 23-12-06 16:34

ציטוט:

נכתב במקור על ידי psycho (פרסם 393326)
safe mode
opendir
וכו'
מדבר אלייך
או שגם את זה אתה עוקף בשניה? :) למה להכליל את "החברות" פה, זה שהם קנו DA ובטוחים שהם מאובטחים זה משו אחד אבל להכליל את כל השאר זה מעליב

בגלל זה דיברתי על "חברות", ולא חברות.
ובכל אופן, safe mode וopendir לא נעקפים בשניה, לא בPHP לפחות, אבל רוב החברות גם נותנות גישה להרצת CGI, מה שהופך את הנ"ל למיותרים.

הרי אם יש לי יוזר בשרת כלשהו, כל מה שאני צריך לעשות
בשביל לגנוב למישהו את הקוד, זה רק לדעת מה היוזר שלו, והדומיין.
ואז לעשות איזה bla.cgi
קוד:

#!/bin/bash
cat /usr/home/victim_user/victim.com/public_html/index.php

והופ, הקוד אצלי.
וכן, גם על זה אפשר להתגבר עם suexec.
אבל לדעתי, מראש, רצוי שסקריפטים (PHP ודומייהם) ירוצו תחת היוזר שיצר אותם, ולא יוזר אחד,
כמו apache, www, httpd וכו'.

tnadav 23-12-06 16:52

ציטוט:

נכתב במקור על ידי psycho (פרסם 393413)
מי צריך לעבוד עם ?act וכו'?

SWITCH נוח כתחלופה למספר רב של IFים

למה לי לעבוד
index.php?page=register
ולא כ
register.php ?

מה שהבאת בהחלט מיותר, אבל, במערכת גדולה, לפעמים יש צורך להשתמש ב- ACT, למשל, כאשר המערכת מונחית מודולים, ואנחנו רוצים להשתמש במודול מסוים

נריה 23-12-06 21:01

נחמד
אבל אני משתמש ב

הרבה יותר יעיל וטוב
PHP קוד:

switch($page)

case 
'logout'
include 
"out.php"
break;


ומה שלא ניכנס הולך deafult


כל הזמנים הם GMT +2. הזמן כעת הוא 05:27.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ