0212[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.

依然是不能连接


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值