easy_unserialize
| |
可以利用ini_set进行在线配置,相当于热加载,参数还是可控的,直接找可利用函数即可,找到unserialize_callback_func,这个函数可以执行函数,而函数参数是反序列化的类名,比如
| |
这样子就可以,还有个很好利用的方向就是,只要值是没有定义的方法,就会把这个方法在报错中显示出来,也就是相当于执行命令了,而我们再把错误日志给写出来,进行动态设置,相当于是一个软链接,就可以去访问拿到命令执行的结果了,还要设置html_errors不然会把错误进行html编码就不能得到结果了
| |
还有个函数
spl_autoload 它可以接收两个参数,第一个参数是$class_name,表示类名,第二个参数$file_extensions是可选的,表示类文件的扩展名,如果不指定的话,它将使用默认的扩展名.inc或.php
| |
依次执行即可
RealWorld_CyberShow
进去之后,先进blog才能拿到第四个页面,给了用户名模板和初始密码,爆破用户名就可以了
| |
web_checkin
| |
看着特别吓人,直接给闭合了就完事了
| |
easy CMS
修改点在 FrPHP/lib/Model.php的第36行
注入点在 Home/c/HomeController.php的jizhi_details
hint:后台似乎有个压缩包getshell
简单看了一下代码,觉得存在sql注入漏洞,并且开了3306和6379端口的,找找代码,在index.php里面看到了查询语句,然后开始干
| |
| |
得到poc以及用户名和加密的密码
| |
结果这一次注入靶机就没了,再次进行注入,利用联合注入
| |
得到了poc
| |
我们可以直接进行堆叠注入了那,把密码给改了
| |
我们的用户名密码就变成了
| |
登不上?我没问题吧,后面就是一个压缩包getshell,打不了了,后面应该是把一句话压缩成zip放服务器上面,让其远程加载,然后去访问/A/exts/下的shell即可