首页 > 数据库 >[SUCTF 2019]EasySQL 1

[SUCTF 2019]EasySQL 1

时间:2024-11-08 18:44:52浏览次数:5  
标签:SUCTF 语句 查询 EasySQL Flag 2019 sql post select

[SUCTF 2019]EasySQL 1

根据题目所得是个sql注入题,尝试万能密码

image-20241104224938271

显示不对,说明存在输入过滤,尝试堆叠注入

1;show databases;

成功显示数据库列表,并且发现数据库ctf

image-20241104225106334

查询数据表,查询出表Flag

1;use ctf;show tables;

image-20241104225316563

尝试select * from Flag;发现出现错误

image-20241104225549140\

思考其sql语句为

select post输入框内容 from Flag;

*所以尝试修改输入框的内容为 ,无报错,但是也无任何回显

image-20241104230112688

猜测查询是使用的sql语句是或(||)回显(如果前一个操作数为真,则不看后面的语句):

select post输入框内容 || flag from Flag;

构造payload:

*,1

获得flag

image-20241108174633797

tips.

这里的原理是

sql="select post[‘query’] ||flag from Flag";

如果$post[‘query’]的数据为*,1,sql语句就变成了
select *,1||flag from Flag

就是select *,1 from Flag,这样就直接查询出了Flag表中的所有内容。

这里说一下我的理解

这里输入*,1,这里会增加一个临时列,他的列名为1,然后那一列的值都为1。

当我们只关心数据表有多少记录行而不需要知道具体的字段值时,类似“select 1 from tblName”是一个很不错的SQL语句写法,它通常用于子查询。这样可以减少系统开销,提高运行效率,因为这样子写的SQL语句,数据库引擎就不会去检索数据表里一条条具体的记录和每条记录里一个个具体的字段值并将它们放到内存里,而是根据查询到有多少行存在就输出多少个“1”,每个“1”代表有1行记录,同时选用数字1还因为它所占用的内存空间最小,当然用数字0的效果也一样。在不需要知道具体的记录值是什么的情况下这种写法无疑更加可取。

标签:SUCTF,语句,查询,EasySQL,Flag,2019,sql,post,select
From: https://www.cnblogs.com/tazmi/p/18535672

相关文章

  • [RoarCTF 2019]Easy Calc 1
    [RoarCTF2019]EasyCalc1打开实例发现是个计算器查看源代码看见设置了WAF的提示,并看见计算器的请求方法,注意到calc.php页面访问calc.php页面,查看到逻辑处理源代码,根据代码显示,确定这是一道RCE题,blacklist为黑名单过滤数组,总结:绕过数组就可以任意代码执行传递num=ls,发现......
  • [极客大挑战 2019]Http 1
    [极客大挑战2019]Http1代码审计发现页面Secret.php访问后显示页面,判断这题为头信息伪造Hackerbar梭哈,最终payload为GET/Secret.phpHTTP/1.1Host:node5.buuoj.cn:25132User-Agent:SycloverAccept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0......
  • [极客大挑战 2019]HardSQL 1
    [极客大挑战2019]HardSQL1打开实例,发现是个登陆页面,查看源代码,发现又是GET提交check.php万能密码尝试不太行,怀疑字段或者空格被过滤,尝试闭合不加其他东西确认空格、union、and等都被过滤了,尝试加个括号并未出现你可知被我速住了,臭弟弟字样,()未被过滤吧,尝试采用upda......
  • [极客大挑战 2019]BuyFlag 1
    [极客大挑战2019]BuyFlag1打开实例发现pay.php页面,有提示信息打开源码发现passwordpost提交逻辑burpsuite抓包传参,传入money和password参数,这里password是==弱比较,所以加个字符就可以绕过password=404a&money=100000000回显发现并没有变化注意到学生需要CUIT(Only......
  • [强网杯 2019]随便注 1
    [强网杯2019]随便注1万能密码上一波,回显成功,判断为'闭合注入?inject=1'or1=1--+(?inject=1unionselect1,2,3)union尝试,根据回显,发现存在字段过滤,过滤了select包括where等操作/select|update|delete|drop|insert|where|\./i尝试闭合堆叠?inject=1';showdat......
  • [极客大挑战 2019]Upload 1
    [极客大挑战2019]Upload1打开实例为文件上传页面,代码审计,发现为php文件,采用php马采用bp抓包修改后缀绕过,上传一句话木马<?phpphpinfo();@eval($_POST['cmd']);?>回显错误,显示不能为php,存在文件类型过滤尝试采用phtm文件包含php绕过显示非image文件尝试采用GIF89......
  • [极客大挑战 2019]Secret File 1
    [极客大挑战2019]SecretFile1代码审计发现页面/Archive_room.php访问页面点击SECRET按钮,bp抓包发现302重定向,附带一个注释页面secr3t.php访问secr3t.php,代码审计访问flag.php,发现一个贱贱的页面,确认是文件包含看不到页面且禁用../等参数,考虑用php的base64回显,paylo......
  • [极客大挑战 2019]PHP 1
    [极客大挑战2019]PHP1打开文件发现提示信息“备份文件”,查看源码并未发现其他有效信息采用dirsearch爆破目录,找到www.zip文件解压zip,发现是源码泄露提交flag,发现不正确,看到index.php源码中有Get传参,然后反序列化函数unserialize(),判断为反序列化漏洞;查看class.php可......
  • [极客大挑战 2019]LoveSQL 1
    [极客大挑战2019]LoveSQL1代码审计,发现表单方式为get提交到check.php万能密码admin'or1=1#登录成功,这边我以为密码就是flag,结果并不是,结合题目信息,猜想这应该是根据账号密码的注入尝试闭合?username=admin'and1=1%23&password=d3c9cf30a12d1f13d4f778859fb16f73正......
  • Microsoft Office 2019 (office全家桶)for Mac/Windows电脑安装包
    MicrosoftOffice2019forMac(Office全家桶)是一款功能全面且强大的办公软件套件,专为Mac用户设计。Mac苹果电脑下载:Office2019(含激活秘钥)Windows电脑下载:Office2019(含批量许可)    以下是其主要特点和优势:一、界面设计采用了Mac系统的设......