剩下的挖煤天朝的题暂时作不下去了。。。学长们又推荐了一个新平台,就去水了水。php
首先,说第一道学长给了WP才知道是最新漏洞。。。。。。
百度以后发现,这个phpcms漏洞出现的频率真的。多啊
最近的这个漏洞是在注册页面,连登陆都不用就能够getshell,并且听说已经流传了半年才爆出这个漏洞。。。orz.
大佬们真的可怕。先复现漏洞得flag,打开火狐的神器hackbar
赋值content字段传一句话木马shell
成功截图
windows
而后拿出菜刀,getshell,flag在根目录网络
搜索来源的时候,也试着去理解其中的原理,根据表哥们的总结写一点
从下面的源代码咱们能看出,从第一句咱们能知道注册用户名是不能重复的,因此post一次若是出错,那么就须要修改用户名
其次,提交内容的后缀是受限定的,gif|jpg|jpeg|bmp|png
最后content字段若是有图片,必须是网址形式,并且。。。用了一个远程图片copy到本地的函数函数
if($this->fields[$field]['isunique']&&$this->db->get_one(array($field=>$value),$field)&&ROUTE_A!= 'edit') showmessage("$name 的值不得重复!"); function download($field, $value,$watermark='0',$ext='gif|jpg|jpeg|bmp|png',$absurl='',$basehref='') if(!preg_match_all("/(href|src)=([\"|']?)([^ \"'>]+\.($ext))\\2/i", $string, $matches)) return $value;
打开连接就是这段代码,牵涉到file_get_contents函数和extract($_GET)
file_get_contents函数官方文档是下面的解释,很明显变量&fn应该是个url或者文件
若是按照之前的作法,能够利用读取不到文件变量&f为空来赋值,ac=&fn=1post
可是这道题有限制&ac非空,因此通过搜搜搜后,咱们能够利用php输入流php://input函数
php://input能够读取未验证的post数据,正好能够构造这个payload,以下图
this
<?php highlight_file('2.php'); $key='KEY{********************************}'; $IM= preg_match("/key.*key.{4,7}key:\/.\/(.*key)[a-z][[:punct:]]/i", trim($_GET["id"]), $match); if( $IM ){ die('key is: '.$key); } ?>
我记得挖煤天朝也有一道这样的题,彷佛下架了。。。。
很明显是正则,我虽然如今还不会,可是我会暂时百度啊听说30分钟入门正则
传值id=keykeykeykeykeykeykey:/a/aakeya:]便可url
23333333333333333333333.。。。。这两天空闲时间一直在搭建虚拟渗透环境,真的浪费大量时间啊,还搞的不是很利落。开发的任务还没作多少。。。。
就记录两个,获得的教训吧spa
首先对于虚拟机,之前我一直没成功全屏,和实体机之间的复制粘贴文件,非常使人头疼和麻烦
之前航海的学长说了快捷键,可是仍然不能全屏啊,今天我才知道是没安装VMware Tools........net
其次,若是想要windows2003和实体机进行通讯,是须要将虚拟机得链接方式改成桥接,而且切换网卡,能够在虚拟网络编辑中编辑。