[ACTF2020 新生赛]Upload
fuzz
![](https://i-blog.csdnimg.cn/blog_migrate/743e586016e8e33199c5a993cf30c309.png)
![](https://i-blog.csdnimg.cn/blog_migrate/112c989eda81044dafc61162665b2802.png)
phtml
解题思路:上传phtml,蚁剑连接,获取 /flag。
这道题的特殊点:
虽然可以上传上去很多内容。
但是不是全都可以执行。
1.
![](https://i-blog.csdnimg.cn/blog_migrate/8f33ee2d4bb4ff8606f153fe5325d669.png)
如:试图用蚁剑连接PHP,返回数据为空。
![](https://i-blog.csdnimg.cn/blog_migrate/6231349be39566ca04cdcf1b2b2e3692.png)
用phtml连接则可以看到其实PHP已经上传上去了,只是没法执行。
猜测原因:
SetHandler application/x-httpd-php
![](https://i-blog.csdnimg.cn/blog_migrate/ccc9843e6e7218328fc30d795e19e70b.png)
这里故意留了一个口子,让phtml可作为php文件执行。
验证php可执行:在其中添加add.php文件。
![](https://i-blog.csdnimg.cn/blog_migrate/0579cd2a270a0731f8e6fe7bda807af4.png)
即可连接成功
![](https://i-blog.csdnimg.cn/blog_migrate/85bdcbf1858fbd183d1b920b82af2cd7.png)
我的问题:如何禁止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插件
![](https://i-blog.csdnimg.cn/blog_migrate/ac35ab0fefc38ca2d4d760bac7d99939.png)
这个插件可以批量测试已创建好连接的存活情况,但是需要批量去创建连接,相当于只能完成一半的需求。这里要去学习antsword源码写个脚本?
或者试试pyshell?
另外 做的尝试:
1.首先上传.htaccess
SetHandler application/x-httpd-php
2.
![](https://i-blog.csdnimg.cn/blog_migrate/91ebef5f538fda7a20937d2f712530ea.png)
依然是不能连接