文件上传漏洞实验报告

文件上传漏洞

一、因为刷新但是上传没消失所以这是个前端

  1. 将一个带有一句话木马的.txt文件改为可上传的文件格式
  2. 打开代理和Burp Suit软件抓包不要关拦截上传在bp中将后缀改为.php放行
  3. 右击图片复制图片链接获得位置
  4. 中国蚁剑添加进入

二、查看源码得知仅检查了类型,将类型改为图片格式这里改为(jpeg、png、gif)   

三、上传得知时这是黑名单查看源码得知会过滤:$TADA所以在抓到的包中将文件名后双写$TADA进行绕过 

四、查看源码得知没有禁用.hatccess可以用这个文件绕过

1.要用.hatccess要满足两个配置:

(1)要打开mod_rewrite模块:

phpstudy软件界面——>其他选项菜单——PHP扩展及设置——Apache扩展——rewrite_module模块:

(2)AllowOverride All。

其他选项菜单——打开配置文件——httpd.conf 文件

搜索查找AllowOverride None,然后把AllowOverride None修改为 AllowOverride All,完成后保存。

2.先在txt中输入:

<FilesMatch "(名字).(黑名单外的格式)"> 

SetHandler application/x-httpd-php 

</FilesMatch>

3.然后另存保存为所有文件后缀为.hatccess

4.接着将木马转为.hatccess指定的格式上传

五、查看源码得知黑名单遗漏.php7和.ini

1.Php7绕过

2.A:.ini执行条件

(1)服务器脚本为php

(2)服务器使用CGI/FastCGI

(3)上传目录下有php可执行文件

B:(1)创建.user.ini文件

(2)上传有一句话木马的1.png文件

六、查看源码没有大小写处理

在.php中夹杂大小写分开

七、查看源码没有空处理

在.php中加空格

八、查看得知没有对.进行删除

1.因为.后面没有字符windows会删除.

2.所以在文件名后加.即可

九、查看源码得知没有禁用::$TADA 

在上传抓到的包中将名字后加上::$TADA

十、查看源码得知它仅处理了一次.

1.原理与八相似

2.在文件后缀加.空格.

十一、查看源码得知是黑名单并且转为空所以双写 

将后缀名写两遍即可

十二、查看源码得知是白名单

1.因为是直接拼写并且是$_GET

2.所以可以用%00截断

(1)使用条件

  1. php版本 <5.3.4;
  2. php的magic_quotes_gpc为OFF状态

(2)使用

A:上传白名单内格式并抓包

B:在URL后面加保存名字.php%00 

(3)原理

A:用上传白名单内格式绕过检测

B:%00截断:本身转为空格欺骗程序认为后面没有了从而终止检测后面

十三、查看源码得知是白名单

1.因为是直接拼写并且是$_POST

2.所以用00截断

(1)使用条件

  1. php版本小于5.3.29
  2. magic_quotes_gpc = Off

(2)使用

A:上传白名单内格式文件并抓包

B:在包中找到"save_path"../upload/并在后面加名字.php 

C:进入hex(16进制)模块在.php后的16进制改为00

(3)原理

与十二相似

十四、查看源码得知要检测文件前两个字符所以要上传图片木马 

1.使用环境

有文件包含漏洞

2.使用

(1)准备对应格式图片和一个带有一句话木马文件

(2)windows+r进入运行输入cmd进入cmd.exe用cd进入你准备的地方

(3)输入copy 图片名/b+文件名/b 合成的名字  #!名字后都有后缀 

(4)上传在php?后打上file=路径/名字

(5)上蚁剑

3.原理

(1)运用合成将图片和木马合并逃过检测字符

(2)用文件包含漏洞激活木马

十五、十六、

与十四相似仅仅换了检查函数

十七、查看源码得知要渲染图片

1.使用

(1)新建一个.php文件

 (2)然后拖进浏览器下的路径->进浏览器运行然后在浏览器下的路径里会出现5.png图片

(3)上传这个图片

(4)然后将端口后的改为include.php?file=路径/名字

2.原理

(1)因为要渲染所以创建一个渲染后还能存活一句话木马的图片

(2)因为不是.php格式所以用文件包含激活

  • 查看源码得知要审核

1.使用

(1)创建一个.php文件 

(2)然后上传抓包,一直重发并接着抓包

(3)抓到状态200的说明成功 

2.原理

(1)审核:先移动,再检测符合则进行下一步,不符合则删除

(2)这php文件: 会在上传目录里上传一个shell.php的文件,文件内容为一句话木马

(3)所以我们一直重发使它反应不过来传上一个php

十九、查看源码得知与十八相似多了个后缀检测

1.使用

将十八的.php格式改为.php.*其他与十八一样

2.原理

apache服务器会删除未知后缀

二十、查看源码得知上面仅检查路径,下面要检查后缀

1.使用

(1)上面上传一个.php文件

(2)下面将后缀改为.php/.(.php./)

2.原理

URL可以解析带有/的文件并去除多余的.

二十一、查看源码得知与二十上传形式相似但多了检查索引、类型

1.使用

(1)上传并抓包

(2)修改类型

(3)因为要检查索引

(4)所以索引不能为1使得值为空

(5)因为要检查最后数组

 (6)所以最后复制一段话改为符合格式

 (7)放包上蚁剑

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值