通常我们的开发人员在开发过程中会特别注意到防止恶意用户进行恶意的注入操作,因此会对传入的参数进行适当的过滤,但是很多时候,由于个人对安全技术了解的不同,有些开发人员只会对get,post这种方式提交的数据进行参数过滤。

但我们知道,很多时候,提交数据并非仅仅只有get\post这两种方式,还有一种经常被用到的方式:request("xxx"),即request方法

通过这种方法一样可以从用户提交的参数中获取参数值,这就造成了cookie注入的最基本条件:使用了request方法,但是注入保护程序中只对get\post方法提交的数据进行了过滤。

【检测方法】:(本方法适用于asp程序,但对于jsp\php等语言来说,原理同样适用,稍稍贴合相应语言特性进行修改即可)

1、首先找到传参地址:

asp?id=xxx(例如:http://www.example.com/news.asp?id=1)

2、去掉参数,访问该url

http://www.example.com/news.asp?

如果页面访问不正常,则说明该参数id是访问页面所必需的的参数,可以尝试继续注入。

3、记录并清空当前浏览器地址栏中的地址,在其中输入

javascript:alert(document.cookie="id="+escape("xxx"));
//这里的xxx就是上一步中id=xxx中的参数值

4、再浏览器地址栏中输入原来的url地址(注意,这里输入的是不带参数值的url,如下):

http://www.example.com/news.asp?

按下回车,访问该url,如果发现页面正常显示了,到此可以证明,我们正在接受的页面存在request方法获取参数,可能存在cookie注入的风险

【利用方法】:手工检测到可能存在cookie注入时,我们就可以通过常规注入方法来进行注入了

1、清空地址栏,输入我们的写cookie代码:

javascript:alert(document.cookie="id="+escape("xxx and 1=1"));

2、使用无参数的url地址访问

http://www.example.com/news.asp?

如果页面正常,我们就可以进行下一步检测。如果这是页面不正常,说明站点管理员已经部署了响应的防御策略,就需要找其他方法注入

3、清空地址,同样的方法写入新的cookie

javascript:alert(document.cookie="id="+escape("xxx and 1=2"));

如果上一次页面正常,这次页面不正常,那么说明存在cookie注入漏洞,可以通过常规方法注入即可,只是cookie注入相对比较麻烦,需要每一次都在浏览器中执行写cookie代码

javascript:alert(document.cookie="id="+escape("xxx 注入语句"));

然后访问不带参数的url地址

http://www.example.com/news.asp?

根据页面提示进行注入即可

cookie注入原理及注入检测的更多相关文章

  1. SQL注入原理及代码分析(一)

    前言 我们都知道,学安全,懂SQL注入是重中之重,因为即使是现在SQL注入漏洞依然存在,只是相对于之前现在挖SQL注入变的困难了.而且知识点比较多,所以在这里总结一下.通过构造有缺陷的代码,来理解常见 ...

  2. SQL注入原理及代码分析(二)

    前言 上一篇文章中,对union注入.报错注入.布尔盲注等进行了分析,接下来这篇文章,会对堆叠注入.宽字节注入.cookie注入等进行分析.第一篇文章地址:SQL注入原理及代码分析(一) 如果想要了解 ...

  3. sql注入原理及解决方案

    sql注入原理 sql注入原理就是用户输入动态的构造了意外sql语句,造成了意外结果,是攻击者有机可乘 SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的 ...

  4. Istio Sidecar注入原理

    概念 简单来说,Sidecar 注入会将额外容器的配置添加到 Pod 模板中.这里特指将Envoy容器注应用所在Pod中. Istio 服务网格目前所需的容器有: istio-init 用于设置 ip ...

  5. SQL注入:HEAD注入

    HEAD注入原理 HEAD注入顾名思义就是在传参的时候,将我们的数据构建在http头部. HEAD注入的使用场景 为什么网站要记录你的ip或者请求头,是为了方便你的二次登陆,区分你的登陆地址和设备,可 ...

  6. cookie注入原理详解(一)

    那我们还是围绕以下几个问题来看看cookie注入: 1.什么是cookie注入? 2.为什么要cookie注入? 3.怎样cookie注入? 1.什么是cookie注入? ♦cookie注入的原理是: ...

  7. cookie注入原理

    cookie注入原理-->红客联盟 http://www.2cto.com/article/201202/118837.html 前言: document.cookie:表示当前浏览器中的coo ...

  8. 菜鸟详细解析Cookie注入原理

    一.SQL注入原理 我以aspx为例,现在我们来研究下Cookie注入是怎么产生的,在获取URL参数的时候,如果在代码中写成Request[“id”],这样的写法问题就出现了.我先普及下科普知识,在a ...

  9. 网络对抗课题4.3.1 SQL注入原理与实践

    网络对抗课题4.3.1 SQL注入原理与实践 原理 SQL注入漏洞是指在Web应用对后台数据库查询语句处理存在的安全漏洞.也就是,在输入字符串中嵌入SQL指令,在设计程序中忽略对可能构成攻击的特殊字符 ...

随机推荐

  1. selenium+python—实现自动化测试基本思路

    测试是一个贯穿于整个开发过程的连续过程,测试最基本的原理就是比较预期结果是否与实际执行结果相同,如果相同则测试成功,否则测试失败. 为了让单元测试代码能够被测试和维护人员更容易地理解,最好的解决办法是 ...

  2. CentOS 6.3编译安装LAMP环境笔记

    转载地址:http://www.jb51.net/article/54969.htm 最近抽空在虚拟机上测试成功了LAMP各个最新版本的整合编译安装,算是把之前的博文整合精简,以下内容均在CENTOS ...

  3. RabbitMQ学习之(三)_Centos6下RabbitMQ PHP扩展的安装

    安装rabbitmq-c依赖包 yum install libtool autoconf 下载安装rabbitmq-c wget https://github.com/alanxz/rabbitmq- ...

  4. 20145327 《Java程序设计》第一周学习总结

    20145327 <Java程序设计>第一周学习总结 教材学习内容总结 Java根据领域不同,区分为Java SE.Java EE与Java ME三大平台.Java SE是各应用平台的基础 ...

  5. 20145331 《Java程序设计》第7周学习总结

    20145331 <Java程序设计>第7周学习总结 教材学习内容总结 第十二章 Lambda 1.Lambda定义:一个不用被绑定到一个标识符上,并且可能被调用的函数. 2.在只有Lam ...

  6. [翻译]解读CSS中的长度单位

    测量,在WEB设计上是非常重要的.在CSS中有至少10种不同的测量单位.每种单位都有其独特的作用,使用它们,可以使页面,在各种设备上,很好的工作.一旦你熟悉了所有这些单位,你可以更准确地设定元素的大小 ...

  7. django中的分页设置

    1.在控制台中的展示 from django.core.paginator import Paginator iter = 'abcdefghijklmn' inator = Paginator(it ...

  8. Continue SQL query even on errors

    trymysql --force < sample_data.sql Mysql help section says -f, --force         Continue even if w ...

  9. SQL优化的若干原则

    SQL语句:是对数据库(数据)进行操作的惟一途径:消耗了70%~90%的数据库资源:独立于程序设计逻辑,相对于对程序源代码的优化,对SQL语句的优化在时间成本和风险上的代价都很低:可以有不同的写法:易 ...

  10. 位运算 进制转化 STL中bitset用法

    2017-08-17 16:27:29 writer:pprp /* 题目名称:输入十进制以二进制显示 程序说明:同上 作者:pprp 备注:无 日期:2017/8/17 */ #include &l ...