我试图登录到一个网站,从那里我想发送一个消息与可用的形式那里。它看起来像
<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,则存储在服务器会话中),然后将其与表单中的令牌进行比较。
你需要:
- 请求包含表单 的HTML文档
- 存储您同时获得的cookie(假设它们与表单一起提供)
- 解析html以从输入 获取令牌
- 向
pm.php
发出请求,包括令牌和cookie