• 文件上传漏洞 分析与利用


    文件包含和文件上传 俩个漏洞结合起来的利用

    文件上传漏洞使用  将图片头复制过来 伪造图片  然后将恶意代码嵌入    将jpg上传成功后  得到路径

    就可以读取文件

    所以,在设计文件上传功能时,一定要对传进来的文件进行严格的安全考虑。比如:

    1.验证文件类型、后缀名、大小;

    2.验证文件的上传方式;

    3.对文件进行一定复杂的重命名;

    4.不要暴露文件上传后的路径等

    文件上传漏洞的防范措施

      1. 不要在前端使用js实施上传策略。

     2. 通过服务端对上传文件进行限制:

    A)进行多条件组合检查:比如文件的大小,路径,扩展名,文件类型,文件完整性。

          B)对上传的文件在服务器上存储时进行重命名(制定合理的命令规则)。

      C)对服务器端上传文件的目录进行权限控制(比如只读),限制执行权限带来的危害。

     

    首先复习一下之前自己写过的博客:

    pikachu文件上传 : https://www.cnblogs.com/xingyuner/p/12310214.html

    1、前端限制     在JS中限制 只允许上传jpg  在前端页面删除限制语句即可    上传成功后  而且在实际操作中  要知道上传的路径 才能进行操作

    2、MIME TYPE   修改文件type   上传成功

    3、图片木马制作 

       方法1 :直接伪造头部GIF89A 方法2:CMD: copy /b test.png + muma.php ccc.png

       方法3.使用GIMP (开源的图片修改软件) , 通过增加备注,写入执行命令

    DVWA文件上传:      https://www.cnblogs.com/xingyuner/p/12292235.html

    低: 直接上传php文件  菜刀链接

    中:①之前的php文件改成png文件上传

      ②首先上传一个jpg文件,然后抓包上传文件的数据,修改其为php文件

      ③%00截断   .php%00.png

      在php版本小于5.3.4的服务器中,当Magic_quote_gpc选项为off时,可以在文件名中使用%00截断

      修改文件后缀名为.php%00.png

    高:首先利用copy将一句话木马文件ghz.php与图片文件3.jpg合并

      cmd中   test.png + muma.php  ccc.png    就会执行成功

    pikachu文件包含:https://www.cnblogs.com/xingyuner/p/12309934.html

    本地文件包含

    远程文件包含

     

    DVWA文件包含:https://www.cnblogs.com/xingyuner/p/12285861.html

    File Inclusion,意思是文件包含(漏洞),是指当服务器开启allow_url_include选项时,就可以通过php的某些特性函数(include(),require()和include_once(),require_once())利用url去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。

    文件包含漏洞分为本地文件包含漏洞与远程文件包含漏洞,远程文件包含漏洞是因为开启了php配置中的allow_url_fopen选项(选项开启之后,服务器允许包含一个远程的文件)。

    文件上传检测控制方法

    ▪1、通过前端JavaScript检测文件扩展名

    ▪2、服务器端检测文件传输类型content-type

    ▪3、服务器端检测文件扩展名

    ▪4、服务器端文件内容检测

    ▪5、00截断的应用

    中间件解析漏洞和利用:

    IIS6.0解析漏洞

    1、目录解析:

    -在网站下建立文件夹的名字为.asp /.asa的文件夹,其目录内的任何扩展名的文件都被IIS当作asp文件来解析并执行。

    -利用方法:建目录a.asp,目录中/a.asp/a.jpg 将会被按照正常的asp文件进行解析。

    2、文件解析:

    -在IIS6.0下,分号后面的不被解析,如a.asp;.jpg会被当做a.asp

    -利用方法:上传文件名为xx.asp;.jpg格式

    3、▪还有iis6.0默认的可执行文件除了asp还包含(常用来绕过黑名单检测)

      -.asa

      -.cer

      -.cdx

    Apache2.0-2.2未知扩展名解析漏洞

    Apache从右到左开始判断文件扩展名来解析文件,如果文件扩展名不被识别,就再往左判断,直到可以识别为止

    ▪例如udp.php.sss这个文件.sss后缀是apache不可识别解析,apache就会往前判断,当识别PHP时,就把udp.php.sss解析成php文件解析了。

    Apache .htaccess配置文件

    ▪.htaccess文件是Apache服务器中的一个配置文件,它负责某一个目录下的网页配置配置,通过.htaccess可以实现分布式的配置。

    ▪通过htaccess文件,可以实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能

    IIS平台上不存在该文件,

    htaccess配置文件的开启

    ▪Vim /etc/httpd/conf/httpd.conf  

    ▪该文件默认开启,启用和关闭在httpd.conf文件中配置。

    Apache .htaccess配置文件解析利用

    ▪1、建立.htaccess文件,写入-AddTypeapplication/x-httpd-php .jpg-可以实现将.jpg的文件按照php解析执行

    ▪2、上传.htaccess到服务器的目录(马在.htaccess在同目录或者子目录即可

    ▪3、上传.jpg的图片马,访问图片即可执行

    Nginx解析漏洞

    Nginx 主要有这两种漏洞

    -1、低版本的Nginx 可以在任意文件名后面添加%00.php 进行解析攻击。如:test.jpg%00.php -影响版:0.5.,0.6., 0.7 <= 0.7.65, 0.8 <= 0.8.37

    -2、一个是对任意文件名,在后面添加/任意文件名.php的解析漏洞。如:test.jpg/x.php(php-cgi的漏洞,本质与nginx无关的)

    -漏洞场景IIS+php或Nginx+php▪测试版本-nginx0.5.* [Success]-nginx0.6.* [Success]-nginx0.7 <= 0.7.65 [Success]-nginx0.8 <= 0.8.37 [Success]

    常见编辑器漏洞和利用

     

  • 相关阅读:
    sql server 中 bit 字段的 查询方法
    C# 4.0新特性"协变"与"逆变"以及背后的编程思想
    marginleft是做边距,是宽度 left是定位盒子左上角左边位置的一个点
    什么是企业库 怎么使用企业库 企业库的好处 企业库的目标
    SQL各种Join用法(Full,Left,Out,Inner)
    JavaScript计算两个文本框内数据的乘积(四舍五入保留两位小数)
    SQL VIEW(视图)
    Sql ISNULL() 函数
    left join 和 left outer join 有什么区别
    18个不常见的C#关键字,您使用过几个?
  • 原文地址:https://www.cnblogs.com/xingyuner/p/12853040.html
Copyright © 2020-2023  润新知