docker搜索xxe相关镜像包,然后pull下来,我这里pull的是:rrodrigo/xxelab 镜像包。
启动docker环境,映射到VPS的32776端口
访问
输入注册数据,抓包重放。发现提交数据包采用 xml 格式传递,且邮箱有返回。
这里我们引用外部DTD实体,并且将email的值修改为引用外部实体的值 &file; 因为,返回包会返回email的值,所以返回包会读取我们引用的 /etc/passwd 的值返回给我们,造成了任意文件读取。
这里指定文件/etc/pass