Discuz_X3.4最新网站漏洞
Discuz_X3.4最新网站漏洞影响版本:Discuz_X3.4漏洞类型:配置文件写入导致代码执行Discuz_X3.4发布地址:http://www.discuz.net/forum-10-1.html问题文件: \upload\install\index.php漏洞复现:首先在发布地址下载3.4版本对应的安装包,解压后放入运行环境(我这里是win7+PHP,放入WWW内)。https://pic2.zhimg.com/80/v2-58ed6da75c194d44eaeca001b1df9d51_720w.jpg
在浏览器中输入相应的路径,安装Discuz3.4.
https://pic4.zhimg.com/80/v2-9cbeaf4183392f5db61701f2df333dcb_720w.jpg
https://pic3.zhimg.com/80/v2-51de647b062ce05e576d2384ec2e413e_720w.jpg在创建数据库的界面进行抓包。
https://pic3.zhimg.com/80/v2-2fd91bc8bdf587b529a3de4bc56d2462_720w.jpg把%5Btablepre%5D=后边的内容修改为pre_’);phpinfo();//然后forward,随后开始安装。https://pic2.zhimg.com/80/v2-b5c2ea9037af5da45639fe1c5d98291d_720w.jpg安装完毕后在ComsenzDiscuz-DiscuzX-master\DiscuzX\upload\uc_server\data的config.inc.php文件中可以看到如下:https://pic4.zhimg.com/80/v2-cb8e10bf5bd8b741d61b527a1f0b78b3_720w.jpg
这里的内容变为我们抓包时修改的内容。在浏览器中访问ComsenzDiscuz-DiscuzX-master/DiscuzX/upload/uc_server/data/config.inc.php可以访问到我们修改后的phpinfo的界面。
https://pic3.zhimg.com/80/v2-9b3107e44be06dc8aecc9cdfc58ca3ae_720w.jpg
漏洞分析:漏洞成因:当cms安装过程中对配置文件config进行写入的时候,如果对写入的内容没有进行很好的过滤,就会把参数写入到config的代码总从而被执行。
https://pic1.zhimg.com/80/v2-9bdf3c410a8fe7271d7af1ce7002f368_720w.jpg
通过查看DiscuzX\upload\install\index.php的配置文件,在代码的357行处发现save_config_file()函数
https://pic1.zhimg.com/80/v2-a5b848e3f92b7bb556d34c74f5f1e674_720w.jpg
save_config_file(ROOT_PATH.CONFIG, $_config, $default_config);
判断出函数作用是保存写入配置信息,其中,ROOT_PATH.CONFIG为文件的路径,$_config为配置文件的内容,$default_config为默认配置。
这里我们可以看出,首先判断了默认配置文件是否存在,如果不存在将会抛出错误:退出(‘CONTIGNGULALLUL DEFUCT.PHP丢失,请重新上传该文件。’);否则将配置文件的内容传送给默认配置文件。
https://pic4.zhimg.com/80/v2-970eaf101dd73049571d8639c1d16187_720w.jpg
判断是否post里面有内容,如果有的,使用post里面的内容,如果没有的,默认值是空字符串。
在这里看到了dbinfo的传入,使用$_post方法传入dbinfo中的内容,但是可以看到没有对传入参数有任何过滤,直接把dbinfo中的参数传入进来造成漏洞。
https://pic4.zhimg.com/80/v2-bec864dfb871e9b4ca09a7df809b954f_720w.jpg
我们在抓包后,把%5Btablepre%5D=后边的内容修改为pre_’);phpinfo();//即把pre_’);phpinfo();//上传到配置文件中从而使括号闭合‘//‘会注释掉后边自动补充的内容,因此在执行这个配置文件时会跳转到phpinfo的界面。
页:
[1]