zoukankan      html  css  js  c++  java
  • 从零开始学安全(二十九)●上传漏洞代码分析

    这是一段php 对文件上传黑名单限制  出现看没什么问题  但对包含函数运用错误以及对php 各种类型解析也不了解

    1第一个问题  

    拿上传的后缀名 去和黑名单 对比   这种代码首先逻辑上就要明确 不是拿后缀名和黑名单数组对比是否包含 因为后缀可以是 php3  而是 对黑名单里的每个字符串逐个 去对比 上传后缀     应该用 输入字符和数组里的字符进行对比是否有包含关系

     第二个问题 黑名单验证不全

    |asp/aspx|asp,aspx,asa,asax,ascx,ashx,asmx,cer,aSp,aSpx,aSa,aSax,aScx,aShx,aSmx,cEr| |php|php,php5,php4,php3,php2,pHp,pHp5,pHp4,pHp3,pHp2,html,htm,phtml,pht,Html,Htm,pHtml| |jsp|jsp,jspa,jspx,jsw,jsv,jspf,jtml,jSp,jSpx,jSpa,jSw,jSv,jSpf,jHtml|

    上面的是各种可解析的后缀  c# mvc 模式如果在开启时没有禁用aspx 视图模式 同样可能出现asp 解析黑名单绕过问题

    我们来看看第二段代码 白名单绕过

     这里是判断文件类型是否是 jpg ,png 等图片格式 如果是则上传文件

    我们这里准备一个藏有代码的图片

    怎么对php 代码和图片进行合并在windows 下我们可以

    copy  1.png(要合并的图片)/b+h.php(要合并的php文件)/a  xx.png 合并玩的名字

     这里我们要运用到 %00  php 文件名截断的知识     比如我们上传一个 1.png 图片这里有一句话木马

    再用抓包工具  1.png  改成  1.png.[].php   就可以突破上面的代码 成功上传木马    

    这里运用了 %00  向后阶段    upldate/1.php%00/1.png  %00后面自动被截断了  这get 请求下的 如果是post 那么 需要修改二进制 他的截断也是00

     0d 0a 2d   代表---    p 是70   在后面添加新baye

     

    如上有的代码是判断头文件 是不是图片  所以我们可以在底部插入木马

  • 相关阅读:
    06_Python的数据类型3元组,集合和字典_Python编程之路
    05_Python的数据类型2列表_Python编程之路
    03_Linux的目录结构_我的Linux之路
    03-第一个脚本程序以及输入输出_Python编程之路
    系统命令学习
    《构建之法》读书笔记
    Android开发入门
    Android 手机进入不了fastboot模式的解决方案
    error:“Unexpected namespace prefix "xmlns" found for tag LinearLayout”
    2014.2.13自我能力量化
  • 原文地址:https://www.cnblogs.com/feizianquan/p/10558031.html
Copyright © 2011-2022 走看看