PDA

View Full Version : تشخیص ارسال اطلاعات از جایی خارج از سایت



mohammad-gh
جمعه 03 بهمن 1393, 18:27 عصر
با سلام
اطلاعاتی در یک صفحه از طریق پست (POST یا GET) ارسال و در بانک اطلاعاتی ذخیره میشود

حالا فکر کنید همون اطلاعات رو یک فرم در یک جای دیگه و خارج از سایت خودمان داره ارسال می کنه
مثل اطلاعات لازم برای ثبت نام کاربر ؟
چطور می تونیم تشخیص بدیم این اطلاعات از فرمی خارج از سایت ارسال نشده

rezakho
جمعه 03 بهمن 1393, 22:13 عصر
میتونید از csrf token استفاده کنید، مخصوص همین کار ساخته شده

us1234
شنبه 04 بهمن 1393, 09:56 صبح
ریفرر های مروگر یوزر را با آدرس سایت خودتون چک کنید :


$_SERVER['HTTP_REFERER']

اگر تفاوت داشت یعنی از جای دیگری دارد پست میکند .

البته csrf token یا همین referer ، تمامی این روش ها قابل دور زدن میباشد.

nazanin_asadi_1
شنبه 04 بهمن 1393, 11:50 صبح
امنیت هیچ وقت 100 در 100 نیست و نمی تونه باشه

این ریفرر های هایی که گفتین رو راحت میشه تغییرشون داد

میدونید چند روش رو با هم انجام بدین در ضمن در صورت تخدی به کاربر نکین مشکل کار چیه فقط بگین مشکلی پیش اومده

مثلا میتونید از سیشن توی صفحه ورود اطلاعات استفاده کنید
ریفرر های ها رو بررسی کنید
حجم داده ها رو بررسی کنید
سرعت ارسال درخواست ها رو از رنج آیپی ها کنترل کنید (مثلا یکی با یه آی پی اگه هی اطلاعات تکراری داد ریدایرکتش کنید )

rezakho
شنبه 04 بهمن 1393, 19:32 عصر
ریفرر های مروگر یوزر را با آدرس سایت خودتون چک کنید :


$_SERVER['HTTP_REFERER']

اگر تفاوت داشت یعنی از جای دیگری دارد پست میکند .

البته csrf token یا همین referer ، تمامی این روش ها قابل دور زدن میباشد.

کسی که کمی با روبوت ها و طرز کار و نوشتنشون آشنا باشه میدونه که referer و امثالهم رو به طرفه العینی میشه دور زد!
csrf token ها اگر درست پیاده سازی بشند، به این راحتی یا حتی کلا قابل دور زدن نیستند، حالا دوستان می گند به راحتی توضیح بدند ما هم آشنا بشیم!!!

rezakho
شنبه 04 بهمن 1393, 19:34 عصر
امنیت هیچ وقت 100 در 100 نیست و نمی تونه باشه

این ریفرر های هایی که گفتین رو راحت میشه تغییرشون داد

میدونید چند روش رو با هم انجام بدین در ضمن در صورت تخدی به کاربر نکین مشکل کار چیه فقط بگین مشکلی پیش اومده

مثلا میتونید از سیشن توی صفحه ورود اطلاعات استفاده کنید
ریفرر های ها رو بررسی کنید
حجم داده ها رو بررسی کنید
سرعت ارسال درخواست ها رو از رنج آیپی ها کنترل کنید (مثلا یکی با یه آی پی اگه هی اطلاعات تکراری داد ریدایرکتش کنید )
کنترل جریان درخواست ها، حجم داده و ای پی عموما برای جلوگیری از جملات D-DOS استفاده میشه، اینجا بحث سر csrf هست، یعنی درخواست از طریق سایت ثالث جعل و ارسال نشه!

mohammad-gh
یک شنبه 05 بهمن 1393, 17:19 عصر
با تشکر از دوستان
بله بحث منحرف نشه
ما می خواهیم تشخیص بدیم اطلاعاتی که ارسال شده از خود سایت یا جایی خارج از سایت

us1234
دوشنبه 06 بهمن 1393, 10:12 صبح
کسی که کمی با روبوت ها و طرز کار و نوشتنشون آشنا باشه میدونه که referer و امثالهم رو به طرفه العینی میشه دور زد!
csrf token ها اگر درست پیاده سازی بشند، به این راحتی یا حتی کلا قابل دور زدن نیستند، حالا دوستان می گند به راحتی توضیح بدند ما هم آشنا بشیم!!!

