网站开发的可行性报告,创业项目,网站制作应用知识,win8怎么建设网站目录
文件上传与测试环境安装
1、前端 JS
2、.htaccess(apache独有的配置文件)
3、MIME类型
4、文件头判断
5、黑名单-过滤不严
6、黑名单-过滤不严
7、低版本GET-%00截断
8、低版本POST-%00截断
9、黑名单-过滤不严
10、逻辑不严-条件竞争
11、二次渲染
12、函数…目录
文件上传与测试环境安装
1、前端 JS
2、.htaccess(apache独有的配置文件)
3、MIME类型
4、文件头判断
5、黑名单-过滤不严
6、黑名单-过滤不严
7、低版本GET-%00截断
8、低版本POST-%00截断
9、黑名单-过滤不严
10、逻辑不严-条件竞争
11、二次渲染
12、函数缺陷 知识点 1、PHP-原生态-文件上传-检测后缀黑白名单 2、PHP-原生态-文件上传-检测信息类型内容 3、PHP-原生态-文件上传-函数缺陷逻辑缺陷 4、PHP-原生态-文件上传-版本缺陷配置缺陷 文件上传与测试环境安装 无文件解析安全问题上格式解析是一对一的不能jpg解析php 换句话来说有解析错误配置或后缀解析漏洞时才能实现格式差异解析 文件上传安全指的是攻击者通过利用上传实现后门的写入连接后门进行权限控制的安全问题对于如何确保这类安全问题一般会从原生态功能中的文件内容文件后缀文件类型等方面判断但是漏洞可能不仅在本身的代码验证逻辑中出现安全问题也会在语言版本语言函数中间件引用的第三方编辑器等存在缺陷地方配合利用。另外文件上传也有多个存储逻辑不同的文件存储方案也会给攻击者带来不一样的挑战
测试环境安装
https://github.com/ffffffff0x/f8x https://github.com/fuzzdb-project/fuzzdb https://github.com/sqlsec/upload-labs-docker 下载上述资源
docker安装 f8x -d 或 f8x -docker进入项目文件夹 cd upload-labs-docker一键部署运行 docker-compose up -d 1、前端 JS
如何判断是否是前端验证呢
首先抓包监听如果上传文件的时候还没有抓取到数据包但是浏览器就提示文件类型不正确的话那么这个多半就是前端校验了 如何绕过先上传一个图片后缀抓包改成脚本后缀 2、.htaccess(apache独有的配置文件)
一般上传用的不多主要用来留后门apache中.htaccess文件可以上传并执行这个文件定义了哪个文件可以以脚本方式运行。
方式一在.htaccess中写入:
FilesMatch s.jpgSetHandler application/x-httpd-php
/FilesMatch然后再上传s.jpg的木马, 这样s.jpg就可解析为php文件 最好拿到shell之后修改自带的这个文件添加上面的那段代码就可以留个后门了
方式二
AddType application/x-httpd-php .png 当htaccess文件成功上传后这时候再上传一个png图片的后门就可以解析成脚本 3、MIME类型
Content-Typeimage/png || image/jpeg4、文件头判断
GIF89a5、黑名单-过滤不严 str_ireplace()函数替换字符串中的一些字符(不区分大小写)
无递归(只检测一次没循环)
phphp(因为代码中是把匹配到的黑名单替换为空) 6、黑名单-过滤不严
windows中大小写没问题但是在linux上是不能大小写的要么全小写要么全大写 系统大小写敏感属性
str_ireplace()函数替换字符串中的一些字符(不区分大小写) 7、低版本GET-%00截断
这种方式适用于
magic_quotes_gpc 0ffPHP 版本小于 5.3.4 自动解码一次/var/www/html/upload/x.php%00
url 上面 %00
post 下面 %00 二次解码 8、低版本POST-%00截断
这种方式适用于
magic_quotes_gpc 0ffPHP 版本小于 5.3.4
手工解码一次…/upload/x.php%00 二次解码
url 上面 %00
post 下面 %00 二次解码 9、黑名单-过滤不严
php3 利用fuzz思路去跑后缀
字典下载地址https://github.com/fuzzdb-project/fuzzdb 10、逻辑不严-条件竞争 上传不断发包 请求不断发包 访问创建脚本代码
?php fputs(fopen(xiao.php,w),?php eval($_REQUEST[1]);?);?11、二次渲染
后端语言会对图片进行二次渲染让图片更好的呈现出来但是这样就会造成一个图片里插入的脚本代码丢失的情况
先搞个正常图片上传图片后导出渲染后的图片 对比保留部分在保留部分添加后门代码 最后利用提示的文件包含执行图片后门代码 12、函数缺陷
使用move_uploaded_file 函
保存的文件名可控 shell.php/.