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 相关文章推荐
jQuery实现可拖动的浮动层完整代码
May 27 Javascript
javascript判断非数字的简单例子
Jul 18 Javascript
Javascript浅谈之this
Dec 17 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
May 27 Javascript
浅谈JavaScript对象的创建方式
Jun 13 Javascript
jQuery实用小技巧_输入框文字获取和失去焦点的简单实例
Aug 25 Javascript
AngularJs Injecting Services Into Controllers详解
Sep 02 Javascript
如何将 jQuery 从你的 Bootstrap 项目中移除(取而代之使用Vue.js)
Jul 17 jQuery
BootStrap 页签切换失效的解决方法
Aug 17 Javascript
vue 登录滑动验证实现代码
Aug 24 Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 Javascript
Vue使用Element实现增删改查+打包的步骤
Nov 25 Vue.js
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 文件上传系统手记
2009/10/26 PHP
JS中encodeURIComponent函数用php解码的代码
2012/03/01 PHP
PHP file_get_contents设置超时处理方法
2013/09/30 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
PHP使用ajax的post方式下载excel文件简单示例
2019/08/06 PHP
自己的js工具_Form 封装
2009/08/21 Javascript
javascript 时间比较实现代码
2009/10/28 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
创建一个类Person的简单实例
2016/05/17 Javascript
js 博客内容进度插件详解
2017/02/19 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
教你搭建按需加载的Vue组件库(小结)
2019/07/29 Javascript
layui--js控制switch的切换方法
2019/09/03 Javascript
微信公众号H5之微信分享常见错误和问题(小结)
2019/11/14 Javascript
node crawler如何添加promise支持
2020/02/01 Javascript
详细分析Node.js 多进程
2020/06/22 Javascript
在antd Form表单中select设置初始值操作
2020/11/02 Javascript
Django中对通过测试的用户进行限制访问的方法
2015/07/23 Python
使用Python的turtle模块画图的方法
2017/11/15 Python
python实现人脸签到系统
2020/04/13 Python
Python3如何使用多线程升程序运行速度
2020/08/11 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
用python制作个音乐下载器
2021/01/30 Python
pycharm配置安装autopep8自动规范代码的实现
2021/03/02 Python
CSS的background属性及CSS3的背景图片设置总结
2016/06/13 HTML / CSS
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
广州品高软件.net笔面试题目
2012/04/18 面试题
2014大学辅导员工作总结
2014/12/02 职场文书
幽默导游词应该怎么写?
2019/08/26 职场文书