在my.php中,首选创建一个继承Manyou的类My,然后创建一个My的实例,接着调用Manyou父类的run()函数,我们跟进run()函数查看:
在run()函数中,程序会调用_processServerRequest()对提交的参数进行处理,而该函数会获取客户端POST提交的参数,根据提交的参数获取相应的扩展接口,
而在my.php文件中的onVideoAuthAuth的函数中,由于没有对文件的扩展名进行判断,因此我们可以直接构造php一句话,利用该函数写入一句话木马,因此这样我们需要提交的参数构造如下:
构造的Upload_Exp:
```
$module = ‘video’;
$method = ‘authauth’;
$params=array(0=>1,1=>base64_encode(“”),2=>”php”);
$params=serialize($params);
```
但是由于上传成功后,Discuz并不会返回shell的文件名的和路径,因此需要借助注入漏洞来猜解文件的路径,因此上传漏洞的成功利用还需要借助注入的辅助。
全部评论 (1)