pikachu的文件上传
查看我的木马
目标:文件能够成功上传,且文件能被调用
一、1.【前端|客户端】检查(client check)
根据提示判断为前端检查
2.解决方法
1)修改前端代码
上传
3.测试一句话木马
因为我个人原因,老是上传错文件,上面上传的是shell.php,下面上传的是shell(get).php,就是一个是post,一个是get,但是文件上传原理都是对的。
出现列表就算上传成功且能调用
4.出现的问题
如果删除代码后还不行,就是浏览器的问题
我又用微软的浏览器去打开这个网站了,用火狐,或者谷歌。
你看 ,一换火狐就行了
二、1.MIME type
就是传输文件类型进行限制,它会通过你传输的文件,自动判断你的文件类型,并写入请求包中,在服务端进行判断。
我们依然用这个木马
2.解决方法
抓包,我们依然上传.php文件,但是修改文件类型
具体的抓包的软件在上一期里有
我们开启抓包
修改为image/jpeg
路径来这里复制粘贴
不再进行测试
记得关代理
三、1.getimesize()
大概意思是限制传输文件的类型,大小等
总的来说,就是看你文件的文件头,不同的文件又不同的文件头,即便你改了后缀,文件头是不变的
2.解决办法
将木马和图片合成,我们需要准备一个图片和一句话木马,我使用的一句话木马是GET方法,你可以用POST,在后面我会提一嘴。
再输入框里输入cmd,打开命令行模式
copy copy /b 青蛙看手机.jpg + shell(get).php 6.jpg
上传
上传成功后,我们查看图片
想调用的话,我们需要使用文件包含去打开这个图片
文件包含也是一个脚本,在这里可以找到
使用方法就是去调用这个fi_local.php
调用方法按我的来
代码
。。什么什么/vul/fileinclude/fi_loacl.php?文件路径
filename=../../unsafeupload/uploads/2023/05/10/539363645b82a42cb6c561745963.jpg文件参数
submit=提交查询——这个必须有,因为代码里要求了
访问看看,全是代码,这说明包含成功了
3.测试
在url的末尾添加&hack=phpinfo();
把页面拉到最下面,可以看见列表,说明测试成功
蚁剑
蚁剑的使用,首先还是合成一个图片,注意:合成图片所需要的一句话木马必须是POST方法
然后,依然去访问这样的url地址,就是下面这个,这是我的,你写你的。
http://127.0.0.1/pikachu-master/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2023/05/11/854132645c3037558ba480678381.jpg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
一句话木马我们要用POST,再说一遍!因为蚁剑只支持POST传输,一会要用蚁剑,下面有安装包
蚁剑的安装包,安装教程请自行搜索
链接:https://pan.baidu.com/s/1ql0XK2ADI9NYAWezx2AmxQ?pwd=38m2
提取码:38m2
打开蚁剑,我们右键空白处,添加数据
输入我们刚才弄的url
http://127.0.0.1/pikachu-master/vul/fileinclude/fi_local.php?filename=../../unsafeupload/uploads/2023/05/11/854132645c3037558ba480678381.jpg&submit=%E6%8F%90%E4%BA%A4%E6%9F%A5%E8%AF%A2
这就是密码,因为这个参数是你自己弄的,只有你知道,所以在某种意义上,就是密码
能连接就表示成功了
4.可能出现的错误
1)404报错,你打错字母了,自己好好看看路径
我的文件名打错了,所以一直错。
2)出现下面这个也是路径错了,我是少些一个‘/’