当前位置: 首页 > wzjs >正文

wordpress网站搬家图片路径营业推广名词解释

wordpress网站搬家图片路径,营业推广名词解释,markdown做网站,wordpress注册默认密码忘记文件上传白名单绕过(图片马 - 图片二次渲染绕过) 0x01:过关流程 本关的任务是上传一个 “图片马” 到服务器,然后利用文件包含漏洞来 Get Shell(本关要求三种格式的图片均要成功上传才可以,笔者下面演示的…

文件上传白名单绕过(图片马 - 图片二次渲染绕过)

0x01:过关流程

本关的任务是上传一个 “图片马” 到服务器,然后利用文件包含漏洞来 Get Shell(本关要求三种格式的图片均要成功上传才可以,笔者下面演示的仅仅是 GIF 类型的绕过,主要是提供一个思路,对于另外两种格式的绕过,笔者后面会在 “文件上传漏洞” 中单独讲解如何制作一个高级的图片马):
在这里插入图片描述

查看源码,我们发现,本关使用的是白名单校验,且只接收三种图片类型的文件。当服务端收到用户上传的图片后,还会进行二次渲染,即在服务端重新生成一张和用户上传的图片类似的图片(底层还是修改了用户上传的图片,你嵌入其中的图片马很容易就被重写坏了):
在这里插入图片描述
如下,是笔者原本上传的一个 muma.jpg 与其后端渲染后的图片的对比,可以发现,基本上整张图片都被重写了,笔者写入一句话木马的地方也被重构了:
在这里插入图片描述
对于这种面目全非的图片,我们显然不能使用文件包含漏洞 Get Shell。但是,如果你使用的是 GIF 格式的图片马,你就会发现二次渲染后的内容中有很多相似的地方:
在这里插入图片描述
接下来,我们只要往这些相似的部分中找到一个合适的位置写入一句话木马然后上传即可(位置找不好的话,依旧有可能会被二次渲染掉哦,可以从服务器下载上传后的文件,然后查看其二进制信息中是否携带了木马信息):
在这里插入图片描述
找不会被渲染的位置也是一个难活,不同图片的位置都不太一样,而且由于你添加了内容,所以很可能原本不会被渲染的位置依旧被渲染了。不过思路就是上面这样,上传一个图片马,然后下载服务端二次渲染后的图片与原图片对比,看其中是否存在我们写入的一句话木马。

图片马上传成功后,我们还需要一个 “文件包含漏洞” 来执行图片马中的代码(靶场提供了,如果不知道怎么找,可以去看 PASS 14 中的内容):
在这里插入图片描述

如上,可以成功包含图片马,那么下面我们使用 ”中国蚁剑“ 来连接一下木马,看看能否 Get Shell(如下,Get Shell 成功,本关结束):
在这里插入图片描述

0x02:源码分析

下面是本关的 WAF 源码,使用的是白名单的过滤方式。虽然代码很多,但总体逻辑就是,如果你上传的文件属于白名单文件,它就会给你二次渲染一个类似的文件然后放在服务端中:

 $is_upload = false;$msg = null;if (isset($_POST['submit'])){// 获得上传文件的基本信息,文件名,类型,大小,临时文件路径$filename = $_FILES['upload_file']['name'];$filetype = $_FILES['upload_file']['type'];$tmpname = $_FILES['upload_file']['tmp_name'];​$target_path=UPLOAD_PATH.'/'.basename($filename);// 获得上传文件的扩展名$fileext= substr(strrchr($filename,"."),1);//判断文件后缀与类型,合法才进行上传操作if(($fileext == "jpg") && ($filetype=="image/jpeg")){if(move_uploaded_file($tmpname,$target_path)){//使用上传的图片生成新的图片$im = imagecreatefromjpeg($target_path);if($im == false){$msg = "该文件不是jpg格式的图片!";@unlink($target_path);}else{//给新图片指定文件名srand(time());$newfilename = strval(rand()).".jpg";//显示二次渲染后的图片(使用用户上传图片生成的新图片)$img_path = UPLOAD_PATH.'/'.$newfilename;imagejpeg($im,$img_path);@unlink($target_path);$is_upload = true;}} else {$msg = "上传出错!";}}else if(($fileext == "png") && ($filetype=="image/png")){if(move_uploaded_file($tmpname,$target_path)){//使用上传的图片生成新的图片$im = imagecreatefrompng($target_path);if($im == false){$msg = "该文件不是png格式的图片!";@unlink($target_path);}else{//给新图片指定文件名srand(time());$newfilename = strval(rand()).".png";//显示二次渲染后的图片(使用用户上传图片生成的新图片)$img_path = UPLOAD_PATH.'/'.$newfilename;imagepng($im,$img_path);​@unlink($target_path);$is_upload = true;               }} else {$msg = "上传出错!";}}else if(($fileext == "gif") && ($filetype=="image/gif")){if(move_uploaded_file($tmpname,$target_path)){//使用上传的图片生成新的图片$im = imagecreatefromgif($target_path);if($im == false){$msg = "该文件不是gif格式的图片!";@unlink($target_path);}else{//给新图片指定文件名srand(time());$newfilename = strval(rand()).".gif";//显示二次渲染后的图片(使用用户上传图片生成的新图片)$img_path = UPLOAD_PATH.'/'.$newfilename;imagegif($im,$img_path);​@unlink($target_path);$is_upload = true;}} else {$msg = "上传出错!";}}else{$msg = "只允许上传后缀为.jpg|.png|.gif的图片文件!";}}

笔者上面仅仅介绍了 GIF 图片的绕过方式,对于 .png 与 .jpg 其修改方式与 GIF 有很大区别,你还需要了解两种图片的底层格式和规则,所以就不放在这里了。后续还有会更多精彩内容,敬请期待噢。

http://www.dtcms.com/wzjs/291529.html

相关文章:

  • 奢侈品+网站建设方案深圳全网营销方案
  • 网站建设与网络营销网站seo排名优化工具
  • 用ps做零食网站模板seo网络推广招聘
  • 深圳做网站的好公司北京网站推广机构
  • 天河区进一步seo英文怎么读
  • 如何免费建网站赚钱中国网站排名前100
  • 手机应用开发湖南正规seo公司
  • b2b网站首页设计南宁seo推广优化
  • 做司法考试真题的网站网站排名优化培训课程
  • wordpress客户端APP广东seo推广贵不贵
  • 网站建设使用的什么软件有哪些内容百度关键词优化策略
  • 自建网站视频教程seo推广任务小结
  • 新型h5网站建设电商seo优化
  • 手机网站大全1百度人气榜排名
  • 官方网站建设源码系统百度推广关键词查询
  • 怎么把电脑当服务器做网站百度热搜电视剧
  • 个人做网站开工作室高端营销型网站
  • 怎样在百度免费做网站如何制作公司网页
  • 做盗版电影网站整合营销策略有哪些
  • 湖北网站建设报价域名批量查询系统
  • wordpress主机免费seo工资
  • 做关键字要改网站网站seo 优化
  • WordPress判断用户角色上海搜索引擎关键词优化
  • 工作室做网站流程山东seo推广
  • wordpress argo江苏seo网络
  • 做平面设计去哪些网站找图电商网店
  • 3合1网站建设福州seo招聘
  • 宣城市建设监督管理局网站下载百度网站大全
  • metro 网站模板海外seo是什么
  • 黄埔区网站建设百度客服人工在线咨询