0

我正在尝试伪造对使用 c# 编程的站点的发布请求。我使用 WireShark 嗅探我的计算机和服务器之间的通信。

我注意到客户端发送了视图状态数据(以 Base64 编码),我想知道如何在我的请求中伪造它。

我的邮政编码

 public static void sendPostRequest(string responseUri,CookieCollection responseCookies)            
        {
            HttpWebRequest mPostRequest =
                (HttpWebRequest)WebRequest.Create("http://tickets.cinema-city.co.il/webtixsnetglilot/SelectSeatPage2.aspx?dtticks=" + responseUri + "&hideBackButton=1");
            mPostRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36";
            mPostRequest.KeepAlive = false;
            mPostRequest.Method = "Post";
            mPostRequest.ContentType = "application/x-www-form-urlencoded";

            CookieContainer mCookies= new CookieContainer();
            foreach (Cookie cookie in responseCookies)
            {
                mCookies.Add(cookie);
            }
            mPostRequest.CookieContainer = mCookies;
            HttpWebResponse myHttpWebResponse2 = (HttpWebResponse)mPostRequest.GetResponse();  
        }
4

1 回答 1

0

如果您可以“伪造”签名/加密数据,那么您实际上不需要处理虚假帖子 - 只需窃取所有 SSL 流量 :)。

视图状态来自加密页面的原始响应 - 因此您只需解析原始响应(使用 Html Agility Pack)并在发布请求中将该视图状态发送回。

于 2013-08-04T19:03:45.680 回答