一级目录下打开是一片空白
所以就试试二级目录
使用御剑扫描器进行扫描 扫描出 /admin/upload1.php /admin/upload2.php
首先登陆 /admin/upload1.php 跳出来了一个js弹窗 显示没有权限 点击确定之后就自动跳转到了 upload2.php 一片空白
那么我们在浏览器中把js禁用了 看看效果是怎么样果不其然禁用之后就出现了文件上传的窗口 如下图所示
这里我们可以看到已经有页面可以上传了 我们burp拦截一下 看看上传之后有没有路径的返回
但是我们这里发现是没有给出回显的
重新看一下这个页面
所以整理一下 目前我们已经把我们的一句话木马上传上去了 但是我们目前不知道返回路径 这样我们就没有办法用蚁剑或者菜刀来进行连接了 所以我们下一个目标就是找到路径回过头去重新看一下前面 然后结合一下提示 提示有四个
1、掌握Cookie的基本知识;
2、了解Java script 的基本知识;
3、了解常见的管理后台的命名方式;
4、了解PHP基本的代码;
我们目前 2 和 3 已经利用过了但是1和4完全没有用到所以坑定是疏忽了什么
所以重新抓包分析 着重关注 php 和 cookie
我们可以发现这里的value 数值刚刚好是cookie中的那个
我本来是尝试过以下这种情况的 但是看了以下好像不对
既然没用就想着那要不干脆就全部换掉试试吧 如下图
可以发现通过cookie php源码泄露出来了上面有一个关键的地方我忘记圈出来了 就是input那个标签那边 name 仍然是verify 但是value值却是这个页面的源代码
接下来我们来说明一下这个代码
$_FILES["file"]["name"] 获取上传文件的名称
所以这个语句中 如果有上传文件 那么就把上传的文件的文件名赋值给file1
file2 就是简单的组合了 变成了 路径+时间_+cookie中的verify数值_+file1 也就是文件名
move_uploaded_file 这个函数就是把文件移动到新的位置 上传路径源码也给出了 $path="uploadfile/";
通过蚁剑来进行连接 /admin/uploadfile/20190719_8469b0fd80a26be6_test.php
总结
首先我们是通过御剑 来扫描后台发现有可能有上传文件的地方
然后由于 是js弹窗我们进行禁止从而找到可以上传文件的地方
上传之后发现没有路径回显 通过分析包发现cookie 中可以把数值带出来从而看到了 upload_file.php 页面的源代码 从而知道了上传路径和文件名字 最后通过蚁剑来进行连接