یک صفحه که اطلاعات را از کاربر میگرد و csrf token در آن به کار بده اید لینک بدهید تا ربات آن را براتون درست کنم ( به شرطی که کپتچا نداشته باشد ) :لبخندساده:

روش توضیح داده نمیشود !

freeman99
دوشنبه 06 بهمن 1393, 11:11 صبح
واسه اونایی که csrf token دارن هم میشه روبات نوشت و کار آنچنان سختی هم نیست، ولی خب بهرحال کار برنامه نویسیش یخورده سخت تر و کارکرد برنامش هم برای حمله کننده کندتر و پرهزینه تر میشه و همین امر میتونه جلوی خیلی از افراد و بعضی از روبات های ساده رو بگیره.
البته csrf token در جلوگیری از حمله های CSRF (حمله به/از طریق کاربران عادی) کاملا موثره.
اینکه بگیم «چطور می تونیم تشخیص بدیم این اطلاعات از فرمی خارج از سایت ارسال نشده» غیر از این زیاد معنایی نداره چون بهرحال روبات هم مثل مرورگر یک برنامه است که روی کلاینت اجرا میشه، فرم سایت شما رو میخونه، و مقادیری رو ارسال میکنه. فرقش با مرورگر و عمل توسط کاربر عادی فقط بحث خودکار سازی این عملیات است که اگر بخوایم جلوش رو بگیریم باید از کپچا استفاده کنیم.

freeman99
دوشنبه 06 بهمن 1393, 11:22 صبح
من واسه یه سایتی روبات نوشتم، کپچاش خیلی غیراصولی بود (از این کپچاهایی که سوال و جواب متنی میپرسن) و نتونست جلوی روبات رو بگیره، بعدش اومدن یه کپچای تصویری گذاشتن، دیگه اونو نتونستم کرک کنم چون تخصص و کار زیادی برای پردازش تصویر میخواست، ولی باز اومدم و بخشهای دیگر رو خودکار کردم و روبات به من فقط کپچا رو نشون میداد و من فقط کد کپچا رو واسش وارد میکردم و بقیهء فیلدها رو خود روبات ست و ارسال میکرد. اینطوری هنوزم میشد یخورده اذیت کرد، ولی طبیعتا سرعت کار نسبت به قبل خیلی کندتر میشد و یه آدم به این گندگی هم باید علاف همچین کار مبتذلی میشد، این بود که دیگه بیخیال اذیت کردنشون شدم :لبخند:
البته هدف من از اون کار یادگیری و بحث آموزشی هم بودا، هرچند از دستشون عصبانی بودم و میخواستم نمایش قدرتی هم داشته باشم :لبخند:
در خیلی مواقع مثل اینها مسئله همینه که هزینهء لازم برای حمله (منابع سخت افزاری، هزینه های مادی، پهنای باند، زمان، نیاز به نظارت و دخالت انسان) رو اونقدری بالا ببریم که دیگه برای طرفها صرف نکنه و انگیزهء کافی برای سوء استفاده نداشته باشن (باید نسبت هزینه در مقابل خسارت برای سایت (یا سود برای هکر) رو بالا برد). 100% مطلق نمیشه جلوی بعضی سوء استفاده ها و حمله ها رو گرفت، مگر از راهکارهای خاص که معمولا برای کاربردهای عمومی نمیشه یا صرف نمیکنه استفاده کرد.
یکی دیگر از حمله هایی که جلوگیری قاطع ازش غیرممکن یا خیلی دشواره، حمله های ‎(D)DOS است.

باید بگم متاسفانه کپچاهای تصویری هم امنیت مطلق و همیشگی ندارن و روز به روز الگوریتم های پردازش تصویر هم خطرناک تر میشن و خوندن کپچاهای واقعا امن در حال حاضر حتی برای انسان هم واقعا دشوار شده و اذیت میکنه (حتما کپچاهای گوگل و اینا رو دیدید که خیلی وقتا چقدر سخت و آزاردهنده هستن و آدم ممکنه بارها اشتباه بخونه). از طرف دیگر میشه با یکسری کلک ها و ترفندهایی از نیروی انسانی برای کرک کپچا استفاده کرد که یا هزینهء خیلی کمی داشته باشه یا اصلا مردم رو گول بزنیم که مفتی برامون کپچاها رو بخونن!! (البته این برای حمله های بزرگ بنظرم در اکثر عملی نیست، ولی برای کارهای کوچک میشه استفاده کرد).

