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的滚动新闻列表
Jun 19 Javascript
js 触发select onchange事件代码
Mar 20 Javascript
jquery ajax分页插件的简单实现
Jan 27 Javascript
angular2使用简单介绍
Mar 01 Javascript
JavaScript实现简易的天数计算器实例【附demo源码下载】
Jan 18 Javascript
原生js 封装get ,post, delete 请求的实例
Aug 11 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
Sep 20 Javascript
angular之ng-template模板加载
Nov 09 Javascript
VueAwesomeSwiper在VUE中的使用以及遇到的一些问题
Jan 11 Javascript
微信小程序通过一个json实现分享朋友圈图片
Sep 03 Javascript
vue中使用WX-JSSDK的两种方法(推荐)
Jan 18 Javascript
Vue实现todo应用的示例
Feb 20 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
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
openflashchart 2.0 简单案例php版
2012/05/21 PHP
关于使用coreseek并为其做分页的介绍
2013/06/21 PHP
php+ajax实现无刷新的新闻留言系统
2020/12/21 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
bindParam和bindValue的区别以及在Yii2中的使用详解
2018/03/12 PHP
PHPStorm 2020.1 调试 Nodejs的多种方法详解
2020/09/17 NodeJs
PHP实现chrome表单请求数据转换为接口使用的json数据
2021/03/04 PHP
ExtJS 工具栏 分页事件参数
2010/03/05 Javascript
JavaScript高级程序设计 阅读笔记(二十) js错误处理
2012/08/14 Javascript
javascript跑马灯悬停放大效果实现代码
2012/12/12 Javascript
圣诞节Merry Christmas给博客添加浪漫的下雪效果基于jquery实现
2012/12/27 Javascript
基于gulp合并压缩Seajs模块的方式说明
2016/06/14 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
JS数组排序方法实例分析
2016/12/16 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
jquery实现自适应banner焦点图
2017/02/16 Javascript
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
vue表单数据交互提交演示教程
2019/11/13 Javascript
JS运算符简单用法示例
2020/01/19 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
Openlayers实现图形绘制
2020/09/28 Javascript
vue3.0 自适应不同分辨率电脑的操作
2021/02/06 Vue.js
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
python游戏地图最短路径求解
2019/01/16 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
python3对接mysql数据库实例详解
2019/04/30 Python
Python @property使用方法解析
2019/09/17 Python
python的pyecharts绘制各种图表详细(附代码)
2019/11/11 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
CSS3中31种选择器使用方法教程
2013/12/05 HTML / CSS
2015年小学图书室工作总结
2015/05/18 职场文书
Win11怎样将锁屏账户头像图片改成动画视频
2021/11/21 数码科技