• 注册
当前位置:1313e > 默认分类 >正文

upload笔记

第一题 前端JS绕过
lasIndexOf是返回函数最后一次出现的地方(从右到左); substring是用来截取函数的; indexOf是返回,表示从.出现的地方开始截取并判断是否在允许的字符串内。
上传一句话木马,对我进行了弹窗,判断是前端js验证。
绕过方法:
1.按F12打开调控台,删除下面这个验证js代码。

onsubmit="return checkFile()

2.上传成功,返回图片信息即路径地址

/upload/1.php

具体操作参考文章:https://blog.csdn.net/m0_53008479/article/details/121420258

第二题 MIME-TYPE验证绕过

($_FILES['upload_file']['type'] == 'image/jpeg')

判断文件类型是否为图片
绕过方法:
通过burp捉包修改Content-Disposition:上传php文件
第三题 黑名单检测(特殊16进制后缀绕过)
绕过方法:
1.用特殊16进制后缀截断尝试,例如0xf7,将插入的字节填为

f7p+

0x00截断的思路即为将+之后的内容忽略掉
%00是被服务器解码为0x00发挥了截断作用

../upload/202108050019484083.php

第四题 黑名单检测 (.htaccess文件绕过)
添加可以执行php的文件类型:

AddType application/x-httpd-php .php
<FilesMatch \.jpg$>
SetHandler application/x-httpd-php
</FilesMatch>                       //这个会覆盖前面的
copy 1.jpg/b+1.php/a 2.jpg    //制作一句话木马图片

我只能用.txt,服务器不支持
第五题 黑名单过滤(后缀名特殊字符多写)
绕过方法:

1.php. . (两个点中间加个空格)

windows在创建文件的时候,末尾的点会被去掉
第六题 黑名单过滤(大小写绕过)
对后缀名进行大小写,例如1.pHP
windows在创建文件的时候,忽略大小写,实际保存的文件名后缀即为php
第七题 黑名单过滤(空格绕过)
空格可以绕过
windows在创建文件的时候,空格会被忽略
第八题 黑名单过滤(点绕过)
点可以绕过
windows在创建文件的时候,点会被忽略
第九题 黑名单过滤(流文件绕过)
::$DATA可以绕过
windows在创建文件的时候,结尾流文件后缀会被忽略
第十一题 黑名单过滤(后缀名双写绕过)
绕过方法:
直接上传一个php文件,发现可以上传,但是查看返回路径发现,只有文件名,没有文件后缀名。则认
为他是将php替换为空了。
那么我们抓包将后缀名改成双写即可绕过,即11.pphphp
返回成功11.php
第十二题 白名单 get型%00截断
%00截断的概念和原理:
在url中%00表示ASCll码中的0,而0作为特殊字符保留,表示字符结束; 当url中出现%00时就认为读取已结束,而忽略后面上传的文件或者图片,只上传截断前的文件或图片。
要求:php版本小于5.3.4,且php中的magic.quotes.gpcOFF状态
文件保存的方式是上传路径+随机时间+截取的文件后缀
先上传一个php文件,返回信息发现只允许上传.jpg|.png|.gif类型文件!认定为白名单验证。
通过抓包修改get 参数,然后通过file_ext无效,这样就可以上传php文件因此可以利用%00截断绕过。
上传jpg文档发现可以上传,则我们抓包,发现是GET型将路径信息暴露出来,我们尝试用00截断,直接在save_path接收的值后面加上,1.php%00 并且将文件名改为1.jpg。成功上传,返回路径信息。
因为网站的原因GET提交参数到服务器系统中,系统在对文件名的读取时,如果遇到0x00,就会认为读取已结束。
第十三题 白名单 POST型%00截断
上传jpg文档,发现是POST型将路径信息暴露出来,我们尝试用00截断,然后将save_path接收的值改为../upload/1.php (有个空格),然后调整到hex中,将空格改为00,发包,发现上传成功,返回路径信息。
第十四题 文件头检测
unpack() 函数从二进制字符串对数据进行解包返回数组一个字节为一个值)
intval() 函数通过使用指定的进制 base 转换(默认是十进制),返回变量 varinteger 数值
getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组

copy 8.png/b + 1.php/a 9.png

上传一句话图片木马,将文件后缀改为php上传成功,但返回的为jpg格式文件。
根据页面提示,点开文件包含漏洞页面。
根据页面提示,通过GET请求的file参数填写我们的图片地址。
第十五题 文件头检测 代码函数用的是getimagesize()类型验证
本关一样使用图片马,和第十四题一样
第十六题 文件头检测代码函数用的是exif_imagetype()类型验证
exif_imagetype() — 判断一个图像的类型
开启文章开头环境说明中的extension=php_exif.dll
参考这个文章:https://www.freesion.com/article/48421366176/
第十七题 二次渲染绕过
先尝试上传一个gif格式的一句话图片木马,上传成功,右击图片查看图像。
用文件包含漏洞解析发现是并没有成功。
010editor把木马插入到图片中。
再对新修改的一句话图片木马上传,上传成功。
我没做出来
第二十题 保存名称可控,00截断
上传一句话木马,并且修改文件名php后缀,发现并不能上传上去
抓包修改上传名为2.php ,有个空格,我们再进入hex将空格的20修改为00进行截断,发现上传成功。
第二十一题 数组拼接后缀名
php修改后缀jpg上传抓包

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录