• 文件上传小结


    1.00截断上传:

      截断的核心在于chr(0)这个字符,这个函数表示返回以数值表达式值为编码的字符,举个例,print chr(78) 结果是N,所以char(0)表示的ascll字符是null,当程序输出包含chr(0)变量时,chr(0)后面的数据会被截断,后面的数据直接忽略,导致漏洞产生。

    假设上传后端代码如下:

    1 <?php
    2     $path="upfiles/picture/" 
    3     $file="XXX.jpg" 
    4     $upfilename=path & file '最后的上传地址 
    5 php>

    则经过截断上传通过在允许上传的文件后缀名前加上空格并在burp种将其hex值变为00

    则经过chr()函数后会变为空则其后的部分都不会被解析。

     2.Apache1.X 2.X解析漏洞:

    Apache在以上版本中,解析文件名的方式是从后向前识别扩展名,直到遇见Apache可识别的扩展名为止。

     3.iis6.0解析漏洞

    ①:文件目录.asp,.asa,.cer下的文件都会被当作asp文件解析

    ②:文件名中若含有asp则作为asp文件解析,例如shell.asp;.jpg

    4.Nginx解析漏洞:

    以上Nginx容器的版本下,上传一个在waf白名单之内扩展名的文件shell.jpg,然后以shell.jpg.php进行请求。

    以上Nginx容器的版本下,上传一个在waf白名单之内扩展名的文件shell.jpg,然后以shell.jpg%20.php进行请求。

    5.PHP CGI解析漏洞:

    以上的容器版本中默认php配置文件cgi.fix_pathinfo=1时,上传一个存在于白名单的扩展名文件shell.jpg,在请求时以shell.jpg/shell.php请求,会将shell.jpg以php来解析。

     更多姿势参考:https://xianzhi.aliyun.com/forum/mobile/read/458.html

  • 相关阅读:
    USACO2.24 Party Lamps
    hdu3811 Permutation
    局部视图Partial
    动态修改a标签的css样式
    .net 记住用户名和密码
    C#枚举
    学习存储过程的时候参看的两个DVBBS的存储过程和两个初步了解后自己写的存储过程(带分页的)
    js 几种常用的表单输入判断
    AJAX+.net实现无刷新搜索,无须提交,边输边查
    ifream中的数据传递
  • 原文地址:https://www.cnblogs.com/tr1ple/p/7268580.html
Copyright © 2020-2023  润新知