刷upload-labs学到的

文件上传的一些防御函数

trim

trim(string,charlist)
移除字符串两侧的空白字符或其他预定义字符。

deldot

deldot(file_name) 
删除文件名末尾的点

strtolower

strtolower(string)
把字符串转换为小写

strrchr

strrchr(string,char)
查找字符串在另一个字符串中最后一次出现的位置,并返回从该位置到字符串结尾的所有字符。

str_ireplace

str_ireplace(find,replace,string,count)
替换字符串中的一些字符(不区分大小写)。

例子

<?php
echo str_ireplace("WORLD","Shanghai","Hello world!");
?>
把字符串 "Hello world!" 中的字符 "WORLD"(不区分大小写)替换成 "Shanghai"

上传绕过姿势

前端绕过

抓包改后缀
抓包改content-type

黑名单绕过

1.上传.htaccess文件内容如下:
SetHandler application/x-httpd-php
然后传图片马

2.后缀加点绕过

3.后缀加空格绕过

4.后缀加点空格点绕过(路径拼接为处理后的文件名)

5.后缀大小写混写绕过

6.后缀双写绕过

7.后缀加::$DATA绕过

8.利用漏网之鱼,如phtml等作为后缀

白名单绕过

get则直接在RAW中进行%00截断
post则在HEX中进行修改

内容检测绕过

上传图片马配合文件包含漏洞解析

条件竞争

用bp不断发送上传文件包,然后再文件所在网页不断刷新
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  • © 2020 丰年de博客

请我喝杯咖啡吧~

支付宝
微信