Untitled

前端校验

前段校验,狗都防不了

MIME验证

使用bp抓包,修改上传的content-type为image/png

文件内容头校验

主要是检测文件内容开始处的文件幻数

(1) .JPEG;.JPE;.JPG,”JPGGraphic File”

(2) .gif,”GIF 89A”

(3) .zip,”Zip Compressed”

(4) .doc;.xls;.xlt;.ppt;.apr,”MS Compound Document v1 or Lotus Approach APRfile”

分析是否为黑名单或白名单

上传的后缀名写一个不存在的,如:shell.xxx 查看是否上传成功,成功为黑名单,失败为白名单

黑名单

  • 特殊后缀
  • 大小写绕过
  • 双重后缀
  • 空格绕过
  • 点号绕过
  • 特殊字符::$DATA绕过
  • 加点空格点
    • 上传shell.php 然后用bp改后缀加点空格点(即文件名为shell.php. .
    • PS:补充知识:deldot()函数从后向前检测,当检测到末尾的第一个点时会继续它的检测,但是遇到空格会停下来

白名单

  • %00截断

    00截断原理是因为白名单判断的时候是判断后缀,在进行路径拼接的时候用的其他值,然后在进行move_uploaded_file的时候,这个函数读取到hex值为00的字符,认为读取结束,出现00截断。

    • get %00截断
    • post 00截断
      • 抓包,在hex处修改
  • 图片马 PS:需文件包含漏洞配合

点击按钮下载博客: