C/C++教程

[SUCTF 2019]EasySQL 1

本文主要是介绍[SUCTF 2019]EasySQL 1,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

方法一

尝试很多常规的注入方法都不行。
想到使用堆叠注入
查询下数据库
堆叠注入
查询数据表
数据表
1;show columns from Flag;#
尝试查看flag中数据,失败。
失败
之后看了WP,发现代码中语句是这样的,select $_GET['query'] || flag from flag,"||"在mysql中表示或,如果前一个操作数为真,则不看后面的语句,构造payload:*,1

sql=select.post['query']."||flag from Flag";
如果$post['query']的数据为*,1,sql语句就变成了select *,1||flag from Flag,
就是select *,1 from Flag,这样就直接查询出了Flag表中的所有内容。

拿到
select 1 from,会返回每一行都为值1的数据,这将方便数据库进行统计。具体讲解

方法二

通过设置sql_mode=pipes_as_concat将 ‘ || ’ 改为字符串连接符。
payload:1;set sql_mode=PIPES_AS_CONCAT;select 1
fangfaer
详细mode配置链接

这篇关于[SUCTF 2019]EasySQL 1的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!