us1234
دوشنبه 06 بهمن 1393, 12:01 عصر
من واسه یه سایتی روبات نوشتم، کپچاش خیلی غیراصولی بود (از این کپچاهایی که سوال و جواب متنی میپرسن) و نتونست جلوی روبات رو بگیره، بعدش اومدن یه کپچای تصویری گذاشتن، دیگه اونو نتونستم کرک کنم چون تخصص و کار زیادی برای پردازش تصویر میخواست، ولی باز اومدم و بخشهای دیگر رو خودکار کردم و روبات به من فقط کپچا رو نشون میداد و من فقط کد کپچا رو واسش وارد میکردم و بقیهء فیلدها رو خود روبات ست و ارسال میکرد. اینطوری هنوزم میشد یخورده اذیت کرد، ولی طبیعتا سرعت کار نسبت به قبل خیلی کندتر میشد و یه آدم به این گندگی هم باید علاف همچین کار مبتذلی میشد، این بود که دیگه بیخیال اذیت کردنشون شدم :لبخند:
البته هدف من از اون کار یادگیری و بحث آموزشی هم بودا، هرچند از دستشون عصبانی بودم و میخواستم نمایش قدرتی هم داشته باشم :لبخند:
در خیلی مواقع مثل اینها مسئله همینه که هزینهء لازم برای حمله (منابع سخت افزاری، هزینه های مادی، پهنای باند، زمان، نیاز به نظارت و دخالت انسان) رو اونقدری بالا ببریم که دیگه برای طرفها صرف نکنه و انگیزهء کافی برای سوء استفاده نداشته باشن (باید نسبت هزینه در مقابل خسارت برای سایت (یا سود برای هکر) رو بالا برد). 100% مطلق نمیشه جلوی بعضی سوء استفاده ها و حمله ها رو گرفت، مگر از راهکارهای خاص که معمولا برای کاربردهای عمومی نمیشه یا صرف نمیکنه استفاده کرد.
یکی دیگر از حمله هایی که جلوگیری قاطع ازش غیرممکن یا خیلی دشواره، حمله های ‎(D)DOS است.

باید بگم متاسفانه کپچاهای تصویری هم امنیت مطلق و همیشگی ندارن و روز به روز الگوریتم های پردازش تصویر هم خطرناک تر میشن و خوندن کپچاهای واقعا امن در حال حاضر حتی برای انسان هم واقعا دشوار شده و اذیت میکنه (حتما کپچاهای گوگل و اینا رو دیدید که خیلی وقتا چقدر سخت و آزاردهنده هستن و آدم ممکنه بارها اشتباه بخونه). از طرف دیگر میشه با یکسری کلک ها و ترفندهایی از نیروی انسانی برای کرک کپچا استفاده کرد که یا هزینهء خیلی کمی داشته باشه یا اصلا مردم رو گول بزنیم که مفتی برامون کپچاها رو بخونن!! (البته این برای حمله های بزرگ بنظرم در اکثر عملی نیست، ولی برای کارهای کوچک میشه استفاده کرد).

تمامی صحبت های شما تایید میشه . در تکمیل :

شما اگر یکم پول ( دلار ) خرج می کردید می تونستید همون کپتچا را با یک وب سرویس حل کنید ( تضمینی چون خودم برای یک پروژه دارم از این وب سرویس استفاده میکنم و بدون مشکل کپتچا های به شدت سخت را در زمان بین 10 الی 20 ثانیه حل میکنه ولی خرج داره ! )

در خصوص حمله DDos هم میشه کنترل کرد ( اینم یکم خرج داره :بوس: ) استفاده از : cloudflare.com

freeman99
دوشنبه 06 بهمن 1393, 13:43 عصر
شما اگر یکم پول ( دلار ) خرج می کردید می تونستید همون کپتچا را با یک وب سرویس حل کنید ( تضمینی چون خودم برای یک پروژه دارم از این وب سرویس استفاده میکنم و بدون مشکل کپتچا های به شدت سخت را در زمان بین 10 الی 20 ثانیه حل میکنه ولی خرج داره ! )

شاید پشت این وب سرویس هم همون عمله های چینی کار واقعی رو انجام میدن :چشمک:


در خصوص حمله DDos هم میشه کنترل کرد ( اینم یکم خرج داره :بوس: ) استفاده از : cloudflare.com
بله اگر مجبور باشیم و صرف بکنه، سایتش ارزشش رو داشته باشه، میشه استفاده کرد.
ولی بهرحال اگر راه مستقل در خود برنامه یا سرور داشت خیلی بهتر میبود طبیعتا. وابستگی به سرویسهای برونی دردسرها و ضعف های خودش رو داره بعلاوه هزینش.