zoukankan      html  css  js  c++  java
  • sqli~less5-8

    SQL注入--布尔盲注

    布尔盲注:页面只返回True和False两种类型页面。利用页面返回不同,逐个猜解数据

    sql注入操作步骤
    1.判断是否存在注入(判断是否未严格校验)--第一要素
    1)可控参数的改变能否影响页面的显示结果
    2)输入的sql语句是否能够报错,通过数据库的报错我们可以看到数据库的一些语句痕迹
    3)输入的sql语句能否不报错,语句能成功闭合
    2.判断什么类型的注入
    3.语句能否被恶意修改 -- 第二个要素
    4.是否能够成功被执行 --第三个要素
    5.获取我们想要的数据

    less-5操作过程

    1.输入id=1看页面是否发生变化,可以观察到,我们输入的可控字符确实与数据库发生了交互,但是他没有告诉我们我们的登陆结果,而只是you are in......

     2.输入错误的sql语句,例如添加一个单引号,测试

     3.确定一下列数

     

     4.初步推测出sql语句为 select 1,2,3 from 表 where id = ‘?’ limit 0,1.;

    5. 可以直接使用or 使id = -1 为假 ,后边条件为真,利用抓包工具抓包改包,暴力破解出我们想要的东西

      1)获得当前数据库中的第一个表名称,先抓包

       2)将抓到的包,发送到lntruder模块进行暴力破解,选择攻击模式4,利用当前拼接的sql和ascii表,来确定数字对应的ascii字符,从而判断出表名

       3)根据查ascii表和破译出来的数字对应,可以得到第一个表名为email

       4)我们还可以继续破解,得到表中的一些数据。

    less-6操作过程

    1.输入id=1和id=2看看页面是否发生变化

     

     

     依然是you are in.......

    2.我们输入错误的sql语句,例如添加一个单引号,发现单引号没有引起页面的变化

     输入双引号测试

     3.当我们知道他是什么类型的注入的时候,就可以知道如何进行注入,添加注释符,注释掉后边的sql,先判断下一共有几列数据

     4.使用抓包工具,在less5我们破解了第一个表名,接下来我们破解下users表中的第一个username字段的第一行数据

      1)先抓包

       2)将抓到的包发送到lnstrude模块进行暴力破解,Dumb破解成功

    less7操作过程

     1.测试是否能够通过输入可控字符来使页面发生变化(由于08虚拟机上的环境不能够进行文件上传,所以只能用xss的虚拟机上的环境了)

     经过测试,发现是可以的。

    2.输入错误的sql,比如添加一个单引号来使sql产生错误,我们可以看到,他也提示我们sql存在错误,但是并不告诉我们错误是什么,也就没有暴露出一些sql语句的痕迹,这样我们只能进一步猜测。

     3.添加一个注释符,看是否存在错误,我们添加完成注释符之后,还是存在错误。

     4.接下来可以试试添加一个两个括号,当我们添加括号为2个的时候,发现页面回到了正常的情况,由此,我们可以推断,这个sql的闭合是由两个括号和一对单引号来进行闭合的。

     5.使用order by来确定存在几列数据,可以得到存在三列数据

     

     6.使用文件上传,传入一句话木马(虽然他提示存在错误,但是实际上我们已经上传了)

     

     7。接下来就是使用中国菜刀,进行连接

    less-8操作过程

    1.less8和7差不多,唯一不同的是闭合方式为单引号闭合,我们直接利用less5的方式,获取第一个表的名称,结果如下

  • 相关阅读:
    python之面向对象封装,多态
    python之面向对象继承
    python之面向对象类空间问题以及类之间的关系
    python之面向对象初识
    python之包及logging日志
    python之规范化开发
    python之模块Ⅱ
    python之模块Ⅰ
    python函数之闭包及装饰器
    python函数之内置函数
  • 原文地址:https://www.cnblogs.com/pangsong/p/12240150.html
Copyright © 2011-2022 走看看