插件处存在任意文件写入漏洞导致代码执行

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

点击收藏 | 3 关注 | 2
  • 动动手指,沙发就是你的了!
登录 后跟帖