首页
社区
课程
招聘
[原创]Http post 实现自动登录网站
发表于: 2010-6-15 16:11 5205

[原创]Http post 实现自动登录网站

2010-6-15 16:11
5205

作者:ssLong  QQ:253651745
使用Http post提交表单 实现登录网站功能

首先使用抓包工具得到网站登录时提交的post数据 例如抓到的登录校内网441K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3W2H3k6%4N6Q4x3X3g2F1k6i4g2Q4x3X3g2W2k6s2g2Q4x3X3g2U0L8W2)9J5c8W2!0q4y4#2)9&6b7g2)9^5y4q4!0q4y4W2)9&6y4g2!0n7x3q4!0q4y4W2)9^5c8q4!0m8c8g2!0q4y4g2!0m8y4W2)9^5x3W2!0q4y4q4!0n7z5q4)9^5b7W2!0q4c8W2!0n7b7#2)9&6b7b7`.`.
POST /ipgw/ipgw.ipgw HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/x-silverlight, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, */*
Referer: 3dfK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3W2H3k6%4N6Q4x3X3g2F1k6i4g2Q4x3X3g2W2k6s2g2Q4x3X3g2U0L8W2)9J5c8R3`.`.
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; 360SE)
Host: ipgw.neu.edu.cn
Content-Length: 70
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: JServSessionIdipgw=ikac52afz1

uid=你的用户名&password=你的密码&range=2&operation=disconnect&timeout=1

可以看到用户名和密码

因此可以模拟 一个登录的程序如下:
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;
using System.Web;

namespace CheckWeb
{
    class CUsrPassword
    {

        /// <summary>
        /// 使用用户名和密码登录strUrl
        /// </summary>
        /// <param name="strUrl">post的网址</param>
        /// <param name="strUser">用户名</param>
        /// <param name="strPassword">密码</param>
        /// <returns>true 登录成功</returns>
        public static bool PostUserPassword(String strUrl, String strUser, String strPassword)
        {
         
            try
            {
                strUrl = "a75K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3W2H3k6%4N6Q4x3X3g2F1k6i4g2Q4x3X3g2W2k6s2g2Q4x3X3g2U0L8W2)9J5c8X3W2H3k6%4N6Q4x3V1k6A6M7r3N6%4i4K6u0W2K9i4m8Y4N6H3`.`.";  //必须为提交的路径
                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strUrl);
                String sendData = "uid=你的用户名&password=你的密码&range=2&operation=connect&timeout=1";  //待发送的数据
                ASCIIEncoding encoding = new ASCIIEncoding();
                byte[] requestBytes = encoding.GetBytes(sendData);// System.Text.Encoding.Default.GetBytes(sendData);
                req.Method = "POST";
                req.Referer = "2b7K9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8X3W2H3k6%4N6Q4x3X3g2F1k6i4g2Q4x3X3g2W2k6s2g2Q4x3X3g2U0L8W2)9J5c8R3`.`.";
                req.ContentType = "application/x-www-form-urlencoded";
                req.ContentLength = requestBytes.Length;
                req.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.1124)";
                Stream requestStream = req.GetRequestStream(); //获得输出流
                if (requestStream == null)
                {
                    String str = "failed";
                }
                requestStream.Write(requestBytes, 0, requestBytes.Length); //向目标地址写入编码后的数据
                requestStream.Close(); //关闭流

                //接收返回参数到string backstr
                HttpWebResponse res = (HttpWebResponse)req.GetResponse();
                StreamReader sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
                String backstr = sr.ReadToEnd();
                sr.Close();
                res.Close();
            }
            catch (Exception exp)
            {
                String str = exp.Message;
            }
      

            return true;
        }
    }
}


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 306
活跃值: (85)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
2
mark...
2010-6-15 20:28
0
游客
登录 | 注册 方可回帖
返回