前言

上一篇文章简单的介绍了绕过客户端检测,现在总结一下其他方式绕过。

正文

1.1 服务端MIME类型检测绕过

检测原理:用户上传文件时,服务器会获取这个文件的MIME值,与事先设置好的进行比对,如果不一致,说明上传文件非法。

咱们查看一下源代码,代码来源与DVWA

$target_path = DVWA_WEB_PAGE_TO_ROOT . "hackable/uploads/";$target_path .= basename( $_FILES[ 'uploaded' ][ 'name'] );//File information

$uploaded_name = $_FILES[ 'uploaded' ][ 'name'];$uploaded_type = $_FILES[ 'uploaded' ][ 'type'];$uploaded_size = $_FILES[ 'uploaded' ][ 'size'];//Is it an image?

if( ( $uploaded_type == "image/jpeg" || $uploaded_type == "image/png" ) &&($uploaded_size < 100000) ) {//Can we move the file to the upload folder?

if( !move_uploaded_file( $_FILES[ 'uploaded' ][ 'tmp_name' ], $target_path) ) {//No

echo '

Your image was not uploaded.

';

}else{//Yes!

echo "

{$target_path} succesfully uploaded!

";

}

}else{//Invalid file

echo '

Your image was not uploaded. We can only accept JPEG or PNG images.

';

}

}?>

通过分析第16行代码可以知道,我们将content-type 值改为image/jpeg,image/png,就可以绕过,因为页面不显示,咱们需要通过抓包工具进行修改。

1.2 服务端文件扩展名检测绕过

1.2.1 黑名单检测绕过

在我们的web程序中,一般有个blacklist文件,里面会包含常见的危险脚本文件,不过这种黑名单相当不靠谱,一般会包含下图这些。可以使用各种方法绕过。

一,文件大小写绕过

只要把我们把后缀改为 pHp,Asp等就可以尝试绕过。

二,名单列表绕过

可以尝试使用黑名单没有的一些后缀名,如 asa cer 等等

三,特殊文件名绕过

我们可是使用 xxx.asp. 或者 xxx.asp_ 等等,这样的命名方式,再Windows系统里是不行的,需要抓包修改。绕过验证后,Windows系统会自动去掉下滑线等。需要注意的是Unix和Linux没有这种特性,因为他们不区分大小写。

四,0x00 截断绕过

这里的00对应的是16进制里面的,相当于一个空格,当系统读取到设置的那里就会停止向下读取。实现咱们的目的。比如上传php.php.png 文件,里面包含一句话木马,我们只需要将第二个小黑点改为空格,也就是将16进制的2e 改为00

五, .htaccess文件攻击

这个就比较邪恶了,如果可以上传.htaccess文件的话,文件里面输入如下内容

SetHandler application/x-httpd-php

然后再上传一个文件,不需要后缀名,文件名没要求,需要注意的是这个文件不仅要包含一句话木马,还要有.htaccess里面的"shuaige" ,之后通过菜刀连接就可以了。

1.2.2 白名单检测绕过

白名单相对于黑名单安全很多,方法相对也较少,可以尝试.htaccess上传攻击。

1.3 服务端文件内容检测绕过

如果对文件内容检测较为严格,可以在图片中插入一句话木马,如果手工插的话可能破坏图片结构,推荐使用工具插入,比如 edjpgcom ,只需要将托向它,它会弹出一个框框,在里面输入一句话木马就可以了。工具需要的自行下载。工具只支持 jpg格式的图片

链接:https://pan.baidu.com/s/1nDogyIOAXvAR_OxQraALpw 提取码:gtwn

拖入后,写入一句话木马,记事本打开图片查看,发现完美插入图片中

2.1 解析漏洞

一,IIS5.x-6.x解析漏洞

这个比较古老了,这个解析漏洞只能解析.asp文件,对aspx没办法。

1)目录解析

在服务器中,如果有个.asp后缀的目录,此目录下的任何格式,都会以.asp脚本执行,如

http://www.hahaha.com/haha.asp/ha.png

2)  文件解析

如果在一个文件asp后缀加一个分号,在接.png  上传成功后,服务器解析分号前就会停止解析,就说明ha.asp;.png会当做ha.asp文件执行

http://www.hahaha.com/ha.asp;.png

3) 解析文件类型

IIS6.0 默认的可执行文件有asp、asa、cer、cdx四种。

二,Apache解析漏洞

Apache解析文件的顺序是从右向左,如果右边的格式它不认识,就会依次向左判断,如果一个文件名为 xxx.php.rar.zip,因为Apache 不认识“rar”和“zip”,所以文件最后会以xxx.php执行。

http://www.hahaha.com/ha.php.rar.zip

三,Nginx解析漏洞

1)Nginx中php配置错误导致的解析漏洞

我们来构造一个URL ,xxx/123.png/456.php(456.php是咱们瞎写的,里面没内容,木马在123.png里面,Nginx一看后缀是php,就交给php处理了,php处理发现456.php没有,删掉这个继续向前解析,然后会将咱们的123.png执行(php比较老的版本才会执行)

这其中涉及到php的一个选项:cgi.fix_pathinfo,它默认是开启的,看名字就知道这是和文件路径有关,举个例子,111.php/222.php/333.php/,如果它找不到这个文件,会去掉最后333.php,执行111.php/222.php 如果没有,继续刚才的操作。

这个选项可以在配置文件php.ini中关闭,但是关闭可能会遇到各种问题,所以在后来的新版的php中,引入了“security.limit_extensions”,他的功能是默认只执行.php文件,所以在现在的版本php版本中,基本很难被利用了。

2)Nginx(<8.03)畸形解析漏洞

