同程酒店 User-Dun 逆向复盘
文章目录
- 声明
- 我测试账号被封了!!!
- 1. 先确认目标页面不是登录态
- 2. 静态 HTML:页面首屏其实没列表数据
- 3. 找到 dun 脚本和业务接口
- 4. 第一次直连接口:`-99`,不是没数据
- 5. 隔离无痕抓包:真实请求长什么样
- 6. 定位签名调用:`h5sign.sign`
- 7. 最小运行环境:不要补全浏览器,补必要项
- 8. 为什么第一次会“没数据”
- 第一层:HTML 本来就没列表
- 第二层:接口直连缺签名
- 第三层:只复制 Cookie 不稳定
- 9. 本次逆向的关键经验
- 9.1 先区分“页面能打开”和“数据能拿到”
- 9.2 `error=false` 不等于成功
- 9.3 签名有“页面级”和“接口级”
- 9.4 GET 签名要用前端同款 query string
- 9.5 不要拿登录态乱试
- 10.小结
声明
本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除!
我测试账号被封了!!!
目标页面:
https://www.ly.com/hotel/hotellist?city=321&inDate=2026-06-07&outDate=2026-06-08目标参数:
user-dun
目标接口:
https://www.ly.com/tapi/v2/list环境约束:无痕、非登录。
这次逆向的主题很朴素:酒店列表页浏览器能打开,接口自己请求却没数据。乍看像接口参数没拼对,细看才发现是门口还有一位很认真负责的“验票员”:c。
至于为啥要无痕、非登录,因为。。。
