**
PASS-01 JS检查
**
①这里是前端JS限制了我们只能上传特点格式的文件 ②这里我们可以在设置里面直接关闭网页的JS ③或者通过抓包的形式,绕过前端验证 ④这里在burp suite中将jpg改成php ⑤这里上传成功 ⑥我们也可以通过抓包的形式来了解文件上传的位置 ⑦通过webhsell管理工具连接到上传的文件
⑧得到flag **
PASS-02 content-type
** ①这一关检验content-type
②将content-type的内容,修改为image/jpeg、image/png、image/gif **
PASS-03 黑名单绕过
** ①这是一关黑名单的过滤 ②前提apache的conf中有以下配置 AddType application/x-httpd-php .php .phtml .phps .php5 .pht
③通过修改后缀名为其中一个,此处修改为phps,上传成功
**
PASS-04 .htaccess
** 同样是黑名单,区别是黑名单的内容更加丰富了,但是并没有添加.htaccess
①首先写好 .htaccess文件并先上传,这里我写了一个自己命名的后缀,如果后门去访问会以php文件的形式执行 ②之后再上传我们写好的webshell ③访问我们上传的wehshell
**
PASS-05 大小写绕过
** 这一关禁止了htaccess,但并没有将后缀名转换为小写,可以通过大小写的方式绕过
①将php改为PhP,上传成功 **
PASS-06
**
这一关源代码没有过滤空格,通过在后缀名后门加上空格,就可以绕过 **
PASS-07
**
这一关源代码没有过滤点,通过在后缀名后门加上点,就可以绕过 **
PASS-08
**
这一关源代码没有过滤::$DATA,利用windows系统特性,在后缀名后面加入,会把之后的数据当成文件流处理,不会检测后缀名.且保持之前的文件名。
**
PASS-09 点 空格 点 绕过
** 这一关源代码中没有写循环,意味着如果去掉了一次点或空格就不会有第二次了 **
PASS-10 双写绕过
** **
PASS-11 00截断
** 截断条件:php版本小于5.3.4,php的magic_quotes_gpc为OFF状态 这里并不能使用%00截断
**
PASS-12 00截断
** **
PASS-13 图片马绕过
** copy 1.jpg /b + testlzl.php /a shell.jpg 直接访问图片并不能把图片当做PHP解析,因此还需要利用文件包含漏洞
**
PASS-14 PASS-15
** 同PASS-13
**
PASS-16 二次渲染绕过
** 写成一个可以绕过二次渲染的图片
**
PASS-17 条件竞争
** 这里是条件竞争,先将文件上传到服务器,然后判断文件后缀是否在白名单里,如果在则重命名,否则删除,因此我们可以上传1.php只需要在它删除之前访问即可,可以利用burp的intruder模块不断上传,然后我们不断的访问刷新该地址即可
**
PASS-18
** 因此也存在条件竞争的问题,不过这题对文件后缀名做了白名单判断,然后会一步一步检查文件大小、文件是否存在等等,因此可以通过不断上传图片马,由于条件竞争可能来不及重命名,从而上传成功
**
PASS-19
** 同00截断
|