以前挖掘XSS只会测试所有的参数(非DOM型),最近在学习PHP发现原来没有参数时,也可以触发XSS
0x01 文档
0x02 利用
_FILE_常量包含当前文件的<font color=red size=4> 完整路径和文件名 </font>(基于document root)
可以利用如图这种方式,将HTML与PHP代码写入同一个文件中
此时却存在XSS漏洞,构造如图Payload:
可以看到即使没有参数时,也可能存在XSS漏洞
0x03 防御
可以使用$_SERVER['REQUEST_URI']来替代$_SERVER['PHP_SELF']
因为$_SERVER['PHP_SELF']会对网址执行一次urldecode操作,而$_SERVER['REQUEST_URI']则不会