google מודיעים שהאתר נחסם עקב זיהום

  • הוסף לסימניות
  • #1
כתבתי קוד.. הכנסתי לאתר דרך cpanel..
ולאחר כמה ימים כשניסו להיכנס לאתר הופיעה הודעה אדומה
שתוקפים נמצאים באתר וכו'.. ויש injection...

הבעיה אותרה ותוקנה..


אבל עכשיו אני לא יכולה להמשיך לכתוב קודים כי אני חוששת שעוד הפעם זה יקרה..
אין לי שמץ מושג מה גרם לזה..
מה עושים?
:( זה תוקע לי את כל העבודה...
 
  • הוסף לסימניות
  • #2
אף אחד לא יודע?? אולי כיוון איפה אפשר למצוא מידע על הנושא?
 
  • הוסף לסימניות
  • #3
נכתב ע"י אסתר א;1471135:
הבעיה אותרה ותוקנה..


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


יש פה סתירה לוגית. אם הבעיה אותרה. אז איך זה ש "אין לי שמץ מושג מה גרם לזה.."
 
  • הוסף לסימניות
  • #4
החברה שבנתה את האתר מלכתחילה , הסכימה חד פעמי לתקן את הבאג באתר...

לטענתם הגורם הוא אני - מחשב לא מאובטח, קובץ לא מאובטח...
קיצר דברים שאין לי מושג מה הם אומרים...
 
  • הוסף לסימניות
  • #5
אי אפשר לענות.
לא נתת שום מידע על איזו מערכת ניהול יש לאתר, באיזו שפה מה הקוד שהכנסת?
האם הקוד מקבל מידע מטופס באתר וכד'?

בגדול יש כמה סוגי פריצות נפוצות שיש להגן מפניהם.

sql injection - הפורץ מבצע הזרקה של קוד SQL דרך שדה טופס באתר
שדה טופס שמכיל קוד SQL לדוג' שדה הסיסמה באתר מקבל ערך כזה:
PHP:
password= ' or 1=1

תחשבי שהכנסת את הערך כמו שהוא לשאילתת SQL תקבלי משהוא כזה:

PHP:
select * from users where username= $username and password = '' or 1=1

1 תמיד שווה לאחת ולכן הפורץ יקבל גישה למערכת הניהול של האתר.

איך מגנים מפני זה :

1. ניקוי של המשתנים שנשלחים מצד לקוח. יש פונקציות יעודייות:

PHP:
mysql_real_escape_string($user_input);

htmlspecialchars()

יש עוד כמה

אפשרות נוספת והכי מומלצת להגנה:
שימוש בPDO בביצוע שאילתות ושימוש ב prepare :

PHP:
$sql = 'SELECT emailaddress FROM users WHERE username = ? AND password = ?';
$query = $db->prepare($sql);
$query->bindParam(1, $_REQUEST['username']);
$query->bindParam(2, $_REQUEST['password']);

מה ש prepare עושה זה הפרדה בין מבנה השאילתא לבין המשתנים שהיא אמורה לקבל וכך הוא מונע התערבות של המשתנים במבנה של השאילתא.

התקפה נוספת אפשרית היא xss attack, שזה קיצור של Cross-site scripting
מה שזה אומר - שתילה של סקריפטים של JS דרך טפסים באתר.

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

This user does not have permission to use the HTML BB code.

השדה הזה נשמר בDB של האתר וכל מי שמבקר באתר אמור לראות את "המודעה" של הפורץ מה שיקרה בפועל שהשרת ירנדר html שמכיל את הסקריפט של הפורץ שאוטומטית יפנה את הגולש לאתר אחר - לא נעים. זו רק דוגמה אחת למעשה הפורץ יכול לעשות כל מה ש JS מאפשר לו.

איך מונעים XSS Attack?
פשוט מנקים את המשתנים שמגיעים מהמשתמש ומכילים תגיות script ותגיות אחרות שתבחרו בעזרת הפונקציות:

PHP:
htmlspecialchars($string, ENT_QUOTES, 'UTF-8');

strip_tags($_POST["comment"]);

זה הממש הא' ב' של אבטחת אתרים חייבים להגן לפחות מפני הפריצות מהסוג הזה.
 
  • הוסף לסימניות
  • #6
וואו.. מדהים העזרה פה של האנשים....!!!...
החכמתי ... תודה על הידע ... מעניין מאוד...

במקרה שלי זה לא זה ואני יפרט:
האתר בנוי בוורדפרס
מערכת ניהול cpanel
databases כמובן mysql
הקוד שהכנסתי php

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

איזה סוג פריצה יכול להיות במקרה כזה?

picture.php
 
  • הוסף לסימניות
  • #8
כן בדיוק...

זה נראה טוב...
בודקת את הדברים... תודה רבה... לא ידעתי על האפשרויות האלו...
 
  • הוסף לסימניות
  • #9
  • הוסף לסימניות
  • #10
להשלמה של מה שכתב maor700, מצ"ב כמה בדיקות לנתונים שמגיעים מטפסים:
<?php


if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = test_input($_POST["name"]);
$email = test_input($_POST["email"]);
$website = test_input($_POST["website"]);
$comment = test_input($_POST["comment"]);
$gender = test_input($_POST["gender"]);
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
{
?>
?>
וכמובן לינק:
 

פרוגבוט

תוכן שיווקי
פרסומת

פוסטים חדשים שאולי לא קראת....

הצטרפות לניוזלטר

איזה כיף שהצטרפתם לניוזלטר שלנו!

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

לוח מודעות

הפרק היומי

הפרק היומי! כל ערב פרק תהילים חדש. הצטרפו אלינו לקריאת תהילים משותפת!


תהילים פרק כה

אלְדָוִד אֵלֶיךָ יי נַפְשִׁי אֶשָּׂא:באֱלֹהַי בְּךָ בָטַחְתִּי אַל אֵבוֹשָׁה אַל יַעַלְצוּ אֹיְבַי לִי:גגַּם כָּל קוֶֹיךָ לֹא יֵבֹשׁוּ יֵבֹשׁוּ הַבּוֹגְדִים רֵיקָם:דדְּרָכֶיךָ יי הוֹדִיעֵנִי אֹרְחוֹתֶיךָ לַמְּדֵנִי:ההַדְרִיכֵנִי בַאֲמִתֶּךָ וְלַמְּדֵנִי כִּי אַתָּה אֱלֹהֵי יִשְׁעִי אוֹתְךָ קִוִּיתִי כָּל הַיּוֹם:וזְכֹר רַחֲמֶיךָ יי וַחֲסָדֶיךָ כִּי מֵעוֹלָם הֵמָּה:זחַטֹּאות נְעוּרַי וּפְשָׁעַי אַל תִּזְכֹּר כְּחַסְדְּךָ זְכָר לִי אַתָּה לְמַעַן טוּבְךָ יי:חטוֹב וְיָשָׁר יי עַל כֵּן יוֹרֶה חַטָּאִים בַּדָּרֶךְ:טיַדְרֵךְ עֲנָוִים בַּמִּשְׁפָּט וִילַמֵּד עֲנָוִים דַּרְכּוֹ:יכָּל אָרְחוֹת יי חֶסֶד וֶאֱמֶת לְנֹצְרֵי בְרִיתוֹ וְעֵדֹתָיו:יאלְמַעַן שִׁמְךָ יי וְסָלַחְתָּ לַעֲוֹנִי כִּי רַב הוּא:יבמִי זֶה הָאִישׁ יְרֵא יי יוֹרֶנּוּ בְּדֶרֶךְ יִבְחָר:יגנַפְשׁוֹ בְּטוֹב תָּלִין וְזַרְעוֹ יִירַשׁ אָרֶץ:ידסוֹד יי לִירֵאָיו וּבְרִיתוֹ לְהוֹדִיעָם:טועֵינַי תָּמִיד אֶל יי כִּי הוּא יוֹצִיא מֵרֶשֶׁת רַגְלָי:טזפְּנֵה אֵלַי וְחָנֵּנִי כִּי יָחִיד וְעָנִי אָנִי:יזצָרוֹת לְבָבִי הִרְחִיבוּ מִמְּצוּקוֹתַי הוֹצִיאֵנִי:יחרְאֵה עָנְיִי וַעֲמָלִי וְשָׂא לְכָל חַטֹּאותָי:יטרְאֵה אוֹיְבַי כִּי רָבּוּ וְשִׂנְאַת חָמָס שְׂנֵאוּנִי:כשָׁמְרָה נַפְשִׁי וְהַצִּילֵנִי אַל אֵבוֹשׁ כִּי חָסִיתִי בָךְ:כאתֹּם וָיֹשֶׁר יִצְּרוּנִי כִּי קִוִּיתִיךָ:כבפְּדֵה אֱלֹהִים אֶת יִשְׂרָאֵל מִכֹּל צָרוֹתָיו:
נקרא  2  פעמים
למעלה