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操作excel生成报表全攻略
May 04 Javascript
浅析JavaScript动画
Jun 10 Javascript
js简单实现标签云效果实例
Aug 06 Javascript
基于JavaScript代码实现微信扫一扫下载APP
Dec 30 Javascript
详解JavaScript UTC时间转换方法
Jan 07 Javascript
微信jssdk用法汇总
Jul 16 Javascript
JavaScript 动态三角函数实例详解
Jan 08 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
Oct 25 Javascript
vue2.0.js的多级联动选择器实现方法
Feb 09 Javascript
解决vue自定义指令导致的内存泄漏问题
Aug 04 Javascript
vue $mount 和 el的区别说明
Sep 11 Javascript
JavaScript事件的委托(代理)的用法示例详解
Feb 18 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 Mysql编程之高级技巧
2008/08/27 PHP
PHP学习笔记之二 php入门知识
2011/01/12 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
Laravel find in set排序实例
2019/10/09 PHP
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
下拉列表选择项的选中在不同浏览器中的兼容性问题探讨
2013/09/18 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
Bootstrap面板(Panels)的简单实现代码
2017/03/17 Javascript
使用JavaScript根据图片获取条形码的方法
2017/07/04 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
Vue 2.5 Level E 发布了: 新功能特性一览
2017/10/24 Javascript
初学者AngularJS的环境搭建过程
2017/10/27 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
2019/05/09 Javascript
bootstrap-treeview实现多级树形菜单 后台JSON格式如何组织?
2019/07/26 Javascript
微信小程序实现录音功能
2019/11/22 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
[01:29:31]VP VS VG Supermajor小组赛胜者组第二轮 BO3第一场 6.2
2018/06/03 DOTA
Python实现单词拼写检查
2015/04/25 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
教你用一行Python代码实现并行任务(附代码)
2018/02/02 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
对django layer弹窗组件的使用详解
2019/08/31 Python
Django实现基于类的分页功能
2019/10/31 Python
Python实现计算长方形面积(带参数函数demo)
2020/01/18 Python
Python使用monkey.patch_all()解决协程阻塞问题
2020/04/15 Python
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
网络编辑岗位职责
2014/03/18 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
经营场所证明范本
2015/06/19 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
redis内存空间效率问题的深入探究
2021/05/17 Redis
JavaScript 原型与原型链详情
2021/11/02 Javascript
Go语言实现一个简单的并发聊天室的项目实战
2022/03/18 Golang
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python