Javascript 如何发送get表单并接收数据

Javascript 如何发送get表单并接收数据,javascript,php,jquery,html,curl,Javascript,Php,Jquery,Html,Curl,好的,我实际上是一家公司的pentester,我发现在那里的网站上有一个错误,他们生成csrf令牌是因为获取对该页面的请求localhost/csrf token,并以未加密的文本发送csrf令牌 要获得正确的csrf令牌,需要随请求一起发送用户的cookie 我尝试在POC中使用curl来获得请求的结果,即令牌 但是饼干没有随请求一起发送 我发现发送请求的唯一方法是使用普通表单,但我无法得到它的结果 旋度码 $ch = curl_init(); curl_setopt($ch, CURLOPT

好的,我实际上是一家公司的pentester,我发现在那里的网站上有一个错误,他们生成csrf令牌是因为获取对该页面的请求
localhost/csrf token
,并以未加密的文本发送csrf令牌 要获得正确的csrf令牌,需要随请求一起发送用户的cookie 我尝试在POC中使用curl来获得请求的结果,即令牌 但是饼干没有随请求一起发送 我发现发送请求的唯一方法是使用普通表单,但我无法得到它的结果 旋度码

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://localhost/csrf-token");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);


curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'X-Requested-With: XMLHttpRequest'
));
$output = curl_exec ($ch);
curl_close ($ch);
echo $output;
我想要使用的正常get请求是

<form action="localhost/csrf-token" method="get">
<input type="submit" name="submit" value="send">
</form>

我这里的问题是如何获得第二个代码段的结果

curl_setopt($ch, CURLOPT_POSTFIELDS, 'parametsr');
使用此选项可以添加参数

因为您的表单只能发送一个参数

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://localhost/csrf-token");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

 curl_setopt($ch, CURLOPT_POSTFIELDS, 'submit=send');

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'X-Requested-With: XMLHttpRequest'
));
$output = curl_exec ($ch);
curl_close ($ch);
echo $output;
将以表格形式提交请求。 或者在收到请求时更改URL

https://localhost/csrf-token?submit=send

但是,我认为请求还需要cookies来生成令牌

首先:你的课文很难读。请使用一些标点符号,这会大大增加人们愿意帮助你的机会。至于你的问题:把你问题的标题复制到谷歌搜索栏,然后找到答案。如果这没有帮助,让我们知道问题是什么。我使用了新的线路,但网站删除了它们。此外,当然我搜索了谷歌,没有找到任何有用的东西,我仍然需要从用户那里发送cookies作为csrf攻击的一种类型,因此我需要第二个html代码段,但我还需要表单参数不重要的响应,这就是我要说的..当curl在服务器上运行时,他们的请求中没有附加cookie。。因此,它不会为您生成令牌。只有当请求是从启用cookie的浏览器发出的,或者cookie被手动附加到请求中时,url才会返回令牌。