如何通过HTTP标头进行XSS,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
在某些情况下,未正确清除在应用程序的HTTP标头之一中传递的信息,并将其输出到请求的页面中的另一端或另一端,从而导致XSS情况。
但是不幸的是,一旦攻击者无法让受害者在实际的XSS攻击中编辑自己的HTTP标头,那么只有在攻击者的有效载荷仍然以某种方式存储的情况下,才能利用这些情况。
我们可能想到的第一种情况是经典的情况:我们可以控制的HTTP标头中的某些信息被存储在数据库中,并随后在同一页面,应用程序中的其他任何地方甚至在另一个不可访问的系统中检索到
练习:
https://brutelogic.com.br/lab/header.php
我们所有的请求标头都以JSON格式显示在此处。这是一种推断,在现实世界中,它可能只出现其中的一种或两种。这只是为了简化代码,因为代码是一种单行代码(PHP),可以轻松重现:
<?= json_encode(getallheaders())。” \ n”;
如下所示,在命令行中使用带有-i标志的curl,它向我们显示了响应的HTTP标头以及JSON构成我们的请求标头。
由于我们在此博客中使用的WAF提供了最后一个标头“ x-sucuri-cache”,因此我们需要在URL中添加一些内容来避免缓存,因为该标头的值为“ HIT”,这意味着它即将到来从WAF的缓存中。
成功,响应中反映了我们的虚拟标头对“ Test:myValue”。让我们更改“避免缓存字符串”以发出另一个请求,否则下一个将返回带有“ lololol”字符串的最后一个缓存响应。
提出了另一个请求(在“ date”标题处检查时间),但似乎没有什么区别。这是因为缓存基于MISS-MISS-HIT方案,因此下一个将起作用。
我们在以下页面中共享了类似的练习:
https://brutelogic.com.br/lab/welcome.php
小#XSS锻炼你!https://t.co/y7vB13iP8U提示:使用自定义URL。
它的工作原理很像我们刚才解释的那样。XSS所需要的只是猜测入口点。
该页面的源代码如下,因此我们可以轻松地找到解决方案。
#hack2learn
看完上述内容,你们掌握如何通过HTTP标头进行XSS的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。