依赖漏洞路径遍历

极客

【漏洞猎人日记】警惕!依赖漏洞+路径遍历的连环C杀,我的服务器差点裸奔了!

嘿,朋友们!我是你们的老朋友,一个天天在代码堆里“排雷”的苦逼安全工程师,今天咱们不聊那些虚头巴脑的理论,我就想跟大家伙儿掏心窝子讲讲,前阵子我是怎么被依赖漏洞路径遍历这俩“卧龙凤雏”联手给坑惨了的!哎哟喂,现在想起来后背还发凉呢!如果你也觉得安全无小事,那这篇分享你可得瞪大眼睛看好了!

起因?还不是因为我图省事!哼!

事情是这样的,手头一个老项目,为了赶工期,我“机智”地引入了一个第三方压缩包处理库,当时心里还美滋滋的,心想:“这库老牌了,用的人多,肯定稳!” 结果呢?现实直接给我上了血淋淋的一课!

这年头,谁没依赖过几个现成的库啊?但你们知道吗?依赖漏洞就像是你家门锁里藏着的“万能钥匙”,厂家自己都不知道!我这不就撞上了嘛,那个库有个老版本的已知漏洞,我的天,我当时根本没留意版本号,直接用了个旧版的Compress功能,现在想想,我这不是自己给自己“埋雷”嘛!你说气不气人?

我跟你讲,这依赖漏洞可怕在哪儿?它防不胜防啊!你代码写得再花团锦簇,只要底层组件有个“后门”,等于你把家门钥匙挂在门口了!攻击者压根不用硬碰硬,人家直接拿着公开的EXP脚本“滴”一声就进去了,比我还熟门熟路!

暴击!路径遍历是个什么鬼?简直是“穿墙术”!

光有漏洞还不够,这波攻击还是“组合拳”!知道他们利用那个漏洞干了啥吗?路径遍历!听名字挺专业是吧?说白了,就是攻击者利用程序在拼接文件路径时不够严谨的缺陷,在URL里塞了一堆,…好家伙,人家直接在我服务器上“旅游”呢!

我当时排查日志的时候,看到那串 ../../../../etc/passwd 的时候,汗毛都竖起来了!这感觉就像你正在家里看片,突然有个人从你卧室衣柜里走出来跟你说“HI~”一样!那种被“看透底裤”的无力感,真的不想体验第二次!

这段经历我悟了!路径遍历的本质就是信任了不该信任的输入,我以为传进来的是个普通的“压缩包条目名”,哪知道里面藏满了“../../”这种越狱神器!程序呢,像个憨憨一样,不检查、不过滤,直接被牵着鼻子走,把根目录的秘密文件差点抖搂干净了,哎呀,你说咱写程序,不就得像个严格的保安一样吗?谁来都得查身份证!哪能人家给个“通行证”咱就放行啊!

来,咱们撸起袖子看看这可怕的过程:

  1. 攻击者发送精心构造的HTTP请求,download?file=../../../../etc/passwd
  2. 因为我那个带依赖漏洞的库没有对文件条目名进行合法性校验。
  3. 程序接了参数后,直接跟基础目录一拼接,得嘞!直接奔着系统敏感文件去了!
  4. 如果这时候响应里返回了文件内容……完了,BBQ了!

当时我盯着那个返回的 root:x:0:0:root:/root:/bin/bash,心里那叫一个“草泥马”奔腾啊!这路径遍历加上那个漏洞,简直是无缝衔接,一套带走!如果不是我发现得早,差点让攻击者拿到服务器控制权,那可就真的“人设崩塌”了!

怎么办?别慌!血泪教训教你“排雷”!

不过朋友们,咱们搞安全的,总不能在同一个坑里摔两次对不对?这次遭了道,那必须得把“安全基因”刻在骨子里啊!我觉得你们肯定也用各种第三方库,听我一句劝:

  1. 依赖体检不能少:咱写代码前,得像个大夫一样,给项目里的依赖漏洞查查体,没事就扫一扫,看看有没有“心血管疾病”(高危漏洞)!工具一大堆,像什么OWASP Dependency-Check之类的,免费的挺好用,这年头,懒就是在给黑客送人头啊!

  2. 路径必须“洗白白”:涉及到文件操作,尤其是下载或者解压的时候,对传入的路径参数一定要“严防死守”!你敢传?我直接给你洗干净或者PASS掉!最好就是搞个白名单或者规范化一下路径,让那该死的路径遍历无路可走!记住这句话:不校验输入的上线,就是耍流氓!

  3. 权限“最小化”:就算上面俩都防不住,咱也得给服务器进程设个“低保”,别动不动就用最高权限跑服务,那样一旦被攻破,人家就是“满级号”屠新手村啊!限制一下,即使被路径遍历了,他也看不到太多好东西!

哎,这次事件给我整得挺颓废的,但也值了!至少让我明白了,一个依赖漏洞可能只是个“小火苗”,但碰上路径遍历这种“助燃剂”,分分钟就是一场“大火灾”!咱们写代码的时候,真的得抱着“总有刁民想害朕”的心态去写!

好了,今天的“受害者”经验就分享到这里,如果你也遇到过类似的坑,欢迎来吐槽!记住了,网络安全这条路,道阻且长,咱们得并肩作战才行!

哦对了!如果光看文章觉得不过瘾,或者你也想学点真正的“功夫”来防身,甚至想搞点“红队”技巧……嘿嘿,别不好意思!

想学习网络安全的,欢迎加QQ:2836197572 (添加时备注“公众号/博客粉丝”就行)咱们一起交流,一起进步嘛!下次咱再聊点刺激的!


文章内链:

依赖漏洞路径遍历

文章版权声明:除非注明,否则均为咸鱼-即刻攻防原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码