zoukankan      html  css  js  c++  java
  • SQL注入之Sqli-labs系列第十八关(基于错误的用户代理,头部POST注入)

    开始挑战第十八关(Header Injection - Uagent field - Error based

     

    常见的HTTP注入点产生位置为【Referer】、【X-Forwarded-For】、【Cookie】、【X-Real-IP】、【Accept-Language】、【Authorization】;

    (1)HTTP Referer是header的一部分,当浏览器向web服务器发送请求的时候,一般会带上Referer,告诉服务器我是从哪个页面链接过来的,服务器基此可以获得一些信息用于处理。

    (2)X-Forwarded-For:简称XFF头,它代表客户端,用于记录代理信息的,每经过一级代理(匿名代理除外),代理服务器都会把这次请求的来源IP追加在X-Forwarded-For

    (3)Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)

    (4)X-Real-IP一般只记录真实发出请求的客户端IP,看下面的例子,

       X-Forwarded-For: 1.1.1.1, 2.2.2.2, 3.3.3.3
      代表 请求由1.1.1.1发出,经过三层代理,第一层是2.2.2.2,第二层是3.3.3.3,而本次请求的来源IP4.4.4.4是第三层代理
    如果配置了X-Read-IP,将会是:

      X-Real-IP: 1.1.1.1
      所以 ,如果只有一层代理,这两个头的值就是一样的
    (5)Accept-Language请求头允许客户端声明它可以理解的自然语言,以及优先选择的区域方言

    来吧来吧,先看看页面长什么样,看看和之前的也没什么变化,只是这里多了个一个your ip address is:::1

     

    搜嘎,这里估摸着是要记录你每次访问的ip地址,以前看到过uagent注入,翻翻文章,果断有了骚思路。

    先看看源代码

    看到源码后,代码中对uname和passwd进行了check_input()函数的处理,所以在输入uname和passwd上进行注入是不行的,但是在代码中,

    我们看到了$insert="INSERT INTO `security`.`uagents` (`uagent`, `ip_address`, `username`) VALUES (‘$uagent‘, ‘$IP‘, $uname)";将useragent和ip插入到数据库中,那么我们是不是可以用这个来进行注入呢?首先这里要输入正确的账号和密码才能绕过账号密码判断,才能进入处理uagent部分,

    既然这样,我们直接在user_agent中进行测试,加入单引号后出现报错信息,得出如下错误

    猜想在数据中的sql语句为:INSEERT INTO table VALUES('User-Agent','Ip','Username')

    接下来我们尝试在User-Agent的位置进行注入测试,我们修改User-Agnet的值使其符合整个INSERT INTIO 的语法,闭合后就应该为

    INSEERT INTO table VALUES('1' ,1,1)#','Ip','Username'),成功绕过

    接下来了我们利用逻辑运算 1=0 来测试,相当于将sql语句改变成INSEERT INTO table VALUES('1',1,1=0)#','Ip','Username')

     因为1=0的运算结果为False,所以返回一个0,这样的或我们可以用法基于错误的逻辑语句,利用报错函数来进行注入,先来查下数据库

    同样的,获取表名

    获取字段名,这里我做演示就随便获取一条

    获取数据

  • 相关阅读:
    【AS3代码】类的分包
    语句include和require的区别是什么?
    php创建多级目录的函数
    【AS3代码】打砖块
    【AS3代码】弧度的转换
    【AS3代码】是男人就坚持30秒
    每天问女儿的四个问题
    PowerDesigner16生成SQL2005列注释
    做分析师=盖房子【转】
    用gephi自动分析网站链接方式
  • 原文地址:https://www.cnblogs.com/AmoBlogs/p/8677729.html
Copyright © 2011-2022 走看看