在默认FAST-GGI开启情况下,我们上传一个xxx.jpg的文件,里面代码如下

<?PHP fputs(fopen('shell.php','w'),'<?php eval ($_POST[cmd])?>');?>

然后访问xxx.jpg/.php,在这个目录下就会生成 shell.php

3)  Nginx(<8.03) 空字节代码执行漏洞

这个也是在图片中插入代码,并且命名为xxx.jpg ,直接访问 xxx.jpg%00.php来执行其中的代码。

最后,这里有一个流程图,测试的时候可以按照这个思路走。

nginx 上传文件漏洞_浅谈文件上传漏洞(其他方式绕过总结)相关推荐

  1. 上传php文件不能解析,浅谈文件解析及上传漏洞

    中国菜刀 在web渗透中,我最期待两种漏洞,一种是任意命令执行漏洞,如struct2漏洞等:另一种是文件上传漏洞,因为这两种漏洞都是获取服务器权限最快最直接的方法.而对于任意命令执行漏洞,如果是通过内 ...

  2. python语言源程序文件类型_浅谈Python的文件类型

    Python的文件类型主要分为3种:源代码(source file).字节码(byte-code file).优化的字节码(optimized file).这些代码都可以直接运行,不需要编译或者连接. ...

  3. rocket mq 监听端口_浅谈业务流程中的mq使用方式

    假设有个场景: 下单成功需要给用户发送消息通知,发送消息通知通过mq实现 事务提交前发送mq消息 step1:start transaction step2:生成订单 step3:投递消息到mq st ...

  4. 浅谈云上攻防 --SSRF 漏洞带来的新威胁

    前言 在<浅谈云上攻防--元数据服务带来的安全挑战>一文中,生动形象的为我们讲述了元数据服务所面临的一系列安全问题,而其中的问题之一就是通过SSRF去攻击元数据服务:文中列举了2019年美 ...

  5. 浅谈Windows XP系统漏洞的封堵

    浅谈Windows XP系统漏洞的封堵 2010年11月18日 9号    浏览:96次 发表评论 阅读评论 微软WindowsXP自出世以来就在中国市场中获得了广泛好评和客户的认同,它出色的兼容性和 ...

  6. 《计算机辅助教学及应用实践研究》,《论文_浅谈计算机辅助教学(定稿)》

    <论文_浅谈计算机辅助教学(定稿)> (3页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 摘要:计算机辅助教学中要用到多媒体课件 ...

  7. 浅谈:飞鸽传书 的TCP/IP原理

    浅谈:飞鸽传书 的TCP/IP原理,adj  兴趣浓厚的 飞鸽传书:见闻广博的,博识的he is hot in mathematics and chemistry  (他数学和化学极好.)复合词语ho ...

  8. 高德地图只显示一个省_浅谈当下各种导航软件:高德地图、百度地图、腾讯地图...

    浅谈当下各种导航软件:高德地图.百度地图.腾讯地图,之前出门找不到路只能靠问路,现在我们生活中出现了各种各样的导航软件,甚至让用户出现了选择困难症,不知道选择哪一款软件比较号,在这里小编就要给大家来分 ...

  9. 指下码上横戈行——递归浅谈

    指下码上横戈行--递归浅谈 什么是递归,十三大一下学期上C语言课的时候,老师就在课上面讲过递归的知识,然而十三当时并没有懂,迷迷糊糊地只是把递归的两个条件记住了,一个是递归需要终止条件,另一个是递归的 ...

最新文章

  1. Cocos2d-x学习笔记(三十)之 游戏存档
  2. 综述|工业金属平面材料表面缺陷自动视觉检测的研究进展
  3. PostgreSQL的configure 干了些什么(二)
  4. 写在园子里的第一篇BLOG
  5. oracle删除后电脑卡,彻底删除oracle服务 -电脑资料
  6. Mac 运行 psql postgres 报错
  7. 【Android】Windows环境安装Android Studio教程
  8. 面试题7:重建二叉树
  9. 【Java】四种方法复制视频文件比较
  10. NGUI的slider的滑动条制作(SliderScript)
  11. 树莓派3vnc分辨率设置
  12. TCP/IP模型的简单解释
  13. 做朋友圈需先从做人开始
  14. vc 模拟按键 模拟windows消息方式_PC微信电脑端WeChat点击脚本(按键精灵)2020小工具...
  15. 基于Flask框架实现Mock Server
  16. 上位机与下位机的串口通信实践
  17. 计算机无法添加本地策略组,电脑打不开本地组策略编辑器,求破~!
  18. 全局最小割集Stoer-Wagner算法
  19. 域用户本地管理员密码破解
  20. 2021-05-01微信小程序存储数据的几种方式

热门文章

  1. (最简单)Java 格式化数字每3位加逗号分隔(自己封装好的工具类,直接可用)
  2. GAMES101 梳理 / 个人向图形学笔记
  3. 中勒索病毒后的正确操作姿势
  4. 海康 sdk 视频截取 demo
  5. flask-socketio实现的网页聊天室(一)
  6. luogu P4735 最大异或和
  7. 《十二怒汉》看到一半的观后感(一些零零碎碎语句不通的感想)
  8. 怎么在word里标上标和下标?
  9. 服务器虚拟化种类,服务器虚拟化的种类
  10. 集成聚合火车票订票接口(回调推送方式)总结