这里主要是 ,file://协议支持以file://localhost/etc/hosts的方式访问服务器文件,来绕过开头必须是字母的限制
②easy_web
代码审计,大致思路是通过构造pop链实现class Chu0_write类中的eval函数RCE
首先传参是show_show.show,php变量名只能是数字字母下划线,传进去的变量名会将 , +,.,[等符号转换成_,若变量中有. 号,可以用[替换_后,之后的字符不会再被替换成_
构造的参数是show[show.show
有两个waf
第一个waf1是用urlencode绕过,即不会出现字母字符,注意是对$_REQUEST进行waf判断的,request的顺序:GET<POST,因此绕过的思路只需要同时POST一个相同参数对应数字即可绕过%73%68%6f%77[%73%68%6f%77.%73%68%6f%77=1&chu0=1&name=1&cmd=1
第二个waf2不能出现show,那么用base64-encode --> utf-8 -> utf-16 --> convert.quoted-printable-decode绕过,我们编写个脚本
c o n t e n t = ′ c t f s h o w s h o w s h o w w w w ′ . content='ctfshowshowshowwww'. content=