任意文件下载&上传

免责声明
免责声明:文章所涉及内容,仅供安全研究与教学之用,由于传播、利用本文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,作者不为此承担任何法律及连带责任。
任意文件下载

原理

下载文件的文件名称可控,攻击者可路径遍历下载敏感文件

download?filename=…/…/…/…/etc/passwd

寻找可能存在漏洞的地址

谷歌黑客语法查找

inurl:“readfile.php?file=”
inurl:“read.php?filename=”
inurl:“download.php?file=”
inurl:“down.php?file=”
等等

任意文件上传

原理

绕过限制上传木马文件,导致服务器沦陷

靶场

pikachu靶场

前端检测后缀

bp抓包改后缀

MIME type检测

修改Content-Type:改成图片的就行

image/jepg image/jpg image/png

getimagesize函数检测**

上传图片马,利用需要nginx或apache有解析漏洞(把非php文件当php文件使用)或文件包含漏洞

upload-labs靶场总结

1.前端过滤

2.后端mime多媒体类型过滤

3.apache的设置问题,服务端可以解析php,php3,php5,phtml 绕过方法:上传php3,php5,phtml

4.只过滤动态代码文件,忽略了.htaccess文件,绕过方法:上传.htaccess,再上传.htaccess文件指定的文件名

5.没有过滤大小写,绕过方法:文件名大小写绕过

6.和其他的防护相比,少了首尾去空,绕过方法:文件名最后增加空格和点

7.少了删除文件名末尾的点,绕过方法:文件名最后增加点.

8.少了去除字符串:: D A T A ,绕过方法:文件名结尾增加 : : DATA,绕过方法:文件名结尾增加:: DATA,绕过方法:文件名结尾增加::DATA

9.原理同Pass-06,上传文件名后加上点+空格+点

10.绕过方法,双写绕过php

11.get请求的%00截断

12.post请求的%00截断

13.在一句话木马前面加上图片头,例如GIF89a

14.直接上传图片马

15.直接上传图片马

16.二次渲染

17.条件竞争1

18.条件竞争2+apache解析漏洞 upload/18.php.7z

dvwa

high级别

图片马+中间件解析漏洞

djsi.jpg/ss.php

impossible*

找哪些数据被二次渲染,处理了,在没有被渲染的地方插入webshell

防御方法

  • 使用getimagesize函数获取图片信息
  • 对客户端上传的图片进行二次渲染
  • 使用base64数据存储图片
  • 使用白名单过滤

拓展

webshell与普通shell

webshell:不能执行交互命令,与tcp建立短连接

普通shell:可以以实现交互命令,与shell建立tcp长连接
在这里插入图片描述

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值