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实现图片切换的幻灯片效果源代码
Dec 12 Javascript
js格式化货币数据实现代码
Sep 04 Javascript
EasyUI中实现form表单提交的示例分享
Mar 01 Javascript
微信小程序  生命周期详解
Oct 27 Javascript
详解JS几种变量交换方式以及性能分析对比
Nov 25 Javascript
Web 开发中Ajax的Session 超时处理方法
Jan 19 Javascript
js学习心得_一个简单的动画库封装tween.js
Jul 14 Javascript
jQuery条件分页 代替离线查询(附代码)
Aug 17 jQuery
webpack4的迁移的使用方法
May 25 Javascript
小程序自定义组件实现城市选择功能
Jul 18 Javascript
ES6 迭代器与可迭代对象的实现
Feb 11 Javascript
NUXT SSR初级入门笔记(小结)
Dec 16 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
jQuery垂直多级导航菜单代码分享
2015/08/18 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
2016/08/05 Javascript
jQuery.datatables.js插件用法及api实例详解
2016/10/28 Javascript
EasyUI 结合JS导出Excel文件的实现方法
2016/11/10 Javascript
canvas绘图不清晰的解决方案
2017/02/28 Javascript
微信小程序获取用户openId的实现方法
2017/05/23 Javascript
Vue export import 导入导出的多种方式与区别介绍
2020/02/12 Javascript
js函数和this用法实例分析
2020/03/13 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
[01:02:25]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS VG
2014/05/25 DOTA
python 安装virtualenv和virtualenvwrapper的方法
2017/01/13 Python
Python无损音乐搜索引擎实现代码
2018/02/02 Python
python 获取键盘输入,同时有超时的功能示例
2018/11/13 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
pycharm修改file type方式
2019/11/19 Python
在jupyter notebook中调用.ipynb文件方式
2020/04/14 Python
Python中logging日志记录到文件及自动分割的操作代码
2020/08/05 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
收集的22款给力的HTML5和CSS3帮助工具
2012/09/14 HTML / CSS
HTML5 input新增type属性color颜色拾取器的实例代码
2018/08/27 HTML / CSS
罗兰·穆雷官网:Roland Mouret
2018/09/28 全球购物
美国用餐电影院:Alamo Drafthouse Cinema
2020/01/23 全球购物
个人简历的自荐信
2013/10/23 职场文书
我的求职择业计划书
2014/04/04 职场文书
建筑专业毕业生求职信
2014/09/30 职场文书
学生考试舞弊检讨书
2015/01/01 职场文书
战友聚会致辞
2015/07/28 职场文书
九九重阳节致辞
2015/07/31 职场文书
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android