利用cookie信息登录web站点

利用cookie信息登录web站点

 

日常生活中,每当登录一个网站站点、客户端程序都会用到验证方式,账号密码、手机短信验证码登录自己的账号;一年下来我发现以前常用的账号密码登录都在改变为手机短信验证码登录甚至是直接不使用密码仅凭手机验证,我猜想可能是近年来越来越多的企业、用户对安全的注重,为了避免cookie信息的泄露所以也就减少账号密码的使用方式。(这一点我也是根据近年来cookie的变化形式分析的)

但也不是说完全覆盖,账号密码登录在web上还是比较普遍,所以下面就利用已经登录并掌握的cookie信息,直接在另一个浏览器上再次登录从而取消账号密码的输入做一个简单演示。

 

材料:QQ浏览器、火狐浏览器、DVWA靶机。

 

首先:

准备好靶机和浏览器,并且利用了两个浏览器的插件用来截取cookie信息。

靶机获取地址

(顶部白色为:QQ浏览器。顶部墨蓝色为:火狐浏览器。)

 

然后

在QQ浏览器中进入靶机DVWA的login页面,输入admin——password进行登陆,同时使用插件截取cookie。

 

接着

回到firefox,进入到dvwa的login页面,在该页面利用cookie插件替换已存在的cookie,然后在URL栏中去掉login.php在回车。

 

 

 

最后:就可以发现未用登陆账号密码就进入了页面。

 

总结:

             值得注意的是:当对方进行正常logout后,再次使用该cookie是不能成功的。同时在进行替换后须在URL中进行稍许修改,因为所属的cookie不同于一个页面。

我想正因为cookie成了隐私安全的重要一环,所以才有越来越多的各种登陆方式,随机的cookie等等不同形式的验证和保护。

谢谢大家!!!

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
以下是ASP.NET页面代码及其设计: ```html <%@ Page Language="C#" %> <!DOCTYPE html> <html> <head> <title>Cookie 示例</title> </head> <body> <form id="form1" runat="server"> <div> <h1>登录</h1> <asp:Label ID="lblMessage" runat="server"></asp:Label><br /> 用户名:<asp:TextBox ID="txtUsername" runat="server"></asp:TextBox><br /> 密码:<asp:TextBox ID="txtPassword" runat="server" TextMode="Password"></asp:TextBox><br /> <asp:CheckBox ID="chkRememberMe" runat="server" Text="记住我" /><br /> <asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" /> </div> </form> </body> </html> ``` 在这个页面中,我们有一个表单 `form1`,其中包含了一个用户名输入框 `txtUsername`、一个密码输入框 `txtPassword`、一个记住我复选框 `chkRememberMe` 和一个登录按钮 `btnLogin`。在用户输入用户名和密码后点击登录按钮,将触发 `btnLogin_Click` 事件。 接下来是ASP.NET后端代码: ```csharp using System; using System.Web; public partial class Login : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { // 检查是否有保存的Cookie HttpCookie cookie = Request.Cookies["LoginInfo"]; if (cookie != null) { txtUsername.Text = cookie.Values["Username"]; txtPassword.Text = cookie.Values["Password"]; chkRememberMe.Checked = true; } } } protected void btnLogin_Click(object sender, EventArgs e) { string username = txtUsername.Text; string password = txtPassword.Text; // 在这里验证用户名和密码是否正确 if (chkRememberMe.Checked) { // 保存Cookie HttpCookie cookie = new HttpCookie("LoginInfo"); cookie.Values.Add("Username", username); cookie.Values.Add("Password", password); cookie.Expires = DateTime.Now.AddDays(7); // 有效期为7天 Response.Cookies.Add(cookie); } else { // 删除Cookie Response.Cookies["LoginInfo"].Expires = DateTime.Now.AddDays(-1); } // 在这里进行登录操作 // ... } } ``` 在这段代码中,我们首先在 `Page_Load` 事件中检查是否有保存的Cookie,若有则将用户名和密码分别填充到相应的输入框中,并将记住我复选框设为选中状态。 在 `btnLogin_Click` 事件中,我们首先获取用户输入的用户名和密码,并进行验证。如果用户勾选了记住我复选框,则创建一个新的Cookie,将用户名和密码分别添加到该Cookie的 `Values` 集合中,并将其过期时间设置为7天后;否则,直接删除名为 “LoginInfo” 的Cookie。最后,我们可以在这里进行登录操作,比如跳转到另一个页面。 需要注意的是,从安全性角度考虑,我们不应该直接将用户的密码存储在Cookie中,而应该使用加密算法对其进行加密。此外,用户的Cookie信息可能会被修改或伪造,因此我们在使用Cookie时也需要进行一些安全性验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jeromeyoung666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值