码迷,mamicode.com
首页 > Web开发 > 详细

从零开始学安全(二十九)●上传漏洞代码分析

时间:2019-03-19 13:41:20      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:jsp   漏洞   asp   img   开始   问题   头文件   进制   白名单   

 

技术图片

这是一段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 等图片格式 如果是则上传文件

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

技术图片

 

技术图片

 

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

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

技术图片

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

技术图片

 

 

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

技术图片

 

 技术图片

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

从零开始学安全(二十九)●上传漏洞代码分析

标签:jsp   漏洞   asp   img   开始   问题   头文件   进制   白名单   

原文地址:https://www.cnblogs.com/yuanzijian-ruiec/p/10558031.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!