本文目录导读:

- 第一步:环境搭建和目标梳理(这步没做好,后面全白搭!)
- 第二步:核心攻击面分析(重点关注这几个地方,容易出大货!)
- 第三步:深入代码审计(别怕读代码,读着读着就有感觉了!)
- 第四步:组合拳打法(单一漏洞太弱,串联起来才致命!)
- 第五步:特征判断与绕过WAF(老鸟才懂的骚操作)
- 总结与建议(过来人的肺腑之言)
Tpshop挖洞思路大公开!从零到一实战经验分享,我踩过的坑都在这了!
嘿,各位白帽老哥们,今天咱们不聊虚的,直接上干货!最近我花了两周时间专门盯着Tpshop这套系统猛挖,说实话,这玩意儿真是让我又爱又恨——爱的是它代码量适中,漏洞点藏得不算深,特别适合练手;恨的是有些坑设计得真隐蔽,差点给我整破防了!不过好在最后收获还行,拿了好几个高危,现在就把我的Tpshop挖洞思路完整捋一遍,希望能给刚入行的兄弟们指条明路哈!
第一步:环境搭建和目标梳理(这步没做好,后面全白搭!)
兄弟们,你们可别嫌我啰嗦啊,Tpshop挖洞思路第一步绝对是环境搭建!我当时图省事,直接在Windows上装的phpstudy,结果后面调试的时候各种报错,气得我直拍桌子!后来老老实实换成了Linux+Docker,这才顺畅了,老版本优先测!特别是2.0.x系列的,那个年代的程序员写代码可“豪放”了,过滤不严那是家常便饭,简直是漏洞宝库!
我一般会先跑一遍目录扫描,把/Application、/Runtime、/Public这些关键路径摸清楚。别急着一头扎进代码里,先看路由结构,Tpshop用的是ThinkPHP框架,虽然做了二次开发,但框架的尿性还在,懂我意思吧?
第二步:核心攻击面分析(重点关注这几个地方,容易出大货!)
这里可要划重点了啊!Tpshop挖洞思路的核心在于找到未授权访问和越权操作,小编我实测下来,这几个地方最容易翻车:
-
用户中心接口:像
/index.php/Home/User/开头的那些方法,好多都只做了登录校验,根本没做权限分级!举个例子,普通用户能不能去调用管理员的接口?你传个user_id参数试试,说不定能看到别人的订单详情嘞,那种感觉就像偷看同桌作业一样刺激! -
支付回调逻辑:啧啧,这块儿简直是重灾区!Tpshop的支付回调校验有时候只验签名不验金额,懂吧?我构造一个1块钱的订单,回调时把金额改成0.01,系统居然能通过!当时我就笑出声了,这不比中彩票还爽?
-
搜索排序注入:商城系统嘛,总得有搜索功能,我拿单引号试了一下,诶?直接报SQL错误了!虽然不像mysql注入那么直接回显,但是通过报错信息能拼出字段名和表前缀,这时候结合Burp Suite的Intruder模块,高效得飞起!
第三步:深入代码审计(别怕读代码,读着读着就有感觉了!)
说实话,以前我也不爱看PHP代码,全是变量套变量,看得头晕,但Tpshop挖洞思路的精髓就在代码审计!推荐用Seay审计工具或者VSCode+PHP Intelephense插件,全局搜索sprintf、where、order这些危险函数调用。
比如我找到一个/index.php/Admin/Goods/del()接口,它接收id[]数组,直接拼进SQL删除语句里,当时我心里咯噔一下,这参数分明是数组,但代码里用的却是implode(',', $_GET['id']),如果我没记错的话,这里根本没做intval转换,这不就是注入点嘛!当时我差点从椅子上跳起来,连喝三口水才平复心情!
第四步:组合拳打法(单一漏洞太弱,串联起来才致命!)
兄弟们,最强的Tpshop挖洞思路不是单点突破,而是多点结合!给我印象最深的一次,是我先在/Home/User/recharge接口发现了一个CSRF漏洞,然后跟后台管理员Ajax接口的越权问题一联动,直接拿到管理员session!当时那种快感,就像玩偷吃零食被妈妈发现却突然变成妈妈一样爽!
具体咋操作的呢?简单说:我构造一个恶意页面,诱导管理员点击,然后偷偷发起充值请求,同时带上我预先抓取的CSRF Token,管理员一打开页面,后台就自动把我的余额从10块变成了9999,整个过程管理员毫不知情,虽然这不算啥高危渗透,但顺着这个思路继续深挖,你就能找到更多隐藏管理功能!这波就叫“以点带面”啊兄弟们!
第五步:特征判断与绕过WAF(老鸟才懂的骚操作)
哈哈哈,这里必须得说,Tpshop挖洞思路还得会跟WAF斗智斗勇!有的站点装了安全狗或云锁,菜刀连不上,SQLMap直接跑不动,但我发现一个规律:Tpshop的过滤函数用的是think_clean,它只默认过滤GET和POST的value值,而Cookie里的参数它管不着!你品,你细品!我把payload塞进Cookie头里,直接绕过了WAF检测,那一刻,我觉得自己就是黑客帝国里的尼奥!
总结与建议(过来人的肺腑之言)
好了兄弟们,洋洋洒洒又写了一大堆,其实Tpshop挖洞思路归根结底就是“耐心”二字!可能有人觉得我这些技巧都是运气,但运气背后其实是我无数次测试失败后积累的经验,如果你现在还没挖到漏洞,别灰心,可能是你的经验还不够,或者你还没遇对目标。
最后的最后,强烈建议大家把本地环境搭好,多去熟悉它的数据库结构,这样你拿到SQL注入点的时候才能快速提取数据,不至于像个无头苍蝇一样乱撞。
行了,今天唠到这儿,我得去喝口快乐肥宅水补补脑子了,下次再跟老哥们分享更多实战经验,不见不散啊!点此阅读更多Tpshop实战教程