插件处存在任意文件写入漏洞导致代码执行
http://localhost/?admin/code.html
Code-audit\HYBBS2.3.2\Action\Admin.php
插件名填入test',phpinfo(),'
?admin/code.html
name=&gn=add&name=test%27%2Cphpinfo%28%29%2C%27&name2=test&user=test&mess=test
调试,一路跟进,Code-audit\HYBBS2.3.2\HY\Lib\Line.php,这里实例化了Admin类
调用code方法
可以看到输入的内容test',phpinfo(),'没有进行任何过滤,直接赋值给$name
继续往下跟进,这里在/Plugin/下创建一个新的文件夹,并将输入的内容存到conf.php
访问getshell
任意文件删除漏洞导致重装getshell(逻辑漏洞)
可以看到重装前需要删除/Conf/config.php
尝试删除Conf
一路跟进到C:\Day\phpStudy\WWW\Code-audit\HYBBS2.3.2\HY\Lib\Line.php,开始实例化Admin类
继续跟进,进入到code方法
因为$gn == 'del',进入到del操作
可以看到deldir没有经过任何过滤,例如过滤..,../等,所以我们可以利用../../来进行目录跳转操作删除Conf下的文件
删除成功,config.php原文件被删除且重新生成空配置文件
访问install,加入重装界面
输入数据库名
hybbs",phpinfo(),"
模板处存在任意文件写入漏洞getshell
http://localhost/?admin/view.html
Code-audit\HYBBS2.3.2\Action\Admin.php的view方法中存在写入操作
填入模板信息
可以看到view下创建了test11文件夹以及conf.php文件
修改模板名为',phpinfo(),'
gn=create_view&name='%2Cphpinfo()%2C'&name2=test22&user=ch3ng&mess=test&code=
跟进代码,进入到Code-audit\HYBBS2.3.2\HY\Lib\Line.php,这里实例化了类Admin类
接着调用Admin类的View方法
在这里,没有对name参数进行检查,只是简单的判断是否为空
接着调用file_put_contents直接写入到conf.php
生成成功
访问
模板处存在文件上传漏洞
http://localhost/?admin/view.html
上传zip文件,里面为phpinfo.php
上传zip文件,里面为<?php phpinfo();?>
调试,实例化Admin类,最后调用update_view方法
跟进
跟进upload方法,这里进行了一系列检查,但是并没有限制上传内容
接着实例化Zip
接着便将zip自动解压到HYBBS2.3.2/View/下
即可getshell
上传插件处存在文件上传漏洞
http://localhost/?admin/code.html
上传zip文件,里面为phpinfo.php文件
调试跟进Code-audit\HYBBS2.3.2\HY\Lib\Line.php,调用了Update_code方法
接着实例化了一个Upload类
继续跟进,进入到一个解压操作unzip,将内容解压到C:/Day/phpStudy/WWW/Code-audit/HYBBS2.3.2/Plugin/目录下
可以看到解压成功
http://localhost/Plugin/phpinfo.php
前台存在XSS漏洞
通过输入不存在的方法使其报错,从而弹框获取cookie
http://localhost/Code-audit/HYBBS2.3.2/?s=%3Csvg%20onload=alert(1)%3E
http://localhost/Code-audit/HYBBS2.3.2/?s=%3Csvg%20onload=alert(document.cookie)%3E