Cookie 注入是怎样产生的


Posted in Javascript onApril 08, 2009

我们来研究一下怎样情况下才会有Cookies注入!如果你学过ASP你应该会知道

Request.QueryString (GET)


Request.Form (POST)

呵,没错,这就是我们用于读取用户发给WEB服务器的指定键中的值!我们有时为了简化代码,会写成
ID=Request("ID")

这样写法是简单了,但问题就来了~~~我们先看WEB服务是怎样读取数据的,他是先取GET中的数据,没有再取POST中的数据,还会去取Cookies中的数据(晕,书上没有这么说,这是和小高交流时才知道~~看来书说的不全~~)

我们再看看防注入系统,他会检测GET和POST中的数据,如果有特殊字符(这里当然是注入字符了)!就禁止数据的提交! 但他没有检测Cookies的数据!问题就来了~~~那我们怎样测试是否有Cookies注入问题~请先看下面的的连接(示例用,所以连接不是真的)
http://www.xxx.com/1.asp?id=123

如果我们只输http://www.xxx.com/1.asp时,就不能看到正常的数据,因为没有参数!我们想知道有没有Cookies问题(也就是有没有Request("XXX") 格式问题),先用IE输入http://www.xxx.com/1.asp

加载网页,显示不正常(没有输参数的原因)之后在IE输入框再输入
javascript:alert(document.cookie="id="+escape("123"));
按回车,你会看到弹出一个对话框 内容是: id=123 之后,你刷新一个网页,如果正常显示,表示是用
Request("ID")
这样的格式收集数据~~~~,这种格式就可以试Cookies注入了在输入框中输入
javascript:alert(document.cookie="id="+escape("123 and 3=3"));
刷新页面,如果显示正常,可以再试下一步(如果不正常,就有可能也有过滤了)
javascript:alert(document.cookie="id="+escape("123 and 3=4"));
刷新一下页面,如果不正常显示,这就表示有注入了~~~如果程序员是用
Request.QueryString

Request.Form
收集数据的话,是没有Cookies注入问题的,因为服务程序是直截从GET或POST中读取数据的,Cookies是否有数据,WEB服务器是不理的,所以是不能利用Cookies注入的!~

Javascript 相关文章推荐
JavaScript学习笔记(十)
Jan 17 Javascript
Javascript 加载和执行-性能提高篇
Dec 28 Javascript
jQuery使用andSelf()来包含之前的选择集
May 19 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
Dec 30 Javascript
jquery.validate提示错误信息位置方法
Jan 22 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
Apr 13 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
Jun 16 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
Jan 17 Javascript
如何通过setTimeout理解JS运行机制详解
Mar 23 Javascript
3分钟了解vue数据劫持的原理实现
May 01 Javascript
ES6对象操作实例详解
May 23 Javascript
javascript 表格排序和表头浮动效果(扩展SortTable)
Apr 07 #Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
Apr 07 #Javascript
javascript 日历提醒系统( 兼容所有浏览器 )
Apr 07 #Javascript
javascript mouseover、mouseout停止事件冒泡的解决方案
Apr 07 #Javascript
javascript 兼容鼠标滚轮事件
Apr 07 #Javascript
javascript 有趣而诡异的数组
Apr 06 #Javascript
在JavaScript中,为什么要尽可能使用局部变量?
Apr 06 #Javascript
You might like
领悟php接口中interface存在的意义
2013/06/27 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php动态绑定变量的用法
2015/06/16 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
JavaScript DOM 学习第五章 表单简介
2010/02/19 Javascript
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
js 有框架页面跳转(target)三种情况下的应用
2013/04/09 Javascript
jQuery对val和atrr("value")赋值的区别介绍
2014/09/26 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
JS鼠标拖拽实例分析
2015/11/23 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
2017/12/16 jQuery
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
如何提升vue.js中大型数据的性能
2019/06/21 Javascript
[01:12:35]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
Python的装饰器用法学习笔记
2016/06/24 Python
详解Python的循环结构知识点
2019/05/20 Python
Python 处理文件的几种方式
2019/08/23 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
浅谈python输出列表元素的所有排列形式
2020/02/26 Python
django admin 添加自定义链接方式
2020/03/11 Python
Python while true实现爬虫定时任务
2020/06/08 Python
python+openCV对视频进行截取的实现
2020/11/27 Python
使用CSS3制作一个简单的Chrome模拟器
2015/07/15 HTML / CSS
Julep官网:美容产品和指甲油
2017/02/25 全球购物
英国在线泳装店:Simply Swim
2019/05/05 全球购物
C#和SQL Server的面试题
2016/08/12 面试题
员工培训心得体会
2013/12/30 职场文书
毕业设计计划书
2014/01/09 职场文书
农民工预备党员思想汇报
2014/09/14 职场文书
2015年七一建党节活动方案
2015/05/05 职场文书
2015重阳节座谈会主持词
2015/07/30 职场文书
人事部:年度述职报告范文
2019/07/12 职场文书
MySql如何将查询的出来的字段进行转换
2022/06/14 MySQL