小工具知识网

当前位置: 首页 > 行业知识 > 【小迪安全】红蓝对抗 | 网络攻防 | V2022全栈培训笔记(WEB攻防31-34 -文件上传)

行业知识

【小迪安全】红蓝对抗 | 网络攻防 | V2022全栈培训笔记(WEB攻防31-34 -文件上传)

2026-11-15 05:14:14 来源:互联网转载

第31天 WEB攻防-通用漏洞&文件上传&js验证&mime&user.ini&语言特性

知识点:

1、文件上传-前端验证

2、文件上传-黑白名单

3、文件上传user.in妙用

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

#详细点:

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

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

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

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

#本章课程内容:

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

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

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

演示案例:

CTFSHOW文件上传-151到161关卡

151关 前端过滤–直接修改前端允许上传的类型绕过

152关 前后端同时过滤–修改前端代码允许php文件上传–burp抓包修改content-type为image/png绕过

153关 前后端过滤同时严格过滤参数–上传.user.ini配置文件并将内容写为auto_prepend_file=test.txt–上传写有webshell的文件(可以为text也可以为png)–访问index.php即可反弹shell

补充知识:

  • 配置文件 :php.ini
  • 配置文件(php.ini)在 PHP 启动时被读取。对于服务器模块版本的 PHP,仅在 web 服务器启动时读取一次。对于 CGI 和

    CLI 版本,每次调用都会读取。(PHP: 配置文件 - Manual)

    实际上,除了PHP_INI_SYSTEM以外的模式都是可以通过.user.ini来设置的。而且,和php.ini不同的是,.user.ini是一个能被动态加载的ini文件。也就是说修改了.user.ini后,不需要重启服务器中间件,只需要等待user_ini.cache_ttl所设置的时间(默认为300秒),即可被重新加载。

    这里就很清楚了,.user.ini实际上就是一个可以由用户”自定义“的php.ini,我们能够自定义的设置是模式为“PHP_INI_PERDIR

    、 PHP_INI_USER”的设置。

    其中有两个配置,可以用来制造后门:

    auto_append_file ; 指定一个文件,自动包含在要执行的文件前。

    auto_prepend_file ;指定一个文件,自动包含在要执行的文件后。 使用方法很简单,直接写在.user.ini中:

    auto_prepend_file=test.txt

    或者

    auto_append_file=test.txt

    154155关-JS验证+User.ini+短标签

    //前提是开启配置参数short open tags=on

    //不需要开启参数设置 / /前提是开启配置参数asp tags=on

    //不需要修改参数开关 user.ini:auto_prepend_file=test.png test.png: 思路:先尝试图片文件(发现验证不通过)--修改前端代码(存在后端验证)--burp修改文件类型--仍提示文件类型错误(尝试上传user.ini文件)--对png文件中的代码进行过滤(会检查文件中)中的php字段--使用不含php字段的代码(比如 :)

    156关 JS验证+user.ini+短标签+过滤

    过滤 []

    user.ini:auto_prepend_file=test.png

    test png:

    157-158-159JS验证+user ini+短标签+过滤

    user.ini: auto_prepend_file=test.png

    test.png:

    test.png:

    169 170 日志包含

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

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

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

    上传.user.ini是利用文件包含 上传.htaccess是利用文件解析漏洞

    第33天 WEB攻防-通用漏洞&文件上传&中间件解析漏洞8似编器安全

    知识点:

    1、文件上传-二次渣染

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

    3、文件上传-.htaccess妙用

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

    #详细点:

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

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

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

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

    #本章课程内容:

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

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

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

    演示案例:

    中间件文件解析-lIS&Apache&Nginx

    Web应用编辑器-Ueditor文件上传安全

    实例CMS&平台-中间件解析&编辑器引用

    #中间件文件解析-llS&Apache&Nginx

    IIS 6 7文件名目录名

    1、文件名:X.asp;.x.jpg

    2、目录名:x.asp/x.jpg

    3、S7.X与Nginx解析漏洞一致

    (该漏洞实现的条件:1中间件类型为IIS且版本对应 2、上传文件能不能修改目录或上传的文件名能增加命名)

    (漏洞防护:严格命名规则:基于本地名命名、基于时间命名、基于随机字符命名 上传的文件名固定且目录无法创建则漏洞无法实现)

    #Apache换行解析配置不当

    1、换行解析-CVE-2017-15715

    其2.4.0~2.4.29版本中存在一个解析漏洞

    2、配置不当-.htaccess配置不当

    AddHandier application/x-httpd-php .php

    #Nginx 文件名逻辑解析漏洞

    1,文件名逻辑-CVE-2013-4547

    影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

    注意此处文件名后要加空格

    2.解析漏洞-nginx.conf配置不当

    由此可知,该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。

    #Web应用编辑器-Ueditor文件上传安全

    shell addr.

    思路:制作图片马–将图片马上传到vps–上述代码保存为html文件,将访问地址修改为编译器地址—访问html文件将图片马地址填入(构造好的http://xxxx/ueditor.jpg?.aspx)–点击submit,直接上传成功,并返回我们的aspx脚本木马路径地址–shell连接

    参考文章:https://codeleading.com/article/27805571408/#google_vignette

    #实例CMS&平台-中间件解析&编辑器引用

    1、中间件配置不当导致文件被恶意解析

    2、CMS源码引用外部编辑器实现文件上传

    第34天 WEB攻防-通用漏同8&文件上传8黑白盒审计8逻捐&中间件&外部引用

    知识点:

    1、白盒审计三要素

    2、黑盒审计四要素

    3、白黑测试流程思路

    #详细点:

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

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

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

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

    #本章课程内容:

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

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

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

    演示案例

    白盒审计-Finecms-代码常规-处理逻辑

    白盒审计-CuppaCms-中间件.htaccess

    白盒审计-Metinfo–编辑器引用-第三方安全

    #白盒审计-Finecms-代码常规-处理逻辑

    黑盒思路:寻找上传点抓包修改突破获取状态码及地址

    审计流程:功能点代码文件代码块抓包调试验证测试

    #白盒审计-CuppaCms-中间件-.htaccess

    总结:漏洞产生位置在用户中心上传头像处,因为未对文件内容进行过滤导致可以上传含有后门代码的文件,但是文件上传后会对文件进行重新命名,黑盒测试中会因为不知道上传文件路径文件名导致无法连接shell,白盒测试中则可以看到文件被命名为0x00.php

    黑盒思路:存在文件管理上传改名奕破,访问后在突破

    审计流程:功能点代码文件-代码块抓包调试验证测试

    总结:上传点在后台文件管理–修改名称处–上传出会对文件进行严格过滤且会对文件进行重命名导致上传.user.in和.htaccess上传失败(白名单),在文件管理处可以对文件进行重命名,此处抓包可以抓到重命名的数据包,修改重命名后的文件名可以将png文件修改成php文件,访问发现403,是由于.htaccess配置文件导致media文件夹下php exe php5 等后缀名无法访问,在重命名处改包.// 将文件上传到上一级目录绕过,文件访问正常。第二种绕过思路:直接把.htaccess文件删除。

    #白盒审计-Metinfo-编辑器引用-第三方安全

    黑盒思路:探针目录利用编辑器漏洞验证测试

    审计流程:目录结构-引用编辑器编辑器安全查询-EXP利用验证

    总结:目录扫描–扫描出fackeditor目录–判断版本–使用exp上传webshell

    #文件上传:

    黑盒:寻找一切存在文件上传的功彰应用

    1、个人用户中心是否存在文件上传功能

    2、后台管理系统是佛存在文件上传功能

    3、字典目录扫描探针文件上传构造地址

    4、字典目录扫描探针编辑器目录构造地址

    白盒:看三点,中间件,编辑器,功能代码

    1、中间件直接看语言环境常见搭配

    2、编辑器直接看目录机构或搜索关键字

    3、功能代码直接看源码应用或搜索关键字

上一篇:视频采集秘籍大揭秘,如何制定吸引人的采集规范标题?

下一篇:spark 实验二 RDD编程初级实践