zoukankan      html  css  js  c++  java
  • cookie注入

    0x00:前言

    Cookie的定义是这样的:Cookie是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。通常被用来辨别用户身份、进行session跟踪,最典型的应用就是保存用户的账号和密码用来自动登录网站和电子商务网站中的“购物车”。

    Cookie注入简单来说就是利用Cookie而发起的注入攻击。从本质上来讲,Cookie注入与传统的SQL注入并无不同,两者都是针对数据库的注入,只是表现形式上略有不同罢了。

    要想深入了解Cookie注入的成因,必须要了解ASP脚本中的request对象。它被用于从用户那里获取信息。Request对象的使用方法一般是这样的:request.[集合名称](参数名称),比如获取从表单中提交的数据时可以这样写:request.form("参数名称"),但ASP中规定也可以省略集合名称,直接用这样的方式获取数据:request("参数名称"),当使用这样的方式获取数据时,ASP规定是按QueryString、Form、Cookies、ServerVariables的顺序来获取数据的。这样,当我们使用request("参数名称")方式获取客户端提交的数据,并且没有对使用request.cookies("参数名称")方式提交的数据进行过滤时,Cookie注入就产生了。
    ————————————————

    上面抄别人的~

    我的理解:get和post直接注入无法进行,把参数通过cookie的形式传递。有的URL没有GET参数,但是页面返回正常

    0x01:发现cookie注入

    一:

    1.寻找形如“.asp?id=xx”类的带参数的URL。

    2.去掉“id=xx”查看页面显示是否正常,如果不正常,说明参数在数据传递中是直接起作用的。

    3.清空IE浏览器(其他浏览器没有貌似效果)地址栏,输入“javascript:alert(document.cookie="id="+escape("xx"));”,按Enter键后弹出一个对话框,内容是“id=xx”,之后,你刷新一个网页,如果正常显示,表示是用Request("ID") 这样的格式收集数据~~~~,这种格式就可以试Cookies注入了

    4.重复上面的步骤,将常规SQL注入中的判断语句带入上面的URL:“javascript:alert(document.cookie="id="+escape("xx and 1=1"));” “javascript:alert(document.cookie="id="+escape("xx and 1=2"));”。和常规SQL注入一样,如果分别返回正常和不正常页面,则说明该应用存在注入漏洞,并可以进行cookie注入。

    5.使用常规注入语句进行注入即可。
    二:

    1.确定要尝试cookie注入后

    2.将URL中的参数去掉 变成  http://xxxxxxxx/xxx.asp

    在cookie中添加变量  id 

    3.之后更改cookie id的值即可

    16 and 1=1

    16 and 1=2

    16 order by 10

    .....

    注:这里的cookie的值 要进行URL编码 

    三:

    sqlmap  cookie注入

    sqlmap.py -u "http://xxxxxxxxxxx/shownews.asp" --cookie "id=27" --table --level 2  

  • 相关阅读:
    C# 控制反转
    控制反转和依赖注入
    C#中使用AOP
    jquery ajax
    python(7)- 小程序练习:循环语句for,while实现99乘法表
    007所谓性格与条件并不是成功的阻碍,懦弱才是
    006学习有可能速成吗
    005自学与有人带着哄着逼着学的不同在于自学是一种成熟的自律
    005单打独斗意味着需要更好地管理自己
    004真正的教育是自我教育,真正的学习是自学
  • 原文地址:https://www.cnblogs.com/liqik/p/12359195.html
Copyright © 2011-2022 走看看