安全学习Week4
Web题实战
1.[极客大挑战 2019]EasySQL
直接用默认密码尝试
再加个‘看看能不能报错
Ok 那就用or’1’=‘1了
成功
2【buu】[极客大挑战 2019]LoveSQL
.用万能密码登陆成功
再爆字段
3个字段
看回显
2,3回显点位
再爆数据库
再爆表
直接查第二个库的列
直接查
3.[极客大挑战 2019]BabySQL
or被过滤
爆字段
Union 和select也被过滤了
那就再双写绕
列数错误
看回显
查版本
查库
From好像也被过滤
爆库
爆表
查ctf库中Flag表的flag列
4.[极客大挑战 2019]HardSQL
发现单引号有报错,而双引号没有,没提示有括号,所以应该是普通单引号闭合的字符注入
爆字段发现被过滤 采用报错注入
得到库名
爆表名
爆列名
爆爆爆
没想到第二段就个}
Nb
5.2019强网杯"随便注"
用select查询库发现被过滤
选择堆叠注入
这个姿势不错
-1';show tables#
查询表
查询表结构
-1';desc `words`#
-1';desc `1919810931114514`#
看见flag 一下紧张还想复制了 最近misc做得多看见flag就想复制
知道在这个库就好办了
用预处理语句+ char() 函数将select的ASCII码转换为select字符串,接着利用concat()函数进行拼接得到select查询语句,从而绕过过滤。或者直接用concat()函数拼接select来绕过。
0’;PREPARE hacker from concat(char(115,101,108,101,99,116), ' * from `1919810931114514` ');EXECUTE hacker;#