主要是http协议上的各种变形,主要用于绕后缀

一、后缀绕过

将被过滤的后缀替换成能够解析的其他后缀

  1. phpphp3,php4,php5,phtml,phtm
  2. jspjspx,jspf
  3. aspasa,cer,cdx,ashx
  4. aspxashx,asmx,ascx

二、变形绕过

  1. .php空格
  2. .php::$DATA
  3. .php..
  4. .php%00.jpg

三、.htaccess

这里使用了\续行,防止拦截php关键字,将后缀bmp当做php解析

  1. AddType application/x-http-p\
  2. hp .bmp

四、.user.ini

可以借助.user.ini轻松让所有php文件都“自动”包含某个文件

  1. auto_prepend_file=01.gif

五、协议处理

  1. filename前加%00[空格][换行]
  2. form-data:修改为~form-data;
  3. Content-Disposition修改为content-Disposition
  4. form-data修改为Form-data
  5. Content-Type修改为content-Type
  6. Content-Disposition:from-data冒号后面增加或减少一个空格
  7. form-data;name='file';分号后面增加或者减少一个空格
  8. Content-Type:application/octet-stream 冒号后面增加一个空格
  9. form-data 修改为f+orm-data
  10. form-data 修改为form-d+ata
  11. form-data冒号以及后面的属性删掉 Content-Disposition: form-data; name="file";
  12. boundary后面加入空格 Content-Type: multipart/form-data; boundary =
  13. filename=后面换行
  14. Content-Type: image/jpeg删掉
  15. 将文件名每个字符都换行
  16. 通过chunked编码提交
  17. 调换namefilename属性的顺序