
YZMCMS v3.7 नवीनतम संस्करण XSS भेद्यता CVE-2018-8078
YZMCMS v3.7最新版xss漏洞
YZMCMS V3.7 Stored XSS
这个xss存在于v3.7新增的广告管理模块,如图所示:
यह xss v3.7 के नए विज्ञापन प्रबंधन मॉड्यूल में मौजूद है, जैसा कि चित्र में दिखाया गया है:

我们可以在YzmCMS-V3.7\application\advertisement\controller\adver.class.php第55-70行中找到广告管理编辑功能的具体代码,如图所示:
हम YzmCMS-V3.7\application\advertisement\controller\adver.class.php की पंक्तियों 55-70 में विज्ञापन प्रबंधन संपादन फ़ंक्शन का विशिष्ट कोड पा सकते हैं, जैसा कि चित्र में दिखाया गया है:

其中,在第59行调用了一个名为getcode的方法,用POST方法传递了一组参数,我们继续跟进该方法,该方法返回一个$data[‘title’]没有进行任何的过滤,直接作为参数return到$POST_[‘code’]中,如图所示:
इनमें से, पंक्ति 59 पर getcode नामक एक विधि कॉल की जाती है, POST विधि का उपयोग करके पैरामीटर का एक सेट पास किया जाता है, और हम उस विधि का अनुसरण करना जारी रखते हैं। यह विधि बिना किसी फ़िल्टरिंग के सीधे $data['title'] लौटाती है। पैरामीटर को $POST_[‘code’] में लौटाएँ, जैसा कि दिखाया गया है:

我们返回edit继续往下跟进,在edit方法中有include包含了一个名为adver_edit的文件如图所示:
चलिए edit पर वापस जाते हैं और आगे अनुसरण करते हैं। edit विधि में include एक adver_edit नामक फ़ाइल को शामिल करता है, जैसा कि चित्र में दिखाया गया है:

我们可以在YzmCMS-V3.7\application\advertisement\view该路径下找到该文件,可以看到至此,yzmcms并未对数据进行任何过滤,直接输出到页面中,如图所示:
हम फ़ाइल को YzmCMS-V3.7\application\advertisement\view पथ में पा सकते हैं। आप देख सकते हैं कि yzmcms किसी भी डेटा को फ़िल्टर नहीं करता है और उसे सीधे पृष्ठ पर आउटपुट करता है, जैसा कि निम्न चित्र में दिखाया गया है:

我们可以在后台管理界面找到该功能,如图所示:
हम इस फ़ंक्शन को बैकएंड प्रबंधन इंटरफ़ेस में पा सकते हैं, जैसा कि चित्र में दिखाया गया है:

点击提交后我们可以用burp拦截该数据包,将title改为">,点击发送,如图所示:
सबमिट करने के बाद, हम burp का उपयोग करके डेटा पैकेट को इंटरसेप्ट कर सकते हैं और title को "> में बदल सकते हैं। Send पर क्लिक करें, जैसा कि दिखाया गया है:

我们返回广告管理界面,刷新,此时xss弹框可见,如图所示:
हम विज्ञापन प्रबंधन इंटरफ़ेस पर वापस जाते हैं, रीफ़्रेश करते हैं, इस समय xss पॉपअप दिखाई देता है, जैसा कि दिखाया गया है:
