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数组定义方法
Sep 10 Javascript
推荐11款jQuery开发的复选框和单选框美化插件
Aug 02 Javascript
jquery动态更换设置背景图的方法
Mar 25 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
仅30行代码实现Javascript中的MVC
Feb 15 Javascript
Highcharts入门之基本属性
Aug 02 Javascript
更靠谱的H5横竖屏检测方法(js代码)
Sep 13 Javascript
Jquery 整理元素选取、常用方法一览表
Nov 26 Javascript
js实现手机发送验证码功能
Mar 13 Javascript
vue动态子组件的两种实现方式
Sep 01 Javascript
基于Vue全局组件与局部组件的区别说明
Aug 11 Javascript
canvas实现贪食蛇的实践
Feb 15 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+Tidy-完美的XHTML纠错+过滤
2007/04/10 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
2013/11/07 PHP
在php中设置session用memcache来存储的方法总结
2016/01/14 PHP
PHP如何搭建百度Ueditor富文本编辑器
2018/09/21 PHP
jquery提升性能最佳实践小结
2010/12/06 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
JS判断来路是否是百度等搜索索引进行弹窗或自动跳转的实现代码
2016/10/09 Javascript
原生js实现秒表计时器功能
2017/02/16 Javascript
three.js绘制地球、飞机与轨迹的效果示例
2017/02/28 Javascript
Jquery中.bind()、.live()、.delegate()和.on()之间的区别详解
2017/08/01 jQuery
vuex的使用及持久化state的方式详解
2018/01/23 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
jQuery实现全选、反选和不选功能的方法详解
2019/12/04 jQuery
JavaScript函数重载操作实例浅析
2020/05/02 Javascript
[03:00]2014DOTA2国际邀请赛 Titan淘汰潸然泪下Ohaiyo专访
2014/07/15 DOTA
[01:02:06]LGD vs Mineski Supermajor 胜者组 BO3 第二场 6.5
2018/06/06 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python 处理数据的实例详解
2017/08/10 Python
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
Python3使用pandas模块读写excel操作示例
2018/07/03 Python
Flask框架信号用法实例分析
2018/07/24 Python
python爬虫增加访问量的方法
2019/08/22 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
解决Keras中Embedding层masking与Concatenate层不可调和的问题
2020/06/18 Python
CheapTickets泰国:廉价航班,查看促销价格并预订机票
2019/12/28 全球购物
英国时尚高尔夫服装购物网站:Trendy Golf
2020/01/10 全球购物
美国优质宠物用品购买网站:Muttropolis
2020/02/17 全球购物
日语翻译个人求职的自我评价
2013/10/14 职场文书
大学新生欢迎词
2014/01/10 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
毕业生实习证明
2014/09/19 职场文书
感谢师恩主题班会
2015/08/17 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
Spring Security动态权限的实现方法详解
2022/06/16 Java/Android