添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

— 从零开始的笔记 —
— cookie 伪静态 中转 —

因为cookie注入与伪静态注入都可以利用到中转注入,所以合在一起说明了
但是对于中转注入的编写,还停留在工具上,并没有自己实践编写,所以这里只是简单提一下。

Cookie注入

前言

一开始看到教程一大篇,以为很高端….结果….还是属于sql注入,而且emmmm很极端啊= =
asp设计的特性使之更容易出现在 .ASP 文件中

  • 服务器使用客户端传递的参数时候,使用的是 Request 对象
  • 专门检查了 Request.QueryString Request.form 中的参数,没有专门检查 Request.Cookies 中的参数
  • 使用参数时,没有详细区分,使用 Request("参数名称")
  • REQUEST :ASP脚本中的request对象。它被用于从用户那里获取信息。
    Request对象的通常使用: request.[集合名称](参数名称)
    request.form(“参数名称”)
    但是request集合名称可以 省略 ,即可以省略from
    若省略,ASP规定是按QueryString(GET)、Form(POST)、Cookies、ServerVariables(服务器变量)的顺序来获取数据的。
    所以request(“id”),程序员实际是想从get或者post中获取,但事实是也可以从cookie中获取,而request.Cookies并没有被过滤,从而导致Cookie注入

    使用方法

    极其简单,把原来在GET或POST中的参数写到cookie中就可以了
    大多数手注教程中都在地址栏中填入类似的js脚本来修改Cookie(自己在火狐浏览器中实践时,浏览器会吞掉 javascript: 需手打)
    javascript:alert(document.cookie="id="+escape("payload"));

  • alert():弹出窗口
  • document.cookie:缓存在本地的Cookies
  • =:实际为添加Cookie不是覆盖全部
  • escape:编码,防止乱码
  • 实际上burpsuite 抓包修改cookie,再 URL编码 ,即可

    伪静态注入

    伪静态技术

    伪静态页面技术:把动态页面的地址转换成以htm或html结尾的地址,看起来是静态的,实际是依然是动态页面。
    通常分为两种形式:

  • 框架伪静态:动态内容链入主框架页面。整个网页URL是一样的。
  • 利用组件把asp、aspx、php等后缀及参数隐藏,显示为htm或html。可以通过访问源页面
  • 伪静态技术的优点:

  • 防止sql注入,隐藏参数,或转变参数使其不容易被直接发现
  • 为了SEO(搜索引擎优化)方便检测抓取,搜索引擎一般不去抓取 ? 之后的内容
  • 伪静态实现方法

    1.PHP的pathinfo实现:利用pathinfo()函数解析url,然后重构
    原URL: http://localhost/index.php?m=Index&a=test
    转化URL: http://localhost/index.php/Index/test
    2.web服务器apache实现:可自己设计,隐藏掉页面名称

    伪静态的apache实现

    利用 Apache的URL重写(mod_rewrite)功能映射。
    详细操作

    真实页面 bbs.itcast.cn/index.php?m=article&id=1
    URL显示页面 bbs.itcast.cn/news/1.html
    Apache 的伪静态规则:
    RewriteRule ^news/([0-9]+)\.html$ index.php?m=article&id=$1 [L]

  • RewriteRule :固定开头
  • ^news/([0-9]+).html$ :这部分是匹配当前的url地址, 也就是伪静态的地址
  • [0-9]+ :表示至少有1个数字,可以是0也可以是无限大
  • index.php?m=article&id=$1 :这里是指向对应的真实地址
  • $1 :配对上面的第一个括号, $2匹配第二个以此类推
  • [L] :L意思是如果此规则匹配,则停止,不在匹配后面的,减少无必要查询 。
  • 伪静态注入

    伪静态的注入和URL的普通GET注入不太相同。
    普通url的get注入的%20(空格),%23(#),+等都可以用;但是伪静态不行,会被直接传递到到url中。
    另外用/**/这个注释符号表示空格。

    http://www.XXXXX.com/vote /5453′/1 报错,
    http://www.XXXXX.com/vote/5453-0/1 返回正常游戏名字 (使用-号,是因为+号会被当做url编码)
    http://www.2cto.com /vote/5453-1/1 返回5452的游戏名字,判断存在注入点
    http://www.xxx.com/page/html/56'/**/and/**/1=1/*.html 正常
    http://www.xxx.com/page/html/56'/**/and/**/1=2/*.html 出错
    

    之后按照正常套路注入

    中转注入

    所谓 中转注入 即在目标与本机之间建立第三方服务器来中转攻击。
    可以是在本地建立一个网站,访问本地网站,让这个网站去访问目标网站然后返回访问结果。

    中转注入在COOKIE注入与伪静态注入中适用的地方在于可以 方便简化注入的步骤

  • COOKIE注入 中,可以用自己建立的网站来转化GET参数为COOKIE,构造访问请求发送给目标网站,之后只在自己建立的网站中修改get参数即可
  • 伪静态注入 中,可以用自己建立的网站来转变URL把对方静态页面的参数再转变为 ?参数=值 的形式,之后只在自己建立的网站中输入get参数即可。
  • 接下来就只要访问自己建立的网站就可以进行下一步攻击。另外有ASP的注入中转生成器可以利用。