设为首页 收藏本站
查看: 1124|回复: 0

shell上传绕过检测方法

[复制链接]
累计签到:2 天
连续签到:2 天
发表于 2018-8-23 07:08:21 | 显示全部楼层 |阅读模式
  文件上传漏洞是所有漏洞中最为直接,有效的获取服务器权限的方法。但是想要利用好他并不容易,因为他的上传姿势实在是太过花哨(多)。所以这里介绍一些简单的上传姿势。望大牛误喷
  shell上传条件:
  1、上传点
  2、绝对路径
  3、要有权限
  文件上传检验姿势
  1、客户端javascript校验(一般只校验后缀名)
  2、服务端校验
  ①文件头content-type字段校验(image/gif)
  ②文件内容头校验(GIF89a)
  ③后缀名黑名单校验
  ④后缀名白名单校验
  ⑤自定义正则校验
  3、WAF设备校验(根据不同的WAF产品而定)
  开始上传(先试着上传小马,然后在上传大马,因为有时大马更容易被吃掉)
  1、直接上传shell,即php文件 (对文件类型不做限制)
  2、更改后缀
  上传其他允许上传格式的文件例如png、jpg。然后通过bp抓包再改后缀为php
  (在前端验证黑白名单。判断方式:在浏览加载文件,但还未点击上传按钮时便弹出对话框,内容如:只允许上传.jpg/.jpeg/.png后缀名的文件,而此时并没有发送数据包。一般是javascript脚本)
  3、利用解析漏洞(即在文件的绝对路径后加上 /xx.php)
  上传例如png的文件,利用解析漏洞  (含有解析漏洞的web服务器,iis6.0,iis7.0,iis7.5,Nginx低版本)
  4、不可识别的后缀 (服务器端为黑名单验证)
  上传例如shell.php.abc文件,服务器因为不能识别abc后缀,所以向前查找可解析的后缀名。
  (此项只针对apache服务器 apache对文件后缀名的识别是从后向前进行匹配的,以单个.作为分隔符。当遇到未知的文件后缀名时,会继续向前匹配,直到遇到可以识别的后缀名为止。 apache的这个特性,可以被用来绕过一些上传文件的检测。如果一个文件上传的页面,通过黑名单的方式禁止上传php文件,那么我们就可以将文件名修改为test.php.abcd的方式进行上传)
  5、00截断
  上传类似shell.php.jpg文件,用burpsuit抓包之更改hex值,在hex下找到shell.php.jpg将第二个点的值(我记得是2e)改为00,然后点击forward(将包放行)
  6、图片马
  在win系统cmd下可以很容易将php文件与jpg或者png文件结合起来,例 copy /b 1.jpg+1.php shell.jpg 即可将图片与码结合起来了,因为有些服务器会检测图片头,若不是图片头是不允许上传的。将图片与码结合起来可以有效的隐藏***。这里别忘了要上传的是php文件,可以使用以上的那些方法
  (这个是针对服务端content-type字段检验的)
  7、.htaccess 文件***上传shell(服务器端为黑名单验证)
  .htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置.通过htaccess文件,可以实现:网页301重定向、自定义404页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
  ①、写.htaccess文件
  需要用到的代码如下:
  
  SetHandler application/x-httpd一php
  
  (通过.htaccess文件,调用php的解析器解析一个文件名只要包含“cimer”这个字符串的任意文件。)
  然后保存文件(名称、类型如下)
DSC0000.png

  ②、上传.htaccess文件
  ③、将shell后缀改为cimer
  ④、然后上传shell.cimer
  ⑤、然后就可以连接了
  如果看不懂看以参考  http://www.sohu.com/a/125498727_609556
  上传方法很多,也有各种各样的奇葩绕过方法,我知道的也是九牛一毛,这里对奇葩事例记录一下,为防止以后忘记。
  事例:海盗云商  会员改头像  burpsuit抓包后在content-type下加上文件大小 就可以getshell
  或者上传图片后再加入***,就可以getshell(这里有一个问题,就是 一句话是没有分号的,有分号            反而不成功)
  https://www.cnblogs.com/shellr00t/p/6426945.html  这个网址不错可以看看


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-555272-1-1.html 上篇帖子: Linux shell 命令行下查询外网IP 下篇帖子: Shell中的特殊变量($0、$#、$*、$@、$$、$!、$?、$1~$n)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表