我这一生如履薄冰,你说我还能到对岸吗???
web151
法一:
只允许png文件,那可以把他改为php:
然后上传php文件
然后蚁剑连一下即可:
法二:
由于是前端校验,可以抓包后改一下后缀。
上传成功
蚁剑连一下即可
web152
题目描述:后端不能单一校验
法一:
先按照web1的方法试一下:
结果显示文件类型不合规。这就用到了MIME:MIME 类型 | 菜鸟教程 (runoob.***)
所以,我们只需把Content-type:改为image/png就可以了
法二:
直接上传123.php.png在抓包中把.png删掉即可
web153
先用上一题的方法试一下
但是用大小写绕过可以成功
但是当访问时,变成了自动下载了,就等于解析不了
在这里用到了.user.ini 和.hta***ss文件
.hta***ss:
1、.hta***ess文件(或者"分布式配置文件"),全称是Hypertext A***ess(超文本入口)。提供了针对目录改变配置的方法, 即,在一个特定的文档目录中放置一个包含一个或多个指令的文件, 以作用于此目录及其所有子目录。作为用户,所能使用的命令受到限制。管理员可以通过Apache的AllowOverride指令来设置。
2、 概述来说,hta***ess文件是Apache服务器中的一个配置文件,它负责相关目录下的网页配置。通过hta***ess文件,可以帮我们实现:网页301重定向、自定义404错误页面、改变文件扩展名、允许/阻止特定的用户或者目录的访问、禁止目录列表、配置默认文档等功能。
3、 笼统地说,.hta***ess可以帮我们实现包括:文件夹密码保护、用户自动重定向、自定义错误页面、改变你的文件扩展名、封禁特定IP地址的用户、只允许特定IP地址的用户、禁止目录列表,以及使用其他文件作为index文件等一些功能。
php.ini是php的一个全局配置文件,对整个web服务起作用;而.user.ini和.hta***ess一样是目录的配置文件,.user.ini就是用户自定义的一个php.ini,我们可以利用这个文件来构造后门和隐藏后门
auto_prepend_file = <filename> //包含在文件头
auto_append_file = <filename> //包含在文件尾
这里的服务器为nginx服务器,所以只能使用.user.ini文件
然后再上传1.png
然后连接蚁剑。
注意要连:/upload/index.php
web154
先按照以前的方法,试一下。
发现不行
文件内容不合规,说明检测了文件的内容
试一下php短标签:
<? echo '123';?> #前提是开启配置参数short_open_tags=on
<?=(表达式)?> 等价于 <?php echo (表达式)?> #不需要开启参数设置
<% echo '123';%> #开启配置参数asp_tags=on,并且只能在7.0以下版本使用
<script language="php">echo '123'; </script> #不需要修改参数开关,但是只能在7.0以下可用。
web155
同web154
web156
依旧按照上一题的做法
发现[被过滤
可以将[]换成{}
上传成功
web157
经过测试把;过滤了
还过滤了$_POST{}
我们可以直接读flag
<?=system("cat ./flag.php")?>
还不成功,应该还过滤了一些东西
过滤了php
把flag.php换成f*上传成功,然后直接访问/upload/index.php
web158
还是按照上一题的方法
web159
经过测验,过滤了()
我们可以构造<? echo `cat f*`?>
上传成功。
web160
文件日志包含:
文件日志包含漏洞-CSDN博客
经过检测反引号`被过滤
nginx的日志文件会有信息
所以我们只需访问nginx的日志文件即可/var/log/nginx/a***ess.log
经检测log被过滤了
但是我们仍可以写成"/var/lo"."g/nginx/a***ess.lo"."g"
所以最后可以写成<?=include"/var/lo"."g/nginx/a***ess.lo"."g"?>
然后在User-Agent里写入木马
访问即可
web161
按照上一题的方法上传
文件类型不合规。
经检测要在前面加GIF89a
上传成功,然后就按照上一题的步骤解就可以了
然后再上传一句话木马
连接即可
总结:
151 152:js验证+MIME
153:JS+.user.ini
154 155:js+.user.ini+短标签
156:js+.user.ini+()替换成{}+短标签
157 158 159: js+.user.ini+过滤+短标签
160:js+文件日志包含+.user.ini+过滤+短标签+UA头写后门代码
160:js+文件日志包含+.user.ini+过滤+短标签+文件头检测+UA头写后门代码