如何查找填充<input>标签pm_fp值的代码(Firefox工具)
找到填充pm_fp字段值的Firefox开发者工具实操步骤
1. 先阻止页面自动提交,避免来不及调试
页面加载时会立刻执行document.login.submit(),所以第一步要暂停执行:
- 打开Firefox开发者工具(快捷键
F12或Ctrl+Shift+I) - 切换到**调试器(Debugger)**面板,点击顶部的 暂停执行 按钮(⏸️图标),或者按
F8。页面加载到onload事件时会自动暂停,不会直接提交表单。
2. 监听pm_fp元素的属性变更,定位修改代码
直接跟踪字段的修改行为是最直接的方式:
- 切换到**元素(Inspector)**面板,找到
<input type="hidden" name="pm_fp" id="pm_fp">元素 - 右键点击该元素,选择 中断属性变更(Break on attribute changes)
- 回到调试器面板,点击 继续执行(
F8),页面会继续运行,直到pm_fp的value被修改时触发断点,此时调试器会直接跳转到修改该值的代码位置。
3. 排查找不到get_deviceprint()的情况
如果全局搜不到这个函数,大概率是代码被压缩混淆,或者函数是动态加载的:
- 搜索相关关键词:在调试器面板点击右上角的搜索图标(🔍),输入
pm_fp或document.getElementById('pm_fp'),选择 在所有文件中搜索,找到和这个字段赋值相关的代码块。 - 控制台验证函数存在性:切换到**控制台(Console)**面板,输入
window.get_deviceprint并回车,如果返回函数对象,右键点击它选择 在调试器中打开,直接跳转到函数定义处。 - 检查动态加载的脚本:切换到**网络(Network)**面板,勾选 JS 过滤选项,刷新页面,查看所有加载的JS文件,逐个在调试器中打开并搜索相关关键词。
4. 临时修改页面代码,手动控制执行流程
如果以上方法都没生效,可以手动阻止自动提交:
- 在元素面板找到
<body onload="get_deviceprint(); document.login.submit();">,双击onload的属性值,删除document.login.submit(),只保留get_deviceprint();,按回车保存修改。 - 刷新页面,页面不会自动提交,此时可以在控制台手动执行
get_deviceprint(),同时在调试器中设置断点跟踪执行流程。
内容的提问来源于stack exchange,提问作者dainichi
相关产品推荐
相关产品推荐

