IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> Apache、iis解析漏洞 -> 正文阅读

[PHP知识库]Apache、iis解析漏洞

Apache解析漏洞

test.php.xxxxx

任意不属于黑名单且不属于Apache解析白名单之内的后缀名都可以使用

mime.types文件

在unbuntu下路径/etc/mime.types

在windows下路径C:/apache/conf/mime.types(类似这样的,注意Apache安装路径)

该文件是一个一对多的映射表,定义了某一种文件类型,对应的几种后缀

一个文件名为test.php.aaa.bbb.ccc的文件,Apache会从ccc的位置向php的位置尝试开始解析,如果ccc不属于Apache能解析的后缀名,那么Apache就会尝试解析bbb,这样一直往前尝试,直到遇到一个能解析的拓展名为止

iis解析漏洞

dir.asp/任意文件名| test.asp;任意文件名

iis7.0/iis7.5/Nginx<8.03畸形解析漏洞
任意文件名/任意文件.php ?| ?任意文件%00.php

目前Nginx主要有这两种漏洞:
1.一个对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件时test.jpg,可以添加为test.jpg/x.php进行解析
2.一些很老的Nginx版本可以在后面添加%00.php进行解析

iis6.0在解析asp格式的时候有两个解析漏洞
1.如果目录以".asp/.asa/.cer/.cdx"字符结尾,那么这个目录下所有文件都会按照asp格式去解析
2.只要是文件名中包含".asp;/.asa;/.cer;/.cdx;"会优先按照asp来解析

iis7.0/7.5是对php解析时有一个类似Nginx的解析漏洞,对任意文件名只要在URL后面追加字符串"/任意文件名.php",就会按照php的方式去解析?

解析漏洞

Apache解析漏洞:

当apache解析一个形式如1.php.a.b.c

会从右边往左进行解析,当获得的后缀不在apache能够解析的范围之内时,此时会继续查看下一个后缀,知道能够解析为止

iis解析漏洞:

iis6.0:

(a)当文件名包含.asp;/.asa;/.cer;/.cdx;这种类似的文件名时,此时不管最终文件的后缀是什么,都会优先当作asp进行解析

(b)当文件以.asp/.asa/.cer/.cdx作为文件夹名字结尾时,此时该文件夹下的都会优先当作.asp来进行解析

iis 7.0/7.5? ? ? 形似nginx 当存在该漏洞时,直接在文件名后加上/任意文件名.php,此时该文件会被当作php来解析

nginx解析漏洞

(a)直接在文件名后加上/任意文件名.php,此时该文件会被当作php来解析?

(b)在低版本的nginx中,加上%00.php此时该文件就会被当作php来解析

补充:

file_put_contents函数

在1.php中写入以下代码

<?php
file_put_contents('haha.php','<?php phpinfo();?>');
?>?

访问1.php则会生成一个haha.php,里面时写入的phpinfo信息

竞争机制:upload-labs第18题

代码原理是写一个白名单,我们上传的php不在白名单中,但是它是先把文件上传到文件夹中,再接一个if判断后缀是否是不在白名单中(这样的做法可以避免直接使用白名单被绕过后上传),这里我们可以通过上传一个php文件(1.php)结合上面的file_put_contents函数写一个新的php文件(2.php),再短时间持续上传并在被删除前访问1.php,利用这里的时间差

实现方法:

1.可以写一个脚本,或者是抓上传包(1.php)利用burp的intruder模块,穿一个我们自定义的变量a=1,选择burp中的add$(add选择1)然后选择一个数字的字典,设置次数和线程数

2.再用burp抓一个我们访问该路径下访问1.php的包,同样添加一个变量a=1,选择一个数字字典设置次数和线程数,不停访问1.php

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-02-26 11:10:13  更:2022-02-26 11:12:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/26 15:44:18-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计