Curl登录与散列或随机隐藏代码


Curl login with hash or random hidden codes

我试图登录到一个网站,从那里我想发送一个消息与可用的形式那里。它看起来像

<form method="POST" action="pm.php">
    To: <input type="text" name="user" />
    <input type="hidden" name="pm_tid" value="ef0gjpmgwag5g21agjg" />
    <input type="hidden" name="box" value="new" />
    Subject: <input type="text" name="subject" />
    message:  <textarea name="text"></textarea>
    <input type="submit" value="Send" />
</form>

我设法进入登录并进入message send form页面,但在该html代码中,您可以看到有一个隐藏的随机哈希值,每次重新加载后都会发生变化。我想得到正确的和张贴的形式。只有这样我的信息才会被发送出去。请不要说这是不可能的。这是可能的。我的一个同学成功了,但他没有帮助我。

这看起来像CSRF保护。通常的实现是将令牌存储在cookie中(如果使用了会话令牌cookie,则存储在服务器会话中),然后将其与表单中的令牌进行比较。

你需要:

  1. 请求包含表单
  2. 的HTML文档
  3. 存储您同时获得的cookie(假设它们与表单一起提供)
  4. 解析html以从输入
  5. 获取令牌
  6. pm.php发出请求,包括令牌和cookie