Apache解析漏洞的构造与加固

一. Apache解析漏洞的构造

1. 实验环境

    Windows 10+PHPstudy2014

2. apache解析漏洞原理

    apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后往前解析,直到遇到认识的扩展名为止如果都不认识将会暴露源码。在apache配置不当的时候就会造成apache解析漏洞。

3. 漏洞构造

    打开配置文件httpd.config,添加如下代码。


4. 漏洞详情

    首先上传文件  12.php.jpg

    文件里添加如下代码:

            <?php phpinfo();?>



访问上传的网页,发现直接解析为php网页了。


二.Apache解析漏洞加固

打开apache配置文件httpd.conf再最后添加如下代码

<FilesMatch ".(php.|php3.|php4.|php5.)">

OrderDeny,Allow

Deny from all

</FilesMatch>


然后我们再打开上传的文件网页

解析失败了。

附上index.php源码(同级目录下创建uploadfiles文件夹)


<?php

if (!empty($_FILES)):

$ext = pathinfo($_FILES['file_upload']['name'], PATHINFO_EXTENSION);

if (!in_array($ext, ['gif', 'png', 'jpg', 'jpeg'])) {

    die('Unsupported filetype uploaded.');

}

$new_name = __DIR__ . '/uploadfiles/' . $_FILES['file_upload']['name'];

if(!move_uploaded_file($_FILES['file_upload']['tmp_name'], $new_name)){

    die('Error uploading file - check destination is writeable.');

}

die('File uploaded successfully: ' . $new_name);

else:

?>

<form method="post" enctype="multipart/form-data">

    File: <input type="file" name="file_upload">

    <input type="submit">

</form>

<?php

endif;


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.什么是解析漏洞 以其他格式执行出脚本格式的效果。 2.解析漏洞产生的条件 1.命名规则 2.搭建平台 3.常见...
    查无此人asdasd阅读 1,887评论 0 3
  • 一、会话控制(session与cookie) 1.cookie简介 Cookie是存储在客户端浏览器中的数据,我们...
    空谷悠阅读 660评论 0 5
  • 架构师必须知道的26项PHP安全实践 PHP是一种开源服务器端脚本语言,应用很广泛。Apache web服务器提供...
    meng_philip123阅读 6,148评论 1 161
  • 跟M認識的過程很可愛,那是上高中的第一天,忘了自己是怎麼找到課室的了,只記得,那天,我坐錯了位置,那天,跟旁邊的女...
    栖小熊阅读 204评论 1 1
  • 一夜无梦到天明,东边日出西边云。心无杂念任放飞,云淡风轻出家门。阳光缕缕清香爽,出门还记带雨伞。需则茶楼能避雨,就...
    甘朝武阅读 198评论 0 0