关于cookie的跨域问题与XSS的原理与防护

来源:互联网 发布:淘宝客服外包价格 编辑:程序博客网 时间:2024/06/05 00:47

今天开发的一个大学评教的程序,这个urp系统比较特殊,同一域名下登录的需要验证码,有一个其他域名的登录页面是不需要验证码的,于是就从这里开始post 进行curl的模拟登录,具体过程呢是用的我上一篇 一键评教的程序的主体程序。

刚开始的时候是登录成功后直接用获取的cookie抓取评教的列表,但是一直显示没有登录,然后才发现这两个域名不一样。

某域名的cookie是只有这个域名才能获取,当然如果XSS的话除外,咱们最后再说,但是有一个问题是这个教务网域名的cookie为啥另外一个网站可以读取呢,嘿嘿,当然是session了,session是保存到服务器上的,而在前端的标志是有一个名为JSESSIONID的cookie,于是呢,我们下一步就是要获取第二个域名的cookie,我们模拟登录后提取返回页面的header收到一个302重定向,这个重定向是跳转至第二个域名的,于是我们重新curl抓取第二个域名的跳转页面的cookie并保存,这样就可以了。

最后呢说一下Xss,这是一个比较老的漏洞了,也是一个容易忽略的漏洞,这个漏洞呢主要是input输入框的后端验证不严谨,例如,我有一个会员管理系统,这个会员我可以改名字,我改成  <script>alert(document.cookie);</script>,重新刷新一下,如果后台没有过滤掉危险字符的话,会有弹出框,里面是你的cookie,我也可以获取当前页面的url,如果不是弹出框,而是一个post或者get提交的过程,管理员在后台进行浏览会员列表的时候,如果页面有你的名字,就会自动执行这段js代码,会把当前后台的url与cookie发送到接收端,我有了这两样,我就可以进行模拟登录了,当然cookie也有过期的时间,Xss并不是一个直接渗透的方法,但是有时候确是一个比较有效的渗透方法,具体的防护呢直接过滤掉< ,  >这两个字符就OK了,也比较简单。

本文章只是记录,大牛莫嘲笑。