文件上传之00截断

文件上传之—00截断

1.什么是00截断

事实上0x00,%00,/00这三类阶截断都是属于同种原理,只是表示不同而已

下面是用 URL 编码形式表示的 ASCII 字符
在这里插入图片描述
在url中%00表示ascll码中的0 ,而ascii中0作为特殊字符保留,表示字符串结束,所以当url中出现%00时就会认为读取已结束

如在1.php文件名改为1.php%00.jpg会被解析为1.php,这样就能绕过后缀限制,上传shell

2.00截断测试

php版本要小于5.3.4,5.3.4及以上已经修复该问题(asp版本不清楚 )
magic_quotes_gpc需要为OFF状态

测试网站:本地靶机
测试工具:burt suite

1)将php文件后缀改为php .jpg后上传
文件上传之00截断_第1张图片
2)上传之前将burt suite配置好后进行抓包

右键发送至repeater
文件上传之00截断_第2张图片3)将 .jpg中的空格改为%00从而使文件变为php文件
紧接上一步,点击repeater->hex;找到上传的文件名,将20改为00
(20为空格的进制码,00为截断的)
文件上传之00截断_第3张图片
4)点击Go运行一下然后放行,上传成功
文件上传之00截断_第4张图片
由于靶机自身原因未能上传成功,一定要注意网站是否满足条件

你可能感兴趣的:(文件上传之00截断)