c11056-福建-许荣煌-4.19
1、文件上传
(1)服务端白名单绕过:%00截断绕过,要求虚拟机中搭建实验环境,分别实现GET、POST方法的绕过
利用%00是字符串结束标志的机制,攻击者可以通过在路径中手动添加%00的方式来将后面的内容进行截断,而后面的内容又可以帮助攻击者绕过前后端的检测。
首先先搭建实验环境,截断条件是php版本小于5.3.4,php.ini的magic_quotes_gpc为OFF状态
将upload-labs放在虚拟机phpstudy的C:\phpstudy\PHPTutorial\WWW下,查询虚拟机ip地址,最后访问靶场,实验环境搭建完成
GET方法绕过
上传一句话木马,用burpsuite抓包
在红框中添加1.png%00,注意%00要添加在路径上,然后放行
post方法绕过
上传一句话木马,用burpsuite抓包
在红框中添加2.png%00,因为是url编码,直接填%00是不能成功的,选中%00右键找到所选中内容的url,url解码,后放行
(2)文件头检查:分别利用2种制作图片马的方式实现上传绕过
.jpg FF D8 FF E0 00 10 4A 46 49 46
.gif 47 49 46 38 39 61
.png 89 50 4E 47
16进制来读取图片头信息,利用在图片中植入一句话木马制作成图片马后的16进制头信息不变的方法绕过
1,windows环境直接使用命令:copy 2.png + info.php 3.jpg生成图片马后上传
2,使用 010 editor,在图片的结尾插入一句话木马
输入http://你的ip/include.php?file=upload/2520250420123536.jpg
(3)二次渲染绕过
二次渲染为网站对用户所上传的图片进行二次处理,然后再保存到后端,那么在绕过利用的时候思路是首先上传一张图片然后再下载下来,使用十六进制工具对比原图与二次渲染过后的两张图片,找到大面积没有变动的位置插入一句话木马后再观察图片是否正常后上传的一种方式;
我们直接利用gif图片相较于png图片和jpg图片更易操作
将gif图片放入010 editor软件在末尾植入一句话木马
上传图片,将上传后的图片下载下来,发现末尾的一句话木马不见了
对比5.gif和7.gif,010editor点击tools,点击compare file,进行比对,在一大片红色前面插入一句话木马
将插入好木马的图片在次上传
2、文件包含
(1)DVWA环境下去包含其他目录的任意3个文件,要求使用相对路径
点击file1.php
地址栏的page=include.php就会相应变为page=file1.php,源码分析得出:直接通过GET方法去传递page参数进行文件包含,没有任何过滤.那么此时可以通过更改page=后面的文件名,实现查询访问与执行服务器中任意文件;
page=后面输入../../../../../../(多少个../都行,越多越好)etc/passwd
(2)远程文件包含
远程文件上传这里使用了DVWA加载upload-labs靶场内上传的一个的info.txt文本,那么在文件包含函数在读取的时候,因为文本文件内容符合php代码规范,所以直接执行,从而读取到本地DVWA靶场php信息;
(3)中间件日志包含绕过,要求使用蚁剑连接成功
中间件日志包含绕过思路是为通过输入包含恶意代码的网址,从而利用后端日志文件记录访问链接的特性从而实现恶意脚本上传执行利用的目的;在DVWA靶场环境复现中需要将日志文件填加执行权限;
DVWA中,apache2日志文件路径为: /var/log/apache2/access.log
包含日志文件,需要先对文件和目录添加权限,让web端有权限去访问
在page插入一句话木马,利用burpsuite抓包
因浏览器会进行url编码,使用burp抓包进行修改,将编码字符改为原字符
ttp://你的IP/vulnerabilities/fi/?page=/var/log/apache2/access.log
访问http://你的ip/vulnerabilities/fi/?page=/var/log/apache2/access.log
通过蚁剑并不能连接成功,点击请求信息
找到cookie填进去,点击f12,查询后得到cookie值:PHPSESSID=9o904r4rsrbv47isp4t5achqm3; security=low
3、对比文件包含和目录遍历的区别
文件包含通过代码逻辑执行外部文件,目录遍历通过路径操作窃取文件;前者可能导致代码执行,后者仅数据泄露