当前位置:   article > 正文

0212[ACTF2020 新生赛]Upload

[actf2020 新生赛]upload

[ACTF2020 新生赛]Upload

fuzz

phtml


解题思路:上传phtml,蚁剑连接,获取 /flag。

这道题的特殊点:

虽然可以上传上去很多内容。

但是不是全都可以执行。

1.

如:试图用蚁剑连接PHP,返回数据为空。

用phtml连接则可以看到其实PHP已经上传上去了,只是没法执行。

猜测原因:

SetHandler application/x-httpd-php

这里故意留了一个口子,让phtml可作为php文件执行。

验证php可执行:在其中添加add.php文件。

即可连接成功

我的问题:如何禁止php3,phP等文件执行。

参考:phpinfo查看可以解析的后缀

https://blog.csdn.net/weixin_39539002/article/details/111837351

参考:禁止php3,phP等文件后缀

https://blog.csdn.net/qq15577969/article/details/108999350

A. .htaccess

<FilesMatch "\.(?i:php|php3|php4|php5)">Order allow,denyDeny from all</FilesMatch>

这个方法是在.htaccess中设置了禁止的方法。

但是看到服务器上的.htaccess并没有如此设置。

B. 修改apache的配置文件httpd.conf

<Directory D:\wwwroot\public\uploads><FilesMatch "\.(?i:php|php3|php4|php5)"> Order allow,deny Deny from all</FilesMatch></Directory>

对于这种允许很多种文件后缀上传但是不执行的题,有必要形成一个较小的字典。方便初级的逐一验证

我的问题:如何批量连接已上传的脚本,过滤出其中能够成功连接的webshell.

搜索发现蚁剑的插件可能满足该需求:

插件市场一直加载中:

蚁剑官方文档:

https://www.yuque.com/antswordproject/antsword

设置代理后依然一直加载中,用手工安装方式

https://github.com/orgs/AntSword-Store/repositories?type=all

找到github上代码,放到E:\antSword-2.1.11.1\antSword-2.1.11.1\antData\plugins

看看livescan插件

这个插件可以批量测试已创建好连接的存活情况,但是需要批量去创建连接,相当于只能完成一半的需求。这里要去学习antsword源码写个脚本?

或者试试pyshell?


另外 做的尝试:

1.首先上传.htaccess

SetHandler application/x-httpd-php

2.

依然是不能连接